You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Eric Lupinacci ef8f72514e Modification du format du fichier YAML et ajout d 'un JSON équivalent 3 years ago
action Inutile de synchroniser le texte des rubriques qui n'est pas utilisé sur Contrib. 4 years ago
base Suppression du champ extra couleur dans la rubrique. 4 years ago
ezcheck Modification du format du fichier YAML et ajout d 'un JSON équivalent 3 years ago
formulaires Mise au point de l'API rubrique. 4 years ago
inc Amélioration de la boite d'infos de la rubrique plugin et aussi ajout de la coloration du préfixe dans la boite d'infos du plugin 3 years ago
lang Ajout des premiers types de contrôle (YAML) 3 years ago
prive Amélioration de la boite d'infos de la rubrique plugin et aussi ajout de la coloration du préfixe dans la boite d'infos du plugin 3 years ago
saisies Corriger l'affichage du champ extra type_article dans tous les cas de figure et suppression d'une notice. 4 years ago
README.md Ajout de la colonne couleur d'une rubrique et modifications associées. 4 years ago
contrib_administrations.php PSR et oubli d'une sécurité en début de fichier. 4 years ago
contrib_autorisations.php Corriger aussi l'autorisation de modifier le préfixe d'une rubrique qui ne fonctionnait que si la rubrique existait déjà. 4 years ago
contrib_logo-64.png Ajout des champs extras rubrique et article. 4 years ago
contrib_options.php Finalisation de la présentation des listes de rubriques. 4 years ago
contrib_pipelines.php Amélioration de la boite d'infos de la rubrique plugin et aussi ajout de la coloration du préfixe dans la boite d'infos du plugin 3 years ago
paquet.xml Amélioration de la boite d'infos de la rubrique plugin et aussi ajout de la coloration du préfixe dans la boite d'infos du plugin 3 years ago

README.md

Introduction

Le chantier "Refonte de Contrib" consiste à réaménager entièrement le site SPIP-Contrib et voire dy intégrer le site Plugins SPIP. Cela revient entre autres choses à :

  • effectuer un nettoyage des articles de Contrib (archives, obsolescence...) et à pérenniser une solution simple permettant d'éviter l'engorgement des articles obsolètes dans le futur;
  • revoir la sectorisation du site au plus haut niveau et intégrer une nouvelle catégorisation des plugins;
  • simplifier la "synchronisation" avec Plugins SPIP voire intégrer les pages de Plugins SPIP dans Contrib;
  • Organiser les autres contributions (carnet, projets...) pour leur offrir une meilleure visibilité et ergonomie;
  • Améliorer la visibilité des squelettes et des thèmes;
  • Améliorer la recherche de tous les éléments précités.

Tous ces objectifs sont discutés dans un groupe Framavox dédié à ce chantier et constitué dune quinzaine de membres. Le look & feel du site de Contrib nest pas concerné par ce chantier car la mise à jour avec le squelette Galactic est récente et fait consensus dans la communauté.

Organisation des rubriques de Contrib

Spécifications

La refonte de Contrib passe dabord par une réorganisation des secteurs du site afin quils correspondent dune part, à la volonté éditoriale de la communauté SPIP et dautre part, aux objectifs de robustesse, de clarification et daccessibilité souhaités. Les spécifications qui suivent correspondent aux conclusions des actions 2, 3 et 8 du chantier.

Les secteurs

Lidée de base qui gouverne cette nouvelle structuration consiste à distinguer:

  • Les secteurs-plugin, les contributions relatives aux plugins de SPIP qui constituent aujourdhui la majeure partie de la documentation;
  • Le "Carnet Wiki", les contributions du Carnet Wiki dont le le caractère "en chantier" ne correspond pas à la logique éditorial des autres contributions même si les thèmes abordés peuvent être communs;
  • Le secteur "Galaxie SPIP", les contributions liées à la vie de SPIP et de sa communauté;
  • Le secteur "A propos de Contrib", laide sur le contenu du site et son utilisation.

Cette sectorisation ne remet pas en cause le profil éditorial actuel de Contrib mais sattache juste à fournir une structure plus stricte et compréhensible.

Les secteurs-plugin

Ces secteurs contiendront la majeure partie des contributions actuelles du site. Lobjectif est de structurer ces secteurs en suivant une nouvelle catégorisation des plugins de façon à simplifier et pérenniser laffectation des contributions dans le site. Cette nouvelle catégorisation des plugins est basée sur une arborescence à deux niveaux qui couvrira mieux lensemble des contributions SPIP que la catégorisation actuelle (voir la feuille "Proposition" de la Google Sheet Liste des catégories).

Le niveau des secteurs-plugin correspond au premier niveau de la nouvelle arborescence des plugins, par exemple, auteur, communication, etc. Chaque secteur est subdivisé en autant de rubriques que de sous-catégories de niveau 2, par exemple, pour la catégorie auteur, auteur/connexion, auteur/extension, auteur/inscription, etc. Cette arborescence est créée une fois pour toute et ne peut plus être modifiée (sauf à modifier larborescence des catégories). Ces rubriques sont appelées des "rubriques-catégorie". Les rubriques-catégorie peuvent posséder des articles qui décrivent des concepts liés à la catégorie en question.

Dans chaque catégorie de niveau 2, un plugin documenté de la catégorie est représenté par une rubrique qui porte le nom du plugin. Tous les articles inclus dans une telle "rubrique-plugin" sont réputés décrire le plugin.

Le secteur “Carnet Wiki”

Ce secteur, appelé par la suite secteur-carnet, correspond au secteur homonyme du site actuel. Pour ce secteur, lobjectif de la refonte est dabord de nettoyer lexistant et de transférer dans les secteurs-plugin les articles aboutis qui sont parfois référencés dans les paquet.xml.

En outre, il pourra être possible de plaquer le rubricage sur celui des secteurs-plugin niveau 1. Une fonctionnalité de transfert du Carnet Wiki vers les secteurs-plugin sera proposée.

Le secteur "Galaxie SPIP"

Ce secteur, appelé par la suite secteur-galaxie, sera construit à partir des secteurs "Documentation", "Sorienter dans la documentation de SPIP" et "Vie de SPIP et "autour de SPIP" du site actuel. Le rubriquage sera adapté après le nettoyage des articles devenus obsolètes (voir le chapitre sur le nettoyage).

Le secteur "A propos de Contrib"

Ce secteur, appelé par la suite secteur-apropos, sera surement entièrement réécrit car il entend répondre aux questions des utilisateurs sur le contenu et lutilisation du nouveau Contrib. Son rubriquage sera adapté au sommaire de laide. Ce secteur sera exclu des boucles SPIP (plugin Exclure Secteur) et les articles identifiés par sélection (plugin Sélections éditoriales).

Typologie des articles

Une typologie des articles est nécessaire car la refonte de Contrib va permettre de regrouper tout type darticle dans une rubrique. La typologie des articles est la suivante:

  • les articles qui décrivent une conception - en général dun plugin ou dun site de la galaxie. On désignera ce type darticle par le terme article-conception;
  • les articles qui informent sur une actualité dun plugin ou de la galaxie. On désignera ce type darticle par le terme article-actualite;
  • les articles qui documentent lutilisation dun plugin, le contenu du site et tout autre contribution liée à la vie de SPIP. On désignera ce type darticle par le terme article-utilisation. Par défaut, tout article possède ce type;

Cette typologie est principalement utile pour les secteurs-plugin mais les autres secteurs peuvent tout à fait en bénéficier. Le carnet Wiki par contre ne lutilise pas.

Outre cette typologie, une notion darticle principal dune rubrique sera mise en place. Un article principal identifie le point dentrée dune rubrique. Cet article est mis en exergue. La mise en place de cet article dans les rubriques nest pas obligatoire mais fortement conseillé en particulier pour les secteurs-plugin. Par cohérence, il est recommandé de remplir le lien de documentation dun paquet.xml avec larticle principal.

Notion de “Projet”

Lune des idées nouvelles de la refonte de Contrib est de permettre de lancer et de suivre des projets qui déboucheront, qui par un ou plusieurs plugins, qui par une refonte de site, qui par une autre contribution à SPIP. Le type article-conception est en particulier destiné à supporter la notion de projet. Un projet sera matérialisé par une rubrique-projet logée dans un secteur-plugin, dans le secteur-carnet (à confirmer) ou dans le secteur-galaxie.

Dans le cas simple mais fréquent dun projet de plugin, la rubrique-projet devra coïncider avec une rubrique-plugin, cest-à-dire être intégrée au bon endroit dans larborescence des catégories. Une fois le plugin distribué via SVP, la rubrique-projet sera muée en une rubrique-plugin.

Un projet a donc une durée de vie limitée, il conviendra didentifier son "statut de développement", à savoir, en cours ou clos.

Conception

Secteurs et rubriques

Les rubriques de Contrib possèderont des attributs spécifiques matérialisés par des champs additionnels à lobjet Rubrique (créés par Champs Extras ou manuellement dans le pipeline dédié). Ces champs permettent de reconnaître les rubriques-catégorie, les rubriques-plugins, les rubriques-projet et les autres rubriques (secteur-galaxie, secteur-carnet et secteur-apropos).

Le tableau suivant décrit laffectation champ - type de rubrique, la chaîne vide représente toujours la valeur par défaut:

Rubriques Champ categorie Champ prefixe
rubrique-categorie niveau 1 (secteur) alias catégorie comme "auteur" chaîne vide
rubrique-categorie niveau 2 alias catégorie comme "auteur/connexion" chaîne vide
rubrique-plugin chaîne vide Préfixe du plugin comme "a2a"
rubrique-projet chaîne vide "projet-<id_rubrique>"
autres rubriques chaîne vide chaîne vide

Le secteur-carnet sera identifié comme actuellement par son secteur wiki via le plugin Autorisation.

Le secteur-galaxie sera a priori repéré par son id ou par défaut si le secteur nest ni celui du Carnet Wiki ni un secteur-plugin.

Le secteur-apropos est exclu des boucles SPIP en utilisant le plugin Exclure Secteur. Laffichage dun article précis se fera dans linterface par une sélection éditoriale.

Articles

La typologie des articles est également mise en place au travers dun champ additionnel à lobjet Article nommé type_article qui contiendra les valeurs suivantes:

  • "conception", pour un article-conception,
  • "actualite", pour un article-actualité,
  • "", pour les autres articles. Cest la valeur par défaut du champ.

La valeur "" est interprétée différemment suivant le secteur. Pour un secteur-plugin, cette valeur sera interprétée comme un article-utilisation. Pour le secteur-carnet ou le secteur-apropos cest la seule valeur possible. Pour le secteur-galaxie linterprétation est identique à celle des secteurs plugins.

La notion darticle principal est mise en place au travers de lutilisation du plugin Article daccueil.

Autorisations

Pour sassurer de la pérennité de lorganisation proposée sur laquelle sappuiera des automatismes et des vérifications de cohérence, la création et la modification des rubriques sont sujettes à des autorisations qui dépendent du secteur concerné. il est possible que ces nouvelles autorisations remettent en cause celles configurées actuellement avec le plugin Autorité.

Les autorisations actuellement disponibles sur Contrib et qui ne sont pas redéfinies ci-dessous restent inchangées.

Autorisation Explication
Création, modification ou suppression dune rubrique-catégorie webmestre uniquement. Ces rubriques sont normalement créées une fois pour toute
Création, modification ou suppression dune rubrique-plugin ou dune rubrique-projet administrateur complet et webmestre. Ces rubriques sont créées manuellement en fournissant le préfixe et après vérification de la cohérence du préfixe et de la catégorie ou automatiquement par transformation dun projet de plugin (avec ou sans déplacement)
Création dune rubrique dans une rubrique-plugin personne. Les rubriques-plugin sont des feuilles.
Création dun article hors secteur-carnet et secteur-apropos administrateur restreint de la rubrique
Création dun article du secteur-apropos administrateur complet et webmestre.

Workflows

Pour sassurer que des manipulations ne viendront pas casser lorganisation des rubriques, il est essentiel de motoriser les actions récurrentes au travers de workflows qui déclencheront des vérifications et/ou des automatismes de mise à jour.

Les workflows liés à la gestion des rubriques et des articles sont définis ci-dessous.

Documenter un plugin

Cette action renvoie vers un formulaire où le demandeur doit saisir le préfixe de son plugin:

  • Si une rubrique-plugin avec ce préfixe existe déjà lutilisateur est prévenu et renvoyé vers la rubrique (espace privé). En fonction de son profil il aura la possibilité de créer, modifier… un ou plusieurs articles
  • Si aucune rubrique-plugin nexiste avec ce préfixe et que le préfixe est bien celui dun plugin, la rubrique-plugin associée est créée automatiquement dans la bonne catégorie et un article-utilisation principal est créé avec lutilisateur comme auteur.
  • Si le préfixe nest pas (encore) celui dun plugin lutilisateur est prévenu et le workflow sarrête.

Lancer la conception dun plugin

Cette action renvoie vers un formulaire où le demandeur doit saisir le descriptif du projet. La liste des projets de plugin en cours est affiché pour que lutilisateur puisse vérifier que sa demande nest pas déjà prise en compte.

  • Si lutilisateur valide sa demande, le requête de projet-plugin est sauvegardée et mise en attente de validation par un administrateur complet.
  • Si un administrateur valide la demande, la rubrique-projet est créée avec un article-conception pour lequel le demandeur est positionné comme auteur. Le demandeur est aussi positionné en administrateur restreint de la rubrique-projet.
  • Si la demande est invalidée par un administrateur complet, le workflow s'arrête là.

Dans tous les cas, le demandeur est notifié de la réponse.

Clore la conception dun plugin

Quand la conception est terminée et que le plugin est publié - donc connu de SVP - ladministrateur restreint de la rubrique-projet peut demander la clôture du projet et la promotion en rubrique-plugin. Pour ce faire, il doit fournir le préfixe du plugin qui sera vérifié.

  • Si le préfixe est bien celui d'un plugin, la rubrique-projet est muée en rubrique-plugin (mise à jour du champ prefixe) et un article-utilisation principal est créé avec le demandeur comme auteur (sauf si cet article a déjà été préparé);
  • sinon, la promotion est refusée (a priori c'est une erreur de préfixe ou une anticipation de sa publication SVP).

Promouvoir un article du Carnet en article dune rubrique-plugin

Le demandeur est renvoyé sur un formulaire où il doit saisir le préfixe du plugin.

  • Si la rubrique-plugin nexiste pas le demandeur est notifié et le workflow sarrête. Il faudra dabord créer la rubrique-plugin avant de refaire une demande de promotion.
  • Si la rubrique-plugin existe la demande de promotion est mise en attente dune validation dun administrateur complet ou de ladministrateur restreint de la rubrique-plugin destination. Une fois la demande validée, larticle est transféré vers la rubrique-plugin sans modification ni de son type ni daucune autre donnée.

Promouvoir une rubrique du Carnet en rubrique-plugin

Le demandeur est renvoyé sur un formulaire où il doit saisir le préfixe du plugin qui est vérifié. Si le préfixe est bien celui d'un plugin publié par SVP, la demande de promotion est mise en attente dune validation dun administrateur complet. Une fois la demande validée, la rubrique-carnet est muée en rubrique-plugin (mise à jour du champ prefixe), transférée dans sa catégorie daccueil et un article-utilisation est créé avec le demandeur comme auteur si il nen existe pas encore.

Vérifications

Les rubriques-catégorie et les rubriques-plugin étant identifiées strictement par les champs categorie et prefixe, il est possible de déclencher régulièrement ou à la demande (administrateurs complets) des vérifications et des mises à jour, à savoir:

  • vérifier que les rubriques-plugin possèdent un préfixe existant et quelles sont positionnées dans la bonne catégorie;
  • vérifier le titre des rubriques-catégorie et des rubriques-plugin et les mettre à jour à partir de la base SVP Typologie en profitant des traductions si elles existent. Le descriptif des rubriques-plugin peut aussi être mis à jour.
  • vérifier que le préfixe est bien vide pour les rubriques-catégories.

Annexe 1 - Plugins utilisés

SVP

Pour vérifier les autorisations, réaliser les vérifications et dérouler les workflows, lutilisation des catégories et des préfixes nécessitent que le plugin SVP soit activé. En outre, pour construire la base complète de tous les plugins comme sur Plugins SPIP il faut:

  1. configurer SVP dans le mode “non run-time” qui permet le chargement de lensemble des plugins disponibles quils soient ou pas compatibles avec la version SPIP de Contrib.
  2. intégrer dans la base les mêmes dépôts que sur Plugins SPIP.

En outre, le plugin SVP sera modifié et débarrassé de la gestion des catégories qui sera repris par le plugin SVP Typologie.

SVP Typologie

Ce plugin permettra d'externaliser complètement la gestion des catégories de plugins (et aussi des tags de plugin).

Exclure secteur

Ce plugin est utilisé pour exclure le secteur-apropos des boucles standard des squelettes. Ladressage de ses articles se fait en direct pour court-circuiter le plugin ou en utilisant le critère {tout}.

Champs Extras

Ce plugin est utilisé pour créer les champs additionnels des rubriques (categorie et prefixe) et des articles (type_article). Il permet aussi la gestion des autorisations et des affichages associés.

Article daccueil

Ce plugin est utilisé pour définir larticle principal dune rubrique, en particulier, pour les rubriques-plugin.

Sélections éditoriales

Ce plugin est utilisé pour identifier unitairement les articles d'aide du secteur-apropos.

Autorité

Ce plugin est utilisé pour identifier le secteur-carnet et lui associer les autorisations nécessaires.

Ce plugin permettra d'externaliser complètement la gestion des catégories de plugins (et aussi des tags de plugin).