const int relay1Pin = 8; // PIN 8 pour le relais (Humidificateur)
const int relay2Pin = 9; // PIN 9 pour le relais (Température)
const int humidityRelay1 = 8;
const int heaterRelay2 = 9;
Why do you have two names for the same pins? (The second set of names is better, except for the numbers in the names. One relay controls the heater; one controls the humidifier. The numbers don't mean anything.)
} lcd.setCursor(0, 0);
Please do not put code on the same line as the }.
int H = 75 + 10; // Pour éviter les démarrages fréquents H = 75 + 10%
if (h < 85) digitalWrite(humidityRelay1, LOW); // Si humidité inférieur à 85 Relais1 Fermé
else if (h >= H) digitalWrite(humidityRelay1, HIGH);
I don't see the point in giving the value 85 a name and then not using it. If the humidity is not less than 85, it must be 85 or higher, right? The else if should just be an else.
However, having the humidifier banging on and off when the humidity is about 85 is not a good idea. Typically, you'd turn the humidifier on and one value and off at a different value, where the two values are not too far apart. If the idea is to add humidity, add it if the level drops below 85, but don't stop until the level gets to 87. If the idea is to remove humidity, start removing it when the level rises to 85, but don't stop until it gets to 83.
With all the hardware attached, write a sketch that does nothing more than turn one of the relays on for 1 second and off for 5. Does the relay operate correctly? If so, change the sketch to deal with the other one. Does that one operate correctly? If so, the problem is with the libraries used in this sketch, although I can't see where. If not, you have a hardware problem.