Commit 7caa2ede authored by Kourser's avatar Kourser
Browse files

Repartir à neuf, sans avoir à deviner le nom des volumes

L'installateur savait reprendre une instance existante et refusait de la
casser. Il ne savait pas l'effacer. Or on veut parfois repartir de zéro — un
essai qu'on refait, une machine qu'on recycle — et le faire à la main demande
de connaître « down -v », les deux profils, et le nom des quatre volumes. Ne
pas l'outiller ne protège personne : ça pousse à improviser des « docker
volume rm » un par un, ce qui est plus dangereux que de le proposer.

Ce qu'il montre avant de demander
  Les conteneurs du projet avec leur état, les volumes, et la présence d'un
  .env. Trois choix : reprendre — le défaut, et le cas ordinaire —, tout
  effacer, ou ne rien faire.

Ce qui garde la porte
  L'effacement emporte le journal de la main courante, et le journal est le
  produit : il refuse toute modification, et c'est précisément pourquoi rien
  ne le ramènera. Le script le dit dans ces termes, énumère ce qui meurt, et
  donne la commande de sauvegarde AVANT de demander confirmation — après, elle
  ne servirait plus à rien.

  La confirmation n'est pas un « o » : il faut frapper le nom du projet.
  Toute autre saisie, y compris une entrée vide, abandonne sans rien toucher.

  Les images ne sont pas effacées. Elles se reconstruisent seules, et les
  perdre ne coûterait que du temps — l'effacement doit viser les données, pas
  le confort.

Deux détails qui décident si l'effacement est complet
  Les profils « mobile » et « complet » sont nommés explicitement : sans eux
  le relais survivrait à un nettoyage qui se croit entier.

  Un balayage des volumes du projet suit le « down -v », parce que celui-ci ne
  connaît que les volumes déclarés : un volume laissé par une version
  antérieure de la composition resterait sinon en place, invisible et prêt à
  rendre le prochain démarrage incompréhensible.

  Le .env n'est pas détruit mais déplacé en .env.sauvegarde-* : il porte des
  secrets qui viennent d'ailleurs — la clé d'Apple notamment — et « repartir à
  neuf » n'est pas « perdre ses clés ». Le motif est déjà couvert par
  .gitignore.

Contrôlé
  Sur un projet isolé, avec des volumes leurres : refus de confirmation qui
  laisse tout en place, confirmation correcte qui efface et enchaîne sur une
  installation vierge, « ne rien faire » qui sort sans toucher au .env, et
  « reprendre » qui redonne la main aux deux dialogues existants — celui du
  .env, puis celui de la base déjà initialisée. En français et en anglais. Le
  projet voisin, ses quatre volumes et ses sept conteneurs n'ont pas bougé.

Co-Authored-By: default avatarClaude Opus 5 <noreply@anthropic.com>
parent b73cc10a
Loading
Loading
Loading
Loading