
Vous trouverez ici des trucs et astuces destinés aux développeurs de sites sous SPIP.
La majorité de ces trucs est consacrée aux filtres graphiques introduits dans SPIP 1.9. Il y a là en effet un vaste champ d’expérimentation pour les webmestres et les graphistes.
Chaque truc est suivi d’un forum auquel nous vous invitons à participer.
N.B. La présence de ces trucs et astuces sur notre site professionnel est destinée à faire connaître notre activité de création de sites sous SPIP. Vous pouvez librement utiliser les morceaux de code fournis ici dans vos propres squelettes. Vous pouvez reprendre ces exemples sur votre site ou dans les forums d’un autre site ; dans ce cas, nous vous demandons simplement d’avoir la courtoisie de référencer la page d’où est tiré le code repris.
C’est zarbi : je posais justement la question à Fil, il y a 2 petites heures, sur les possibilités d’utiliser SPIP comme FrameWork et voilà que tu dépotes ce texte.
À l’origine, un développeur web qui me dit que SPIP, c’est de la bidouille et ce n’est pas pro, alors que Zend sous eclipse pdt, c’est de la balle. Sauf qu’eclipse, j’ai vraiment du mal avec son interface et que j’aime bien spip, si ce n’est qu’il faudrait trouver un moyen d’intégrer les balises SPIP dans un IDE (eclipse pour les dev ou quanta, pour les... moi !)
J’en causais encore l’autre jour sur le blog http://www.spip-blog.net/De-l-inter...
Salut Cédric : c’est amusant, car, comme je me posais des questions sur Spip comme framework, google m’a envoyé chez toi !
En fait, arrive le niveau suivant de la réflexion : puisque Spip est un super framework (la question est résolue par ARNO et toi... quelques autres), il nous faut un outil d’aide à la conception. Je ne sais pas trop comment manipuler Eclipse pour lui faire entrer de nouvelles balises, mais j’ai commencé à bidouiller sous Quanta+ une nouvelle barre d’outil qui fournit les balises Spip. Le problème, c’est qu’il faudrait quelque chose de plus adapté pour pouvoir rentrer les arguments, critères, filtres et balises, exactement de la même manière que pour des balises html ou php.
Avec les boucles et balises spip préécrites dans les principaux IDE libres + l’autocomplétion qui va avec, on avancerait à pas de géant.
Voilà enfin un article, à la fois simple et relativement abordable, pour tordre le coup à ceux qui jugent si mal SPIP (sans connaitre, bien sur). Un rien d’humour du genre
Ce type de travail porte un nom extrêmement technique : c’est une « moulinette »...
pimente parfaitement le sujet :-)
Bien sur, il est d’autant plus pertinent et percutant aujourd’hui, puisque la version 2, rend pleinement officiel ces aspects de framework. Car, il faut bien ce le dire, cela restait un peu confidentiel jusque là (à moins de plonger tout entier dans la communauté SPIP j’entends).
Dans le même genre, il manque un article expliquant que « SPIP peut faire du site accessible » ... j’entends trop de critiques à ce sujet, alors que tout vient du squelette.
Évidemment, pour nous qui utilisons SPIP tous les jours (enfin, pas tous quand même) c’est évident que « SPIP peut faire accessible » ... mais comme il peut faire des sites catastrophiques.
La recette est simple :
- prendre un développeur web qui sait faire des sites accessibles
- injectez lui les
#BALISES,<BOUCLE_s>, et autres{filtres}- laisser mijotter, quand son œil commencera à pétiller, c’est qu’on approche :-)
... vous obtiendrez alors un site parfaitement accessible. Et même si vous le voulez, respectant parfaitement les recommandations du W3c ... n’est-ce pas Arno* qu’on peut [1] quand même :-p
Bref, si tu as du temps, ou pouvait souffler l’idée à Fil (ou l’un des autres mousquetaires, dont le nom m’échappe). Car il me semble qu’un tel article aurait bien plus de valeur écrit par l’un des auteurs historique et/ou actuel ... en plus vous savez très bien écrire :-)
merci encore ...
PS : si le plugin trackback existait je l’aurais utilisé ici tiens ;-)
Je crois que le principal problème, pour faire comprendre aux utilisateurs potentiels de SPIP l’interêt de son utilisation, est le fait que la documentation des fonctions évoluées dont SPIP regorge n’est pas encore suffisament documentée.
Une fois pris en main ce n’est effectivement que du bonheur pour gagner un temps plus que certain dans ses développements.
Merci pour ce nouvel article de qualité
Bonjour,
J ai un projet de fin d etude qui conçiste en la fabrique d’une moulinette qui devrait convertir tt type d entrée formats de fichier(provenant d’une BDD,SAP,....)en un seul format en sortie tres peu connu EDS(epost data stream)
les nouvelle possibilité offerte par le spip permettent de répondre à tout les besoins, je dev tout mes site avec ce cms depuis maintenant 5 ans.
j’en profite pour dire un grand bravo a arno pour son travail, d’une trés grande qualité et tout ce qu’il a apporté à spip.
j’aime paris , j’aime beyrouth et j’aime ce site paris-beyrouth, merci de m’inspirer si souvent :)
Chapeau bas ! c’est du grand art.
Hello,
Spip a effectivement selon moi dépassé le statut de "simple" CMS à celui de frameworkd dès la branche 1.9, dès qu’il a été possible d’utiliser le système de boucles sur des tables autres que SPIP de façon native, de lier des tables non spip, etc, plus le système de plugins, rolàlà que du bonheur...
Mais ce qui fait encore plus la force de spip parmi les autres solutions, ça reste sa communauté et toute la galaxie qui va avec, qui fait que si on a un souci, on peut le résoudre grâce à l’aide de tous.
Je bosses avec SPIP depuis 2001 pour créer toutes sortes d’applications non prévus out of the box et ç’a n’a été que du bonheur.
Ce qui m’échappe encore cependant, et ce n’est pas faute d’avoir cherché, c’est la méthode pour ajouter dans l’espace privé de nouveau objets éditoriaux au même titre qu’un article, une brève, etc. J’ai bien jeté un coup d’oeil au code de certains plugins qui le font, come Agenda par exemple. Regardé la doc relative aux pipelines, etc... ça m’échappe toujours. Je comprend comment réaliser un formulaire CVT mais pas comment écrire dans une base. Enfin je n’ai pas encore pigé comment fonctionne le dossier "privé" nouveau depuis 2.0. qui devrait sans doute donner des pistes sur la création de formulaires pour l’espace privé.
Ce qui manque donc à mon avis est un tutoriel ou une doc simple pour expliquer comment fonction l’API dans le cadre de création de nouveaux objets éditoriaux soit dans l’espace privé ou publique.
Je rejoins Pierre. Un besoin récurent, aujourd’hui, c’est de créer de nouveaux objets éditoriaux personnalisés...
Et je n’ai toujours pas trouvé la recette avec Spip.
Bonjour,
Je n’ai absolument pas été convaincu par votre article.
Un framework (un vrai, j’y reviendrais), permet de développer tous types d’applications. Il impose un cadre de développement et fourni une API. La plupart exploitent le modèle incontesté qu’est le MVC.
Dans vos exemples, vous utilisez Spip comme s’il s’agissait d’un défit. Mais reconnaissez que, précisément, vous n’en exploitez pas ou peu les caractéristiques. Dans votre premier exemple (ciné), rien ne justifiait l’emploi de Spip pour une unique page. Vous auriez directement dû la développer en PHP (plus simple, moins gourmand en ressource, plus... logique). Spip est adapté à de la publication éditoriale de contenus hiérarchisé, point. D’ailleurs, de nombreux utilisateurs avancés de Spip le reconnaissent.
Le but, dans un développement, est d’utiliser un outil adapté, pas de tenter une performance avec un outil inapproprié.
D’autre part, quand on parle de framework, on parle également d’API. Certains CMS, qui se disent framework, disposent d’une véritable API documentée (Drupal, Joomla, ...).
Un framework sans API documentée est inutilisable.
Où se trouve la documentation de l’API de Spip ? Une API existe t-elle seulement (le créateur du site programmer spip reconnait lui-même que Spip ne dispose pas réellement d’une API).
Même la liste exhaustive des pipelines, avec leur rôle précis, n’existe pas...
A moins de n’avoir jamais utilisé de véritables framework, je trouve qu’il est malhonnête d’associer ce terme à Spip.
J’imagine que sur un site pro-spip comme le vôtre, ce commentaire (s’il parait) va faire des vagues ;-)