Documentation des modèles

Le plugin Documentation des modèles (modeles_doc) permet de générer automatiquement une documentation technique et fonctionnelle des modèles éditoriaux déclarés sur un site SPIP.

Il analyse les modèles décrits via fichiers YAML et produit une fiche structurée dans l’espace privé.

L’objectif est de rendre explicite ce qui est souvent implicite dans les déclarations YAML.

Plugin SPIP permettant de générer automatiquement une documentation technique et fonctionnelle des modèles éditoriaux déclarés sur un site.

Il analyse les modèles disponibles (via leurs fichiers YAML compatibles avec le plugin Insérer Modèles) et produit une fiche détaillée dans l’espace privé.


Objectif

Fournir :

  • Une vue structurée des modèles disponibles
  • La liste complète de leurs paramètres
  • Le détail exhaustif des options déclarées dans les YAML
  • Les valeurs possibles (datas)
  • Une définition fonctionnelle du type de champ (input, selection, textarea, etc.)
  • Une documentation cohérente avec le plugin Saisies

Ce plugin transforme les déclarations techniques en véritable documentation exploitable.


Accès

La page de documentation est accessible dans l’espace privé :

/ecrire/?exec=modeles_doc

Accès réservé aux utilisateurs autorisés à créer des articles.


Fonctionnement

Le plugin :

  1. Liste les modèles disponibles
  2. Les regroupe par catégories
  3. Analyse leurs paramètres déclarés en YAML
  4. Affiche pour chaque paramètre :
    • Le libellé
    • Le nom technique
    • Le type de saisie
    • Les options déclarées
    • Les valeurs possibles (datas)
    • Une définition pédagogique du type de champ

Architecture

Le plugin repose sur une structure volontairement simple :

  • prive/squelettes/contenu/modeles_doc.html
    Interface principale dans l’espace privé. Elle construit la documentation via des boucles DATA à partir des modèles détectés.
  • modeles_doc_fonctions.php
    Contient l’ensemble de la logique métier du plugin :
    • Liste des modèles disponibles
    • Regroupement par catégories
    • Traitement des paramètres
    • Génération des définitions pédagogiques des types de saisie
    • Fonctions utilitaires et filtres éventuels
  • lang/
    Chaînes de langue propres au plugin.
  • paquet.xml
    Déclaration du plugin et de ses dépendances.

Le plugin privilégie :

  • Une logique légère côté PHP
  • Un rendu structuré via boucles DATA
  • Une séparation claire entre traitement et affichage

Intégration avec Saisies

Les labels d’options sont récupérés via les chaînes de langue du plugin Saisies :

[(#VAL{saisies:option_}|concat{#CLE,'_label'}|_T)]

Cela garantit :

  • Cohérence avec l’écosystème SPIP
  • Maintenabilité
  • Compatibilité évolutive

Définitions pédagogiques

Le plugin ajoute une couche de compréhension fonctionnelle.

Exemples :

Type YAML Définition affichée
input type=text Champ de saisie texte (ligne unique)
textarea Zone de texte multilignes
selection Liste déroulante
hidden Champ caché (paramètre structurel)

Les définitions sont gérées dans la fonction modeles_doc_liste_definition. Les définitions fonctionnelles sont générées dynamiquement à partir du type de saisie (saisie) et de ses options (ex : input + type=text).
Ce mécanisme permet d’enrichir progressivement la documentation sans modifier les modèles YAML.


Affichage

L’interface utilise :

  • Boucles DATA
  • Structuration .champ > .label + .span
  • Flexbox moderne (compatible SPIP 4)
  • Styles isolés sous .modeles_doc

Exemple d’affichage

Pour un paramètre :

Disposition horizontale [selection]

Type de champ :
Liste déroulante permettant de choisir une valeur.

Nom du paramètre :_ horizontal

Option intro :
(défaut)

Choix possibles :

  • 30
  • 50
  • oui

Dépendances

  • SPIP 4.x
  • Plugin Saisies
  • Plugin YAML

Le plugin exploite les modèles déclarés via fichiers YAML (compatibles avec le plugin Insérer Modèles).


Roadmap

Fonctionnalités prévues :

  • ⚠️ Détection d’incohérences :
    • paramètre structurel mal déclaré
  • 🧪 Indication optionnel / obligatoire

Philosophie

Ce plugin vise à :

  • Améliorer la qualité documentaire des projets SPIP
  • Faciliter la transmission entre développeur.e.s et utilisateurices
  • Rendre explicite ce qui est implicite dans les YAML
  • Standardiser la gestion des modèles éditoriaux

Auteur

Approche orientée qualité, documentation et structuration des pratiques SPIP.


Licence

GPL compatible SPIP

Discussion

No discussion

Add a comment

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom