Le test d'abord
Pour chaque fonction, le test qui échoue est écrit en premier. Ainsi, « terminé » est défini clairement dès le départ.
Le Planner est notre propre outil, qui transforme un cahier des charges détaillé en application, sans surveillance. Pour chaque fonction, le test est écrit d'abord, le résultat est contrôlé dans le navigateur face au design, et une porte qualité décide de ce qui avance.
Notre propre produit
| Secteur | Outils et plateformes internes |
|---|---|
| Défi | Structure peu claire |
| Contexte de décision | Évaluation de produit |
| Complexité | Élevée |
| Service | Plateforme |
Si vous vous demandez avec quel contrôle une application peut sortir d'un cahier des charges écrit, cette étude montre comment le Planner travaille, de la première ligne à la livraison, et où la décision finale reste toujours chez vous. Le Planner est notre propre outil : nous citons donc son vrai nom.
Élément | Détail |
|---|---|
Nature | Notre propre produit, avec son nom |
Entrée | Un cahier des charges écrit et le matériel du client |
Deux types de projets | Site (Next.js avec notre propre CMS) et plateforme SaaS (API Laravel et Next.js) |
Règle par fonction | D'abord le test, ensuite le code |
Services qu'il soutient |
Nous construisons des sites et des plateformes pour des organisations qui veulent un résultat prévisible. Dans chaque projet, les mêmes étapes de base reviennent : mise en place, fonctions, tests, contrôle de l'apparence, corrections. Quand elles se font de mémoire, elles varient un peu d'un projet à l'autre. Un outil stable garantit que chaque étape se fait toujours de la même manière.
C'est pourquoi nous avons transformé notre méthode en outil. Le Planner prend un cahier des charges et suit chaque fois le même chemin. Ce n'est pas un modèle qui sort des sites identiques. C'est une procédure qui mène chaque étape à son terme.
Il travaille sur deux types de projets : un site en Next.js avec notre propre CMS comme backend, et une plateforme SaaS avec une API Laravel et Next.js.
Le besoin principal était la constance quand le volume grandit. Un cahier des charges est un long document. Quelque part entre la page 3 et la page 40, une exigence peut être construite un peu autrement, être oubliée ou en affecter une autre. Une personne en repère une partie, une personne fatiguée en repère moins.
Il y avait un deuxième besoin. Un travail automatique sans suivi peut s'écarter de son objectif pendant des heures. Un outil sans surveillance a besoin d'un superviseur et de limites fixes, pour que l'autonomie s'accompagne toujours d'un contrôle.
Quatre contraintes viennent de notre façon de travailler. Le propriétaire du projet décide de ce que lui seul peut décider. L'outil mène son travail à terme, sans cycles sans fin. Les limites sont écrites dans le code. Les données du client ne sont jamais inventées. Voici les détails.
Les limites sont écrites dans le code : au plus 5 sessions par tâche, 3 réparations de la porte qualité, 3 tentatives par tour de contrôle. Quand une limite est atteinte, le sujet est laissé au propriétaire, et l'exécution continue avec le reste.
La dernière contrainte concerne le contenu. Prix, autorisations ou faits viennent du client. Ce que seul le propriétaire peut fournir est réuni dans une liste pour lui, et le texte est écrit pour se lire en entier même sans ces éléments.
La construction automatique devient fiable quand elle couvre trois points. Chaque réussite est prouvée par du code qui a réellement tourné. Chaque correction est suivie d'un nouveau contrôle de tout le reste, pour que rien d'autre ne casse. Chaque tentative a une limite, pour que l'outil ne corrige pas le même point encore et encore.
Il y a aussi un quatrième point : la page dans le navigateur doit ressembler au design convenu. La comparaison se fait à chaque fonction, pas seulement à la fin. Un écart est ainsi corrigé tout de suite, avant de se répéter sur de nombreuses pages.
Chacun de ces points est devenu une règle du Planner. Les sections suivantes montrent comment.
Le Planner suit un chemin fixe, du plan jusqu'aux rapports. Chaque fonction passe par les mêmes étapes : un test qui échoue, le code, la porte qualité, le contrôle dans le navigateur, une revérification indépendante. La liste numérotée ci-dessous montre l'ordre, du cahier des charges aux contrôles finaux de qualité et de sécurité.
Plan : le cahier des charges devient une liste de fonctions avec des critères d'acceptation et des pages.
Contenu : chaque page et chaque article est écrit avant d'être construit.
Pour chaque fonction : d'abord une analyse d'impact, puis un test qui échoue, puis le code qui le fait passer, enfin un nettoyage.
Porte qualité : lint, typecheck, tests, build et tests e2e doivent passer, preuves à l'appui.
Contrôle dans le navigateur : le résultat s'ouvre et se compare au design.
Revérification indépendante de la fonction, puis commit.
Le propriétaire voit et approuve le build avant le début des contrôles. À partir de là, le design est verrouillé : les changements d'esthétique deviennent des propositions au propriétaire.
Contrôles : les agents de qualité et de sécurité passent dans un ordre fixe. Nous les décrivons dans l'étude de cas Agents de qualité et de sécurité.
Deux niveaux surveillent le travail. Un hook à l'intérieur de la session l'empêche de s'arrêter sans preuves. Un superviseur, à l'extérieur de la session, la relance, attend quand les limites d'utilisation sont épuisées, et tient les phases et les limites. Quand il y a un vrai obstacle, il le confie à un arbitre qui décide comment le travail continue.
Il y a six décisions clés : le test d'abord, la preuve plutôt que l'affirmation, un chemin fixe avec des tours fixes, l'approbation du propriétaire avant les contrôles, des tests sur une copie de la base, un CMS en lecture seule. Chacune répond à l'un des points de la section précédente.
Pour chaque fonction, le test qui échoue est écrit en premier. Ainsi, « terminé » est défini clairement dès le départ.
La porte lance de vraies commandes et garde le résultat. Une fonction n'est considérée comme terminée que lorsque les contrôles le prouvent.
Chaque agent de contrôle passe une fois, dans un ordre fixe et avec un nombre précis de tours. Le deuxième tour n'a lieu que si le premier a corrigé quelque chose. Un agent ne repasse que dans sa propre série, pas parce qu'un autre a modifié du code. Ainsi, la procédure se termine toujours.
À ce moment-là, le design est verrouillé. Les contrôles se concentrent sur l'exactitude, pas sur le goût.
Les tests tournent sur une copie, jamais sur la base de contenu. L'outil s'arrête si les deux bases sont la même, pour que le vrai contenu reste exempt de données de test.
Ce qui est trouvé dans le CMS est consigné et corrigé dans son propre dépôt, pas par une modification de fortune dans un seul site.
Le résultat, c'est la constance. Chaque projet suit le même chemin et chaque étape laisse des preuves, sans que rien ne dépende de l'attention de quelqu'un.
Le client reçoit un build où chaque fonction a son test et chaque page a été contrôlée dans un navigateur. Il reçoit aussi un fichier de ce qui a été vérifié, avec une courte liste des décisions qui lui revenaient. Le site repose ainsi sur un chemin contrôlé, pas sur la mémoire de quelqu'un, et reste fiable pendant des années.
Le Planner prend en charge les parties répétitives du travail, pour que le jugement humain se concentre sur les questions qui l'exigent. Pour voir comment un projet avance de la demande à la livraison, lisez la page sur notre processus ou démarrez un projet.
Oui, pour les décisions qui reviennent au propriétaire. Le Planner travaille sans surveillance entre ces décisions. Le propriétaire approuve le build avant les contrôles et décide de ce que lui seul peut décider. Le Planner réunit ces sujets dans une liste et continue avec le reste.
Cela signifie que chaque fonction a un contrôle automatique, écrit avant la fonction elle-même. Si une modification l'affecte plus tard, le contrôle le détecte aussitôt. Ainsi, les problèmes, c'est nous qui les trouvons, avant que vous ne les rencontriez.
Il travaille sur deux types de projets : des sites en Next.js avec notre propre CMS, et des plateformes SaaS avec une API Laravel et Next.js. Pour d'autres technologies, nous en discutons avec vous avant le début du projet.
Envoyez une demande de projet ou vérifiez gratuitement votre site actuel. Nous lisons chaque message nous-mêmes.