Bon finalement.... infobarquee avait partiellement raison, c'était bien un problème de tempo, mais pas sur la partie login

J'ai déplacé ma fonction millis() ici :
case WAIT_INVIT:
if (client.available()) {
char c = client.read();
Serial.print(c);
stringOne+=c;
}
if (!client.connected()) {
Serial.println();
Serial.println("déconnecté....");
client.stop();
Etat = WAIT_CONNECT;
}
if (millis() - lastAttemptTime > requestInterval) { // ici
Etat = RUNNING;
lastAttemptTime = millis();
// ... ici le code pour attendre l'invit de commande"
if(stringOne.endsWith("# ")){
Etat = RUNNING;
}
}
break;
Suivant la longueur de ce que me renvoi la commande, ça marche à tout les coups, par exemple, #date me renvoi une ligne, avec un intervalle de 50Ms ça fonctionne du tonnerre.
Pour #netsat qui me renvoi environ 50 lignes, il faut aller à 5000Ms pour pas avoir de soucis.
La fonction #ls qui me renvoi 8 lignes va bien avec 800Ms.
Ce qui a d'amusant, (quand je dis que j'aime pas la fonction delay() ) c'est que j'ai fait des essai au même endroit avec des delay() de 3 secondes et que cela ne changeait rien au problème.
Je pense que simplement le buffer est saturé et qu'en utilisant delay() on reprend au même taux de saturation..... ou un truc du genre
