SPIP 1.8

(et SPIP 1.8.1)

Vendredi 1er avril 2005 : [SPIP 1.8] est téléchargeable à l’adresse www.spip.net/spip-dev/DISTRIB/.

Cette nouvelle version de SPIP constitue l’aboutissement de plus d’une année de travail (la version 1.7 date en effet de janvier 2004), et il est impossible d’en lister ici toutes les nouveautés de façon exhaustive.

Les plus grands efforts ont été faits, malgré des transformations importantes (visibles et invisibles) de tous les composants du programme, pour que la mise à jour d’un site sous n’importe quelle version ancienne de SPIP se déroule sans (trop de) difficultés.

En cas de problème de mise à jour, n’hésitez pas toutefois à demander de l’aide sur la liste spip@rezo.net, ou à consulter le nouveau site de forums de la communauté SPIP, à l’adresse http://forum.spip.org/.

L’espace privé

La transformation la plus spectaculaire est certainement celle de l’espace privé. Ce dernier a bénéficié d’une refonte graphique et ergonomique complète, permettant de publier plus vite et de naviguer plus aisément.

Un article de la documentation détaille les évolutions ergonomiques introduites dans cette version de SPIP.

Outils d’aide à la publication

Plusieurs outils d’aide à la publication ont fait leur apparition :

Le correcteur orthographique

Une fois un article écrit, on peut corriger les fautes d’orthographe grâce à un serveur externe de correction.

Une note à ce propos : le correcteur d’orthographe n’étant pas installé « en local », les mots à vérifier sont envoyés (dans le désordre) à des « serveurs d’orthographe » développés par le SPIP Lab’ et mis à votre disposition par divers membres de la communauté des utilisateurs de SPIP. Afin d’éviter d’ouvrir une brèche de « confidentialité », il est demandé aux webmestres qui le désirent d’activer expressément cette fonctionnalité sur leur site.

La prévisualisation

Une fois un article proposé à la publication, chacun (administrateur ou rédacteur, selon le réglage du site) peut le prévisualiser avec le squelette du site. Ainsi, on peut vérifier le bon affichage final de l’article sans devoir le « publier » puis le « dépublier ».

L’historique des modifications

Pour faciliter le suivi éditorial et l’écriture collaborative, [SPIP 1.8] introduit l’historique des modifications (également développé par SPIP-Lab). On peut ainsi obtenir une liste des derniers articles édités, et voir les modifications faites entre différentes versions d’un article.

Le portfolio

[SPIP 1.8] introduit une nouvelle mise en page pour les documents associés à un article. Tous les documents associés à un article — qui ne se trouvent pas déjà dans le texte — sont affichés dans un portfolio en dessous de l’article.

Depuis ce portfolio, on peut facilement éditer les titre et description d’un document. On peut aussi — si les bonnes librairies graphiques sont installées et configurées sur le serveur — faire tourner les images de 90 ou 180 degrés.

Ce portfolio est complété par la possibilité d’associer plusieurs documents à un article, en une seule fois. On peut :

  • soit mettre tous les documents à associer à un article dans un sous-répertoire de ecrire/upload/ ;
  • soit associer une archive zip à l’article. On aura alors le choix de la décompresser et d’associer les documents qu’elle contient à l’article.

Un article de la documentation précise l’utilisation des outils de traitement d’images.

Espace public

Emplacement des fichiers squelettes

Les squelettes par défaut (anciennement nommés « article-dist.html ») livrés avec [SPIP 1.8] ne sont plus la racine du site, mais dans un sous-répertoire dist/ ; ceci en accord avec un début de réorganisation des fichiers de SPIP, qui permet de placer les squelettes personnalisés dans le répertoire squelettes/, et plus seulement à la racine du site (le réglage éventuel de la variable $dossier_squelettes est toujours accepté).

Nouveau compilateur de squelettes

Innovation moins spectaculaire, mais sans aucun doute aussi importante que tout ce qui précède, [SPIP 1.8] introduit un « compilateur de squelettes ». Initialement présenté sur le site SPIP Contrib’, ce compilateur a permis, après des mois de travail acharné, d’obtenir une réécriture complète du système qui permet à SPIP d’interpréter le langage de boucles, de balises, de filtres et de critères.

Les avantages directs de cette réécriture ne sont pas forcément évidents au premier abord. L’important (outre le dépassement de certaines contraintes de programmation qui commençaient à peser lourd, et l’amélioration générale du code) est qu’elle permet d’introduire relativement facilement de nouvelles <BOUCLES()>, de nouveaux {critères} et de nouvelles #BALISES par simple ajout de fonctions dans le fichier mes_fonctions.php3 — à l’instar des |filtres des versions précédentes de SPIP.

Un bon exemple est la contrib Portrait ou Paysage ? publiée sur SPIP Contrib’, qui offre trois nouveaux critères de tris des images : {portrait}, {paysage} et {carre}.

Ce nouveau modèle devrait ouvrir le développement de SPIP à une frénésie de contributions, déjà bourgeonnante. Si vous ajoutez de votre côté de nouvelles fonctionnalités à SPIP, n’hésitez pas à en faire profiter toute la communauté !

Au passage, notons que l’on peut désormais :

-  intégrer une boucle dans le code optionnel avant d’une autre boucle (entre <B_articles> et <BOUCLE_articles(ARTICLES){critères...}>).

-  Les balises peuvent être « imbriquées » les unes dans les autres, par exemple : [ [(#SURTITRE)] (#LOGO_ARTICLE)]

-  De même, on peut mettre des <INCLURE()> dans les parties optionnelles d’une balise :
[<INCLURE(debut.php3)>(#SURTITRE) ]

-  On peut accéder sans programmation supplémentaire, dans les squelettes, à n’importe quel champ d’une table à travers la balise #NOM_DU_CHAMP

-  la syntaxe #_nom:TEXTE permet d’accéder à la balise #TEXTE de la boucle englobante nommée _nom. On peut ainsi accéder à des balises de boucles englobantes dont le nom serait ambigu dans le contexte de la boucle actuelle (typiquement, #TITRE et #_rubrique:TITRE).

-  On peut utiliser une balise dans l’évaluation d’un critère : {titre = #TITRE}

-  En définissant de nouvelles boucles, on peut accéder à des tables situées dans d’autres bases de données.

Un débogueur accompagne ce compilateur :
-  d’une part, le webmestre voit s’afficher des messages d’erreur en cas de problème de construction de ses squelettes ;
-  d’autre part, en remplaçant dans l’URl de recalcul de la page le code var_mode=recalcul par var_mode=debug, le webmestre accède à un mode de visualisation qui expose précisément le code PHP et MySQL produit par le compilateur à partir des squelettes. Un outil certes difficile de prime abord, mais précieux pour celles et ceux qui souhaitent comprendre en détail le fonctionnement de telle ou telle balise — et notamment quand il s’agit d’en construire de nouvelles.

Traductions

[SPIP 1.8] bénéficie aussi de l’important travail de sa toujours croissante communauté de traducteurs. Il est désormais disponible dans les 33 langues suivantes, avec souvent une documentation complète (les nouvelles venues sont signalées en gras) :

codelanguetrad.
ar العربية arabe
bg български bulgare
ca català catalan
cpf Kréol réyoné créole réunionnais
cpf_hat Kreyòl ayisyen haïtien
da dansk danois
de Deutsch allemand
en English anglais
eo Esperanto esperanto
es Español espagnol
fa فارسى farsi
fon fongbè fongbé
fr français français
gl galego galicien
hu magyar hongrois
it italiano italien
ja 日本語 japonais
lb Lëtzebuergesch luxembourgeois
nl Nederlands néérlandais
pl polski polonais
pt Português portugais
pt_br Português do Brasil brésilien
ro română roumain
tr Türkçe turc [SPIP 1.8.1]
vi Tiếng Việt vietnamien
zh 中文 chinois

et toujours les 7 variétés d’occitan : òc auvernhat, òc gascon, òc lemosin, òc lengadocian, òc niçard (en deux parfums), òc provençau, òc vivaroaupenc !

Les traducteurs et apprentis-traducteurs sont les bienvenus, pour toutes les langues de la Terre. Il y a de la place pour tout le monde. Faites circuler l’information et n’hésitez pas à « embaucher » vos amis ! La page de référence des traductions est toujours www.spip.net/rubrique4.html ; contact par email, sur la liste spip-trad@rezo.net

Autres nouveautés

De nouveaux raccourcis

Quelques nouveaux raccourcis font leur apparition :

-  on peut maintenant insérer du code LaTEX dans un article grâce à la balise <math>. Ce code sera traité par un serveur externe pour le transformer en une image qui sera intégrée au texte.

Par exemple, le texte suivant :

<math>la valeur de $x$ est $\sqrt{\frac{y^{2}}{z^{2}}}$</math>

s’affichera sous la forme :

la valeur de x est \sqrt{\frac{y^{2}}{z^{2}}}

-  le raccourci -- sera remplacé par un semi-quadratin —.

Nouvelles balises, critères et filtres

Quelques nouveaux filtres, critères et balises sont listés dans la documentation, accompagnés de la mention [SPIP 1.8].

Signalons par exemple, pour les amateurs de présentation à la façon « blog », le filtre |unique qui assure qu’un élément récurrent (une date par exemple) n’est affiché qu’une fois ; ou encore le critère {id_article IN 1,2,3} qui affiche les articles 1,2 puis 3 dans cet ordre.

Compatibilité

PHP 4.0.8, PHP 5. La version minimale supportée est désormais la 4.0.8 avec la librairie preg installée. [SPIP 1.8] est compatible avec PHP 5. La compatibilité avec PHP 3 est en revanche abandonnée.

Note : Pour des raisons « historiques », les fichiers de la distribution officielle continuent à se nommer xxx.php3 ; ce schéma de nommage disparaîtra dans la prochaine version de SPIP, au profit des xxx.php. Une version php de [SPIP 1.8] est toutefois disponible au téléchargement.

MySQL 3, 4.1.x Aucun problème de compatibilité n’a été relevé avec MySQL jusqu’aux versions 4.1.x. Si toutefois vous rencontrez un problème avec MySQL 4.1, merci de le signaler sur la liste de développement, spip-dev@rezo.net

Librairies graphiques. [SPIP 1.8] supporte la génération de vignettes avec NetPBM qui est facilement installable par ftp (voir http://gallery.menalto.com/modules.... chez les hebergeurs où il n’est pas déjà présent), mais aussi GD1, GD2, et Imagick (en module php, ou en ligne de commande sous le nom « convert »).

« W3C. » Le moteur de raccourcis fait son possible pour être conforme aux recommandations du W3C en matière de codage du HTML. Toutefois cela n’est pas parfait dans toutes les situations, notamment lorsque les utilisateurs entrent des textes comportant des balises complexes ou du code HTML.

Note : Pour parfaire les résultats [SPIP 1.8.1] introduit un mode « tidy », qui permet d’assurer que toutes les pages du site sont « valides XHTML1.0 » ; ce mode fonctionne déjà sur www.spip.net, même s’il n’est pas totalement stabilisé. Pour plus d’informations voir article 3070.

Sans oublier :

  • Un nouveau module de gestion d’URL est intégré : il s’agit du mode « urls propres », qui permet de passer de l’adresse http://monsite/article.php3?id_article=17 à quelque chose qui ressemble à http://monsite/titre_de_l_article ;
  • Les forums sont indexés dans le moteur de recherche. Cette indexation n’est pas individuelle, mais par fil de discussion (toutes les réponses à partir du « pied » d’un thread) ; la variable id_thread et les balises #ID_THREAD et #URL_FORUM font leur apparition.
  • La boucle (HIERARCHIE) est traitée de façon plus souple : on peut donc faire {inverse}, {par hasard}, {n-2,1}, {par titre}, etc.
  • le système de cache gère un quota d’espace disque occupé sur le serveur (réglé par défaut sur 5 Mo) ;
  • l’insertion de documents est maintenant gérée par des <div> et des feuilles de style ;
  • le raccourci {{ }} est maintenant transformé en <strong> ;
  • la syndication accepte les flux aux formats Atom 0.3, RSS 0.91, RSS 1.0 et RSS 2.0 ; les corrections faites en amont sur le site syndiqué sont reprises par SPIP quand il intègre les flux, et les champs <modified> et <lastBuildDate> modifient désormais la date des articles syndiqués ; pour sa part, la syndication de flux « javascript » est abandonnée (mais avait-elle jamais été utilisée ?) ;
  • les fichiers de localisation peuvent être placés dans le même répertoire que les squelettes ;
  • le fichier ecrire/lang/perso.php3 disparaît, il est remplacé par les fichiers local_xx.php3 que l’on peut placer dans le répertoire des squelettes. xx spécifie un code de langue, ce fichier aura alors priorité sur les autres modules de localisation de la même langue. Le fichier local.php3, s’il existe, est inclus en dernier lieu et permet tous les hacks imaginables.
  • on peut suivre l’activité de SPIP dans ses fichiers logs : ecrire/data/spip.log et ecrire/data/mysql.log
  • L’aide en ligne n’est plus livrée en standard, elle fonctionne en client/serveur, avec téléchargement automatique depuis le site spip.net.
  • Enfin, last but not least, l’Agenda de l’espace privé a été entièrement revu.

* * *

[SPIP 1.8.1]

Introduite le 15 avril 2005, [SPIP 1.8.1] règle les quelques soucis d’installation qui se sont fait jour après la sortie de la version 1.8. Elle apporte en plus :
-  le mode « tidy » (voir ci-dessus) ;
-  un nouveau fichier htaccess.txt pour la gestion des URLs personnalisées (voir Utiliser des URLs personnalisées) ;
-  une révision de l’aide en ligne ;
-  une mise à jour du module LDAP

Dernier point à noter, la balise #PARAMETRES_FORUM a été revue. Il n’est en effet plus besoin désormais de passer l’adresse de retour dans les paramètres de forum, car, par défaut, SPIP redirige désormais le visiteur qui vient de poster un message vers l’adresse #URL_FORUM de ce message. Si le résultat ne vous convient pas, vous pouvez récupérer l’ancien fonctionnement en passant l’adresse de retour en argument de la balise, sous la forme [(#PARAMETRES_FORUM{#SELF})]

Au passage, ce nouvel argument « page de retour » qu’on peut désormais passer à la balise permet de faire des redirections vers une page de votre choix, par exemple
[(#PARAMETRES_FORUM{message_recu.php?id_article=#ID_ARTICLE})]
si vous souhaitez afficher un texte particulier après l’envoi du message. (Ce qui peut être pertinent pour des forums modérés a priori.)

Amusez-vous bien !

Téléchargement

Comme d’habitude le téléchargement de SPIP se fait depuis www.spip.net/spip-dev/DISTRIB/. La mise à jour s’effectue de la manière classique, voir Effectuer une mise à jour. Les sites installés à l’aide de spip_loader peuvent être mis à jour automatiquement.

Portfolio

Auteur L’équipe de SPIP Publié le : Mis à jour : 27/07/22

Traductions : عربي, català, Deutsch, English, Español, français, italiano, Português, Türkçe