Le nom des choses

, par James

Les "choses" à nommer sont :

  • les types de composants qui seront nécessaire à l’adaptation de SPIP à l’écosystème Composer,
  • les noms des composants,
  • les urls des services,

Types de composants

De base, Composer reconnait quelques "types" mais il est possible d’en définir soi-même pour des besoins particuliers, comme d’installer un composant à un endroit spécifique. C’est le cas de SPIP qui a besoin, pour la V3 dans son ensemble, d’une arborescence qui lui est propre :

|-spip.php         racine d'une application basée sur SPIP
\-ecrire/          tout le code de SPIP...
\-prive/           squelettes de l'espace privé
\-squelettes-dist/ emplacement des squelettes par défaut d'une distribution
\-plugins-dist/    emplacement des plugins à activer et à vérouiller pour une distribution
\-plugins/         emplacement des plugins supplémentaires de l'application

Choix (arbitraire) des types nécessaires pour SPIP :

  • spip-classic : pour installer, mettre à jour SPIP dans ses version maintenues (3.0->3.2), dans les dépôts de SPIP Historique, on trouvera des branches avec un fichier composer.json ayant le type "spip-classic",
  • spip-plugin : pour tous les plugins et squelettes, ce sera le type le plus courant et c’est une configuration spécifique au projet. Un fichier composer.json d’un project basé sur SPIP pourra spécifier quels "spip-plugin" seront des extension
  • spip-ecrire : pour installer le contenu du répertoire ecrire/,
  • spip-prive : pour installer le contenu du répertoire prive/,
  • spip-lang : pour un futur usage pour les traductions
  • spip-theme : pour un futur usage pour les thèmes de squelettes

Noms des composants

Le choix des noms des composants sont aussi très impactants. Pour coller aux types, et garder une certaine cohérence, les noms de composants suivants sont réservés :

  • spip/classic : SPIP 3.0, 3.1 et 3.2 (plugins et squelettes "dist" compris pour la maquette),
  • spip/ecrire : le répertoire ecrire/ à partir de SPIP 3.3,
  • spip/prive : le répertoire prive/ à partir de SPIP 3.3,
  • spip/cms : le composant "metapackage" installant ecrire/+prive/ à partir de SPIP 3.3,
  • spip/spip : Cœur d’application (project) à partir de SPIP3.3,
  • spip/composer-installer : Extension de composer pour les spécificités de SPIP 3.x,
  • spip/dist : plugin des squelettes de la distribution SPIP3.3
  • spip/mots, spip/organiseur et spip/filtres_images les 3 plugins sans lesquels l’espace privé ne peut foncionner.
  • spip/breves, spip/sites, spip/medias et spip/archiviste : les plugins requis par le squelette spip/dist

Les contributeurs utilisant la zone auront à se choisir un "vendor" et un "name" pour chacun de leur plugin. Comprendre par là que chaque composant, qu’il soit plugin, squelette, theme, devra être nommé avec le nom d’une équipe de mainteneurs, et celui du composant. Par exemple, le plugin spip-rose, a pour nom complet jamesrezo/spip-rose.

Le vendor spip est réservé à SPIP lui-même ainsi qu’à ses plugins et au squelette "dist".

D’autres nom sont réservés pour la maquette ou pour une étape ultérieure :

  • spip/securite : ecran_securite.php
  • spip/sdk : fonctions de base pour développer un plugin
  • spip/svp : Composer GUI de SPIP
  • spip/loader : projet autonome pour fabriquer spip_loader.php
  • spip/i18n : plugin de gestion des traductions

URLs des services

Le choix des URLs des différents services de la maquette et de SPIP à l’avenir est très impactant puisqu’ils vont être historisés dans des fichiers composer.json.

Ancien URL URL SPIPRemix Nouvel URL Officiel
svn ://trac.rezo.net/spip https://git-spip.lerebooteux.fr/spip/classic.git https://git.spip.net/spip/classic.git

https://svn.spip.net/spip/classic

svn ://zone.spip.org/spip-zone/_core_/ https://git-spip.lerebooteux.fr/spip https://git.spip.net/plugins/

https://svn.spip.net/plugins

N/A https://composer-spip.lerebooteux.fr https://get.spip.net

Dépot Composer

Voir la Mise en place du dépôt Composer.

Plugin Composer

Voir L’installeur Composer pour SPIP.