La richesse fonctionnelle de SPIP complique son développement
Certaines fonctionnalités peuvent évoluer facilement et rapidement. D’autres nécessitent plus de temps pour leur développement, tests et mise au point.
La sortie d’une version stable n’est jusqu’ici possible que lorsque toutes les fonctions sont stables, et est alors contrainte par la mise au point des fonctionnalités les plus complexes.
Vente à la découpe
Pour alléger cette contrainte et coller plus facilement aux cycles de développement différents des sous parties de SPIP, il est apparu que la meilleure stratégie était de sortir du noyau dur toutes les fonctionnalités qui le pouvaient et de les développer sous forme de plugin, sur SPIP-Zone.
Les avantages attendus de ce mode de développement sont multiples :
- Isoler une fonctionnalité existante de SPIP permet de formaliser ses inter-dépendances avec le noyau, et de compléter éventuellement ce dernier avec les points d’entrée nécessaires (pipeline, surcharge, squelettes ...). Cette formalisation enrichira encore les possibilités d’extensions de SPIP.
- Déplacée sur SPIP-Zone sous forme de plugin, la fonctionnalité extraite pourra être développée de façon beaucoup plus ouverte, par plus de contributeurs.
- Développée indépendamment du core, elle pourra être testée indépendamment et releasée en fonction de son cycle propre. La dernière version stable de SPIP pourra en profiter aussitôt dans la majeure partie des cas.
Un exemple typique de ce type de démarche est la fonctionnalité de champs Extra. Présente dans le noyau depuis plusieurs versions, la fonctionnalité était moribonde, juste maintenue pour compatibilité. Sortie du noyau lors du développement de SPIP 2.0, et mise en plugin sur la zone elle a bénéficiée depuis d’évolutions fonctionnelles majeures.
SPIP, un outil de publication prêt à l’emploi
La vocation de SPIP ne change pas, et le mode de développement ne doit pas impacter les utilisateurs de façon négative.
SPIP sera donc toujours distribué avec plus ou moins les mêmes fonctionnalités qu’aujourd’hui. SPIP devient une distribution constituée du noyau (SPIP-Core) et d’un ensemble de plugins.
L’installation et la configuration ne seront pas compliquées par ce mode de distribution :
- l’archive de SPIP contiendra les plugins nécessaires pour couvrir les mêmes fonctionnalités qu’actuellement
- Un mécanisme d’auto-activation des plugins lors de l’installation de SPIP rendra le découpage transparent pour le webmestre.
Des distributions alternatives
Si la charte éditoriale qui prévaut lors de la composition du paquet SPIP ne change pas, le mécanisme de distribution permettra à d’autres contributeurs de composer leur propre distribution en assemblant le noyau avec une autre sélection de plugins !
Ces distributions permettront aux plus nombreux d’accéder à des variantes spécialisées de SPIP, et une plus grande diversité dans les utilisations de SPIP.
Le but est d’éviter aux utilisateurs de SPIP de se retrouver prisonnier d’un semi-fork parce, que les fonctionnalités paraissaient initialement séduisantes, en favorisant l’interchangeabilité des distributions.
Un noyau brut, ou Core nu
Le noyau SPIP seul pourra être utilisé par les développeurs pour construire leurs propres applications. Il sera disponible au téléchargement ; mais ne sera pas forcément mis en avant par l’équipe car il ne correspond pas au projet SPIP.
Son existence n’est qu’une conséquence indirecte de la nouvelle méthode de développement, pas une fin en soi.
En résumé
Pour les utilisateurs de SPIP, ces changements de méthode de développement devraient donc se traduire par :
- Des mises à jour fonctionnelles plus régulières
- Un choix de distributions qui amèliorera la couverture fonctionnelle de SPIP au sens large
- D’éviter la pêche aux bons plugins dispersés en se reposant sur les distributions enrichies
Pour les développeurs :
- plus de points d’entrée dans SPIP
- plus de possibilité de personnalisation
- la possibilité de participer au développement de nombreuses fonctionnalités du core
Et maintenant ?
Ces bonnes résolutions commencent par un travail de découpe de SPIP.
Le noyau de la prochaine version stable de SPIP aura déjà maigri significativement !
Messages
21 janvier 2009, 00:17
Mais quand s’arrêteront-ils ? Chapeau pour toutes ces bonnes idées.
21 janvier 2009, 12:47, par Eric
Félicitations pour ce beau projet !... J’imagine que cela va vous donner pas mal de travail... et je vous en suis reconnaissant !...
23 janvier 2009, 23:38, par Zéas
Ca me semble être une très bonne idée.
C’est très stimulant de voir que ça cogite en profondeur et efficacement là haut.
Félicitations à vous et merci pour tout.