PIR sensor and gsm shield problem???

char pompe_on[160] = "Pompeon";
char pompe_off[160] = "Pompeoff";
char vanne_on[160] = "Vanneon";
char vanne_off[160] = "Vanneoff";

Is there some reason you create 160 byte arrays to hold a maximum of 9 bytes each?

I don't know how much SRAM the SoftwareSerial, gsm and sms libraries use, but you are wasting a heck of a lot of a very limited resource.