Rendre deux boutons poussoirs inactifs

Salut !
À quoi bon rendre les boutons inactifs ? Il suffit de ne plus les tester.
Si après la première pression sur le bouton "valider" tu veux que la carte ne fasse plus rien tant que le bouton n'est pas à nouveau réenclenché, il suffit de mettre

while(digitalRead(VALIDER) == LOW) { //attendre tant que la bouton n'est pas relache apres validation
  ;
}
while(digitalRead(VALIDER) == HIGH) {  //attendre avant la pression du bouton
  if(millis() >= eteindre) { //s'il est temps d'eteindre la lampe
    digitalWrite(LAMPE, LOW); //l'eteindre
    wdt_enable(WDTO_15MS); //Commande de reset
    for(;;);
  }
}
wdt_enable(WDTO_15MS); //Commande de reset
for(;;);
/* A adapter au programme */

après la sélection du temps choisi.

Quelle est la structure du code ? (Où est placé chaque élément ?)
J'aurai fait

//inclusion des librairies
//definition des broches
//definition d'eteindre
void setup() {
  //initialisation des broches
  //selection du temps d'allumage
  eteindre = millis() + temps_d_allumage_en_millisecondes
  //section d'attente
}

void loop() {}

Il se peut que je n'aie pas compris la demande

Pour plus d'infos, voir ce fil de discussion.