It's probably because of this:
//Cas phares de détresse
else if (digitalRead(PharesDetresse) == HIGH)
{
analogWrite(LEDpin, 255);
delay (100);
analogWrite(LEDpin, 25);
delay (800);
}
If the pin is HIGH, the statement delays 900ms which is "(almost a second approx)".
Pete