spipzine

Accueil > Histoire(s) > Acteurs > SPIP’n’Cédric : "le plaisir du beau code"

SPIP’n’Cédric : "le plaisir du beau code"

mardi 10 octobre 2006, par cedric, polatouche

L’arrivée l’année dernière de Cédric dans l’équipe de développement du noyau de SPIP n’est pas passée inaperçue. En effet, notre docteur es plugins n’a pas ménagé ses efforts pour contribuer aux progrès récents du logiciel, accompagnant ainsi la dynamique d’un formidable nouveau souffle, qui ne semble pas près de retomber.

C’est également Cédric qui l’autre dimanche, s’est fait épingler sur l’irc pour une mémorable interview multiclaviers dont voici une version… lisible !

Parle-nous de ta découverte de SPIP.
SPIP, je l’ai découvert en 2005. Je suis arrivé dans une équipe qui l’utilisait déjà, alors j’ai emmené la doc sur la plage, et j’ai commencé à ce moment là.

Ton profil, plutôt développeur, utilisateur, documentateur, trolleur ?
Je suis plutot développeur, par goût.

J’ai souvent entendu dire qu’un developpeur qui voit le code de SPIP, a plutôt envie de fuir, cela a été ton cas ?
Ben non, moi j’aime bien les trucs compliqués, et par le passé j’avais déjà mis le nez dans des codes assez imbitables, alors j’ai pas été déboussolé… J’ai vite trouvé mes repères.

Tu confirmes donc que ce n’est pas évident de se mettre dedans ?
Il faut arriver à appréhender la logique du tout, mais ca devient de plus en plus clair au fur et à mesure que le code avance vers la version 2, il me semble.

Donc tu as foncé tête baissée dans SPIP ? Tête baissée, voyons, pas exactement… J’y suis allé doucement, en m’abonnant à la liste spip-dev déjà, en revenant de vacances. Et puis j’ai vite vu que le mélange des contribs dans tous les sens, c’etait ingérable sur un site.

Comment s’est passé ton intégration dans la communuaté des devs de SPIP ?
Ben, j’ai répondu timidement à une question sur spip-dev, une fois, puis deux. Puis j’ai découvert irc, et j’ai levé le doigt "Dis, monsieur fil, est ce que je pourrais proposer un truc comme ca ?". Et là, on m’a gentiment répondu : "T’as besoin d’une autorisation pour coder ?".

Et la légende dit que la réponse tient en 3 mots "GO GO GO". C’est exact ?
En substance c’était ça, mais plutôt "Fais toujours, on verra bien…". Puis j’ai proposé un patch, puis c’est un cercle infernal.

Tu fais de SPIP une utilisation plutôt personnelle ou professionnelle ?
Ben, une utilisation plutôt professionnelle, mais une contribution plutôt personnelle.

Qu’est-ce qui te motive le plus dans ta façon de participer à SPIP et à son développement ?
Le plaisir du code beau, et de pouvoir le partager, et non faire un truc tout seul dans son coin. C’est un plaisir quand on arrive à sortir un joli morceau de code, élégant.

Est-ce que tu as le sentiment d’avoir appris au contact des utilisateurs, développeurs et traducteurs de SPIP ?
Les utilisateurs je les côtoie plus ou moins directement dans ma pratique professionnelle, et les développeurs m’apprennent beaucoup, oui.

Qu’est-ce qui est, à tes yeux, la chose la plus importante que tu penses avoir apprise ou retenue au contact de la communauté ?
La plus importante, c’est l’esprit du logiciel libre, que je ne connaissais pas du tout avant, mais auquel j’adhère complètement.

Pour les utilisateurs, le logiciel SPIP répond-t-il souvent à leurs besoins, ou faut-il développer de nombreuses choses non disponibles ?
Oh, il y aura toujours plein de choses à développer pour les satisfaire, c’est une course sans fin, il me semble. Mais c’est certain qu’il faut être à leur écoute et se confronter à leurs problèmes.

Du point de vue de tes envies personnelles d’évolution de SPIP, tu as un rêve ?
Juste pouvoir prolonger cette aventure humaine et technique autant que possible…

Le style de travail "bordel organisé", sans programme clair, est-il une gêne par rapport à tes habitudes professionnelles ?
Non, ça colle plutôt bien à ma méthode de travail, une apparence de bordel... mais qui n’est pas dénuée d’une ligne directrice.

A ton avis SPIP doit-il suivre la voie du web 2.0 ou continuer sa propre course ?
Le web 2.0 je sais pas ce que c’est, j’ai pas compris encore. Mais si on peut améliorer l’experience utilisateur sans sacrifier l’accessibilité… Je crois que ca correspond bien a ce qui a été fait par Emmanuel [1], principalement, ces derniers temps, et ce que prépare Fil aussi, qui est tres prometteur. Il ne faut pas non plus essayer de suivre les modes, qui changent à tout bout de champ.

Regardes-tu un peu ce qui se fait dans les autres CMS ou ton inspiration vient-elle des usages de SPIP seulement ?
Heu je devrais prendre le temps de regarder ce qui se fait à coté, mais j’avoue qu’en ce moment j’ai du mal à avoir le temps disponible pour le faire. Mais le benchmarking est toujours très instructif.

Il me semble que tu as travaillé autour du moteur de recherche de SPIP. Y a t-il d’autres développements prévus autour de ce thème (c’est un des éléments qui a le moins bougé depuis 3 ans) ?
Heu, juste un peu, enfin juste sur des aspects techniques d’implémentation et sur un connecteur avec mnogosearch. Je sais pas, la question sous-jacente, c’est "Doit-on réinventer la roue, ou se reposer sur d’autres composants libres qui existent ?". Le moteur de recherche de SPIP doit surtout couvrir les besoins simples, il peut sans doute être amélioré, mais il faut faire attention a pas en faire un truc lourd. Il y a la même problématique sur les statistiques, par exemple.

Lorsque tu codes, tu fais attention aux questions linguistiques et aux questions de traductions futures ?
Sur les développements du core, c’est un impératif. Sur les plugins ca l’est moins, mais pour ma part j’essaye de l’intégrer systématiquement, dès le début.

L’apparition des plugins et, pour l’instant, la complexité de compréhension de leurs interactions, n’est t-il pas contradictoire avec le concept initial de Spip coté privé, c’est à dire d’un ensemble cohérent ?
Je pense que les plugins sont au contraire une grosse simplification.

On a parfois l’impression que les plugins concurrencent les contribs. Est-ce que toutes les contribs auraient vocation à devenir des plugins ?
C’est un mode de distribution des contributions, oui, qui permet une installation facile et une gestion des mises à jour futures du site facile aussi.

La gestion des mises à jour futures, justement parlons-en… La tendance à forker pour écrire des plugins ne pose t-elle pas un problème de ce coté ?
Forker ? Qui forke ? Les plugins ne forkent pas, normalement, enfin les plugins durables. Ce qu’il manque c’est de la visibilité au niveau des plugins, de la doc, et des avertissements quand aux plugins périssables.

Peux-tu définir ce qu’est un plugin durable ?
Un plugin durable, c’est un plugin qui ne forke pas de morceau de code de SPIP, qui se branche proprement sur les entrées prévues dans le noyau. Le fork est une possibilité technique, mais qui rend le plugin périssable, car dès que le code gorké évolue, le plugin est suceptible de plus marcher. Un plugin durable, c’est surtout une garantie pour l’utilisateur, et donc aussi le contributeur, car il pourra suivre les montées de version spip sans (trop de) maintenance, alors qu’un plugin périssable doit être maintenu à chaque montée de version de SPIP.

La licence de création, distribution des plugin doit-elle nécessairement être en GPL, ou peut-elle prendre d’autres formes, voire une distribution propriétaire ?
Un plugin avec du code forké oui, car c’est du GPL modifié donc ca doit rester GPL, mais pour un plugin completement original, je ne suis pas sur que ce soit obligatoire. Il faudrait demander à un spécialiste des licences.

Cela ne risquerait-t-il pas de modifier l’écologie de création distribution de briques autour de SPIP ?
Oh je pense que ça reste à la marge, la preuve en est la vitalité de la zone et de ses contributeurs.

L’effet facilitateur des plugins ne risque-t-il pas de modifier à terme, à partir d’un certain volume, l’esprit de création des évolutions et services autour de SPIP ?
Au contraire, avec les contributions entremêlées, un SPIP modifié deviendrait difficile à maintenir par quelqu’un d’autre que celui qui a fait l’intégration. Donc cela verrouillerait plus ou moinsles choses en faveur du prestataire initial.

Le découpage en plugin rapproche au fond spip, logiciel très intégré à la base, des autres projets libres, évoluant par modules, paquets, etc.
Oui c’est l’esprit, et en sortant des morceaux fonctionnels du core, on évolue dans ce sens, aussi parce que ça en simplifie le développement.

Quels sont, selon toi, les avantages et les inconvénients de SPIP pour quelqu’un qui n’y connait rien mais veut tenter de réaliser son site ?
SPIP reste un outil de publication simple à mettre en œuvre, qui permet de publier tout de suite mais qui, pour la personnalisation du rendu, nécessite un peu de mettre les mains dans le cambouis, dans les squelettes, par opposition à d’autres systèmes ou cela est configurable plus facilement. Le pendant, c’est que SPIP permet d’aller beaucoup plus loin avec le même niveau de difficulté, au prix d’un certain apprentissage. En fait, le langage de SPIP, avec ses balises et ses boucles, est en passe de devenir un vrai framework, c’est-à-dire une plate-forme de developpement d’applications, une surcouche au dessus de PHP et MySQL qui simplifie par rapport a l’utilisation brute de ces outils et apporte un système de cache. Mais pour le débutant, il faut sans doute apporter quelque chose qui lui simplifierait la vie.

Serait-ce l’entraide communautaire ?
Il y a évidemment l’entraide, mais je pensais plus à quelque chose du côte technique. Il me semble que la communauté des utilisateurs est vivante et active et n’est pas coupée des développeurs, qui y interviennent aussi.

As-tu le sentiment qu’une forme de spécialisation des rôles dans SPIP entre graphisme, développement ou publication est en train de s’accentuer ?
Je ne crois pas que les évolutions de SPIP changent quelque chose dans ce domaine. Ça n’est pas lié à SPIP mais plutôt aux compétences nécessaires dasn le développement web. Mais il me semble que SPIP permet a des non-développeurs, à des graphistes par exemple d’arriver à implémenter des fonctions assez avancées sans entrer dans un code compliqué.

À son origine, SPIP était un logiciel de publication essentiellement orienté webzine. N’est-ce pas une limitation dans son utilisation ?
Oh non pas du tout, on peut vraiment faire toute sortes de sites avec SPIP, y compris des applications qui n’ont plus grand chose à voir avec un magazine.

Sur les questions d’accessibilité, SPIP est encore souvent critiqué. Qu’avez vous à dire sur ce point ?
Un site se doit d’être accessible à toute forme de handicap. Aujourd’hui les squelettes standard de l’espace public sont d’un très bon niveau de ce point de vue, et le moteur de spip permet de faire des sites pleinement accessibles. Par ailleurs, les plugins permettent de répondre aux besoins fonctionnels de ceux qui font de l’accessibilité un devoir. Donc côté public, SPIP permet de faire des choses de tres bonne qualité sur ce point aussi. L’interface privée souffre certainement encore de défauts sur ce plan-là.

La dernière version de spip est plus lente. Est-ce une impression fausse ou un problème en cours de réglement ?
C’est un point sur lequel il est difficile de statuer, les comparaisons sont toujours difficiles et la vitesse pure n’est qu’une donnée du problème : il faut aussi prendre en compte l’utilisation de la mémoire, la tenue à la charge du serveur… Ce qui est vrai, c’est que des possibilités fonctionnelles du code ont été introduites, qui ont un prix en vitesse pure, oui, mais ça valait le coup.

Dernière et ultime question, Cédric, si tu devais définir SPIP en une phrase, quelle serait-elle ?
J’aime assez celle du t-shirt : SPIP, le logiciel libre et la tendresse…

JPEG - 11.2 ko

[1Esj.