Aller au contenu principal

Générer la documentation d'un projet PHP

Générez sans effort une documentation de qualité pour votre code PHP. Ce guide montre comment utiliser l'image Docker phpDocumentor pour créer la documentation en une seule commande.

· 3 minutes de lecture
Voir la source
Christophe
Amoureux de Markdown, WSL et Docker ~ Curieux insatiable.
Cet article existe aussi en anglais — lire la version originale.

Traduction automatique

Cette traduction a été produite par une IA. Elle peut contenir des contresens ou des maladresses, en particulier sur les termes techniques. En cas de doute, consultez l'article de référence en anglais — c'est lui qui fait foi.

Cet article a plus d'un an, mais il a été relu le 30 juillet 2026 — son contenu est toujours exact.

Générer la documentation d'un projet PHP

⚡
TL;DR

Cet article montre comment générer un site de documentation navigable pour un projet PHP (avec le cœur de WordPress comme exemple) sans rien installer localement : un fichier de configuration phpdoc.xml et une seule commande docker run ... phpdoc/phpdoc:3 analysent le dossier src et produisent un site HTML complet dans .phpdoc/index.html.

Vous avez un projet PHP et vous souhaitez — hop, hop, en deux temps trois mouvements — générer un site de documentation sans vous prendre la tête.

Facile ! phpDocumentor le fait pour vous et, comme une image Docker existe, presque tout tient en une seule commande.

Une commande, un site de documentation complet​

Depuis la racine de votre projet PHP, lancez :

>user@machine: ~/yourproject

Et voici ce qui atterrit dans le dossier .phpdoc — celui-ci a été généré à partir du code de WordPress :

http://localhost/

Documentation PHP de WordPress 6.4.2

Un site navigable avec les namespaces, les classes, leurs méthodes et les docblocks que vous avez écrits. Rien n'a été installé sur votre machine : phpDocumentor, PHP et toutes les dépendances vivent dans l'image, qui disparaît avec le container grâce à --rm.

Le fichier de configuration​

phpDocumentor a besoin d'un fichier de configuration pour savoir quoi analyser et où écrire. Créez un nouveau fichier appelé phpdoc.xml avec ce contenu, dans le répertoire de votre projet :

<?xml version="1.0" encoding="UTF-8"?>
<phpdocumentor
configVersion="3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://www.phpdoc.org"
xsi:noNamespaceSchemaLocation="https://docs.phpdoc.org/latest/phpdoc.xsd"
>
<paths>
<output>./.phpdoc</output>
<cache>/tmp/phpdoc</cache>
</paths>
<version number="3.0.0">
<api>
<source dsn=".">
<path>src/</path>
</source>
</api>
</version>
</phpdocumentor>

Ce fichier configure PHPDocumentor, l'outil qui génère automatiquement la documentation d'un projet PHP. Il spécifie où trouver le code source (dossier src/), où stocker les fichiers générés (./.phpdoc), et où mettre en cache les données temporaires (/tmp/phpdoc).

C'est ce qui indique à la commande ci-dessus d'analyser le dossier src et de créer le répertoire .phpdoc où la documentation sera enregistrée.

WSL2 - Windows

Si vous travaillez sous WSL2, pour accéder à la documentation, lancez simplement powershell.exe .phpdoc/index.html pour ouvrir la documentation. Lisez Lancer le programme Windows associé par défaut depuis WSL ou Ouvrir votre dossier Linux dans l'Explorateur Windows pour plus d'informations.

Pas de projet PHP sous la main ? Récupérez-en un gros pour jouer.

Pour l'illustration ci-dessus, j'ai utilisé le code de WordPress. Démarrez un shell Linux et lancez mkdir -p /tmp/wordpress && cd $_.

Lancez ensuite curl -L --silent -o wordpress-develop-6.4.2.zip https://github.com/WordPress/wordpress-develop/archive/refs/tags/6.4.2.zip pour télécharger WordPress v6.4.2. Vous obtiendrez un fichier wordpress-develop-6.4.2.zip sur votre disque.

Décompressez-le avec unzip wordpress-develop-6.4.2.zip && rm wordpress-develop-6.4.2.zip ; vous aurez maintenant un dossier wordpress-develop-6.4.2, alors entrez-y avec cd wordpress-develop-6.4.2.

Conclusion​

Un docker run, un fichier XML, et n'importe quel projet PHP — le vôtre, ou celui dont vous venez d'hériter — devient un site de documentation navigable. Le plus intéressant n'est pas la génération elle-même : c'est que la qualité de la sortie reflète directement les docblocks présents dans le code. Lancez-la une fois sur un projet et vous voyez immédiatement où l'effort de documentation est réellement passé.

Bash n'a pas d'équivalent à phpDocumentor, c'est pourquoi j'ai écrit le mien ; voyez Linux - Générer de la documentation à partir de scripts Bash. Et pour de la documentation qui n'est pas extraite du code du tout, il y a Quarto - Comment j'ai construit un écosystème auto-documenté pour plus de 50 projets.


Cet article vous a-t-il été utile ?
Avez-vous suivi les étapes de cet article ?