Bonjour à toutes et tous,
Et belle année à vous, pour autant qu’elle puisse l’être.
J’ai pris un peu de temps pour mettre à jour les documentations du code PHP de SPIP et des plugins (code.spip.net et anciennement code.plugins.spip.net). Le nouveau site utilise phpDocumentor 3.x.
Précédemment, ceux-ci étaient réalisés avec une version 2.x de phpDocumentor et des « templates » (twig) entièrement sur mesure. Cependant plusieurs éléments faisaient que ces documentations n’étaient plus adaptées :
- déjà à l’époque sur mes templates il manquait les Traits, et certains autres éléments de PHP,
- la syntaxe PHP évolue rapidement aussi avec plein de nouvelles écritures en php 8+
- phpDocumentor est passé en version 3 totalement réécrit (depuis un bon moment)
- il aurait fallu beaucoup de temps à maintenir et faire évoluer cela
Pour ces différentes raisons, j’ai migré vers les templates par défaut de phpDocumentor en version 3.x. J’ai juste surchargé certains éléments pour avoir notre entête SPIP (topnav et header), avec quelques adaptations CSS sur les couleurs. De la sorte, ça va simplifier grandement la maintenance, mais en contrepartie, on perd les pages qui avaient été écrites spécifiquement tel que la liste des « Balises » ou des « Pipelines ».
Enfin, il y avait un site SPIP sur https://code.spip.net qui disparait. Les quelques articles qui étaient éventuellement encore pertinents ont été déplacés sur le site Programmer. https://code.spip.net est maintenant un site statique entièrement généré par l’outil Autodoc
En dehors de « spip », les documentations générées sont toujours issues de la liste autodoc.txt et sont triées par organisations sur le git de SPIP (Core, Plugins, Squelettes, Outils). Si on ne connait pas l’organisation (dépot git externe par exemple), ça sera mis dans « Autres ».
Par ailleurs, s’il existe un fichier docs/index.rst
ou doc/index.rst
dans la source documentée, alors cette documentation sera aussi générée, et sa table des matières sera visible en colonne (entre les Links et les Packages ou Namespaces). Il n’y a encore aucun exemple dans les plugins SPIP, mais peut être que ça intéressera des personnes.
Note: il y a actuellement un petit bug sur la version 3.3.0 de phpDocumentor utilisée actuellement qui fait que certains fichiers de SPIP et ses plugins ne sont pas traités (dès lors qu’on déclare un define
dans une fonction php — ce qui n’est ni une pratique courante, ni recommandée… mais bien présente chez nous). Ce sera corrigé dans la prochaine version de phpDocumentor.