Aller au contenu

SOCLE / Qualité & méthode

PHPUnit

La boîte à tests PHP

01 · Solution

La solution technique

PHPUnit, c’est le standard pour tester en PHP : unitaires, intégration, couverture. Rien d’exotique — et c’est voulu.

Référence absolue, docs stables, branché nativement dans Symfony et la CI. On ne perd personne.

02 · Fiche

PHPUnit : ce que c’est

PHPUnit est le framework de tests unitaires/intégration de référence en PHP. On l’utilise pour verrouiller domaine, services et adapters — branché dans la CI à chaque merge.

PHPUnit, dans le socle Innovation Digitale, ce n’est pas une case à cocher sur une slide commerciale. C’est une brique qu’on assume en production : on sait l’installer, la documenter, la tester, et la transmettre à une autre équipe. Le positionnement « la boîte à tests php » résume le job ; le reste de cette fiche explique comment on l’utilise sur des projets réels — apps métier, APIs, modernisation, automatisation.

Beaucoup d’agences empilent les logos. Nous documentons le pourquoi et le comment. PHPUnit fait partie du socle parce qu’il tient dans le temps : documentation solide, communauté active, écosystème de talents, et une trajectoire qui ne force pas à tout jeter tous les dix-huit mois. C’est exactement le critère qu’on applique quand un client demande un système qui doit encore tourner dans cinq ans.

03 · Fiche

Pourquoi on l’a choisi (et pas une mode)

Référence absolue, docs stables, branché nativement dans Symfony et la CI. On ne perd personne.

Le critère n°1, c’est la stabilité opérationnelle. PHPUnit s’inscrit dans un écosystème où les tests, la régression et la CI sont des sujets documentés, pas des bricolages. Quand un incident arrive à 2h du matin, on veut des patterns connus, des logs lisibles, une communauté qui a déjà croisé le même cas — pas un framework abandonné six mois après le lancement.

Le critère n°2, c’est la documentation et la transmissibilité. Un logiciel qui vous appartient, c’est aussi un logiciel qu’une autre équipe peut reprendre. PHPUnit se recrute, s’audit, se forme. On peut écrire une doc courte, des critères Gherkin, une CI qui reste verte : le savoir ne reste pas dans la tête d’un seul prestataire.

Le critère n°3, c’est l’alignement avec la souveraineté numérique. Open source ou API maîtrisée, hébergement UE/FR possible selon le projet (Scaleway, OVHcloud), code remis au client : PHPUnit n’impose pas une cage propriétaire. On encapsule derrière des ports hexagonaux quand c’est pertinent, pour pouvoir changer de brique sans réécrire le métier.

04 · Fiche

Comment on l’intègre dans un projet iD

Sur un Brief ou un audit build, on part du problème métier — pas de la techno. Ensuite seulement, PHPUnit entre en scène si c’est le bon outil. Exemple typique : une application métier Symfony + React, une API documentée, une base PostgreSQL, une CI (GitHub Actions ou Bitbucket Pipelines), et des tests (PHPUnit, Playwright, Gherkin) qui protègent le cœur du domaine. PHPUnit trouve sa place dans ce puzzle sans forcer le reste.

Concrètement, on pose des frontières : domaine métier au centre, adapters pour l’UI, la BDD, les SaaS externes. PHPUnit peut être au cœur (backend, BDD, méthode) ou en périphérie (observabilité, IA, hébergement). Dans tous les cas, on documente le « pourquoi ce choix » dans le dépôt : un futur mainteneur ne doit pas devoir deviner.

La qualité & méthode n’est pas un chapitre à part. TDD, analyse statique, CI : dès que PHPUnit touche du code ou de l’infra, on le branche dans le pipeline. Vert = on peut livrer. Rouge = on arrête avant la casse. C’est banal à écrire, radical à tenir — et c’est ce qui sépare un POC fragile d’un actif logiciel.

Pour les startups (POC / MVP / scale) comme pour les PME/ETI, le même standard s’applique. On ne « fait pas du PHPUnit pour faire du PHPUnit ». On l’utilise pour accélérer une livraison propre : moins de dette sémantique, moins de double saisie, plus de capacité à évoluer sans tout casser.

05 · Fiche

Quand c’est le bon choix — et quand on passe son tour

PHPUnit est un excellent choix quand le besoin touche tests, régression ou critères métier, et que l’horizon du projet dépasse le trimestre. Si vous devez recruter, auditer, ou transmettre le SI, une brique mainstream et documentée comme PHPUnit réduit le risque opérationnel.

On passe son tour quand un autre outil du socle couvre mieux le cas, ou quand l’existant client impose une contrainte claire (stack imposée, hébergeur, compétences internes). Exemple : on ne force pas PostgreSQL si MariaDB tient déjà la charge et que l’équipe la maîtrise. On ne force pas une usine React pour un site marketing Eleventy. L’honnêteté du discours fait partie de la méthode.

On évite aussi les empilements « parce que c’est moderne ». Ajouter PHPUnit doit résoudre un goulot : perf, clarté du domaine, confiance, conformité, time-to-market. Si le seul argument est le buzzword, ce n’est pas un argument.

06 · Fiche

Stabilité, documentation, communauté

Innovation Digitale choisit des technologies avec une trajectoire longue : versions majeures gérables, guides officiels à jour, issues et discussions publiques. PHPUnit coche ces cases. Ce n’est pas une garantie absolue — rien ne l’est — mais c’est un filtre qui élimine les paris jetables.

La communauté active, ça veut dire des réponses, des packages, des retours d’expérience. Ça veut aussi dire qu’un prestataire suivant pourra reprendre le flambeau. Pour un dirigeant, c’est aussi important que la feature list : la dépendance à une seule personne ou à un éditeur opaque, on la refuse autant que possible.

Côté souveraineté made in France / Europe : selon le rôle de PHPUnit (runtime, cloud, IA, analytics), on privilégie les options UE (Scaleway, OVHcloud, Mistral, PostHog EU) quand le sujet data ou politique l’exige. Le site vitrine iD peut tourner sur Netlify ; vos apps métier, elles, choisissent l’hébergeur adapté.

07 · Fiche

Ce que ça change pour vous

En résumé : PHPUnit dans le socle iD, c’est une garantie de continuité : méthode avant magie. Une brique qu’on explique, qu’on teste, qu’on documente — et que vous possédez avec le reste du code.

Si vous hésitez entre plusieurs options (BDD, front, cloud, IA), le Brief 45 min sert exactement à ça : clarifier le problème, le risque, le périmètre, puis proposer un audit build si le sujet tient la route. La stack suit le besoin — pas l’inverse.

Pour aller plus loin : consultez la documentation et le dépôt officiels ci-dessous, parcourez les autres fiches du socle, et regardez les réalisations (problématique → solution → résultat) pour voir PHPUnit (ou ses cousins) en situation réelle.

Next · Loading

Un outil qui coince ?

Un Brief de 45 minutes, gratuit. On clarifie le périmètre — puis un audit build si ça tient la route.

STATUS: READY SIGNAL: OPEN WHOAMI → BRIEF
Réserver un Brief 45 min