Tous les articles

« Pourtant ça marchait sur la préprod » : pourquoi cette phrase revient toujours

Un environnement de test avec vingt enregistrements, sans les mêmes réglages ni le même volume, valide seulement que le code se lance.

·2 min de lecture

La recette est passée en préproduction. La mise en production échoue. La phrase qui suit est toujours la même : « pourtant ça marchait sur la préprod ».

C’est exact, et c’est le problème.

Trois écarts qui invalident la recette

Le volume. Vingt enregistrements de test ne révèlent ni l’index manquant, ni la requête en cascade, ni le délai d’attente dépassé à l’export. Ces défauts n’apparaissent qu’au volume réel — et apparaissent donc en production.

La configuration. Le mode de débogage actif, un cache désactivé, une limite mémoire plus haute, un compte administrateur permissif. Chacun de ces écarts masque une classe de problèmes.

Les services externes. Un service de paiement en mode bac à sable accepte des scénarios que le service réel refuse. Une messagerie qui capture tout localement ne teste pas la délivrabilité réelle.

Le volume, sans les données réelles

La solution évidente — copier la base de production — pose un problème immédiat : des données personnelles se retrouvent dans un environnement moins protégé, souvent accessible à plus de monde. C’est un manquement, et il est fréquent.

L’anonymisation à la copie est la réponse : remplacer noms, adresses électroniques et numéros par des valeurs générées, en conservant les volumes, les distributions et les cas limites. Le client avec 4 000 commandes doit rester un client avec 4 000 commandes.

Le point critique concerne les adresses électroniques : une préproduction qui envoie réellement des courriels à de vrais clients est un incident classique, et embarrassant. La règle est de rediriger tout envoi vers une boîte technique, au niveau de l’infrastructure et non de l’application.

Ce qui doit être identique

La version du langage, celle de la base, les extensions activées, le serveur web et sa configuration. Si la production tourne en conteneur, la préproduction utilise la même image, avec seulement des variables d’environnement différentes.

C’est ce que garantit une chaîne de construction unique : l’image validée en préproduction est celle qui part en production, à l’identique.

Ce qui doit différer

Les secrets, les accès aux services externes, et le nom de domaine. Une préproduction accessible publiquement et indexée par les moteurs crée des doublons de contenu et expose des versions non validées.

Un accès restreint, et un fichier interdisant l’exploration — en veillant à ce qu’il ne parte jamais en production, erreur qui rend un site invisible du jour au lendemain.