SPIP 1.7.2 introduit de nouveaux critères et balises, et des corrections de bugs, notamment :
SPIP en chinois
Le chinois vient compléter la liste des langues disponibles : arabe, bulgare, créole réyoné, danois, allemand, anglais, espéranto, espagnol, farsi, français, galicien, italien, néerlandais, occitan (7 versions), polonais, portugais, vietnamien... et chinois !
Création automatique de vignettes
— Plutôt que GD, on peut utiliser ImageMagick, si cette librairie est présente sur le serveur sous la forme du module php « imagick », ou de la ligne de commande « convert ». (NB : si vous utilisez fink (Mac OS X), il faudra préciser le chemin d’accès /sw/bin/convert
dans le fichier inc_version.php3
). ImageMagick donne généralement de meilleurs résultats graphiques.
— Que vous utilisiez la librairie GD ou ImageMagick, les vignettes sont désormais recréées en cas de besoin (on peut donc les effacer si on change de méthode de création, ou de taille, de vignette).
— Attention : Il faut vous rendre dans la configuration avancée du site pour sélectionner votre méthode préférée de fabrication de vignettes. Si plusieurs méthodes sont disponibles, cliquez sur l’image ayant le meilleur rendu ; si « imagick » est présent, préférez-le à « convert » : la méthode d’appel est plus « propre ».
Critères optionnels
Les critères optionnels permettent d’avoir des boucles à plusieurs usages : il suffit désormais d’ajouter un point d’interrogation à un critère pour que celui-ci ne soit pris en compte que s’il est passé dans le contexte. Cela permet par exemple de simplifier énormément les boucles de backend-dist.html
tout en gardant la possibilité de préciser qu’on veut le backend « restreint aux articles en créole » (backend.php3?lang=cpf
) ou « de la rubrique 7 et de ses sous-rubriques » (backend.php3?id_rubrique=7
).
La boucle elle-même est alors :
<BOUCLE_backend(ARTICLES){lang?}{branche?}{par date}{inverse}{0,10}>
Astuces venant compléter l’arsenal du multilinguisme :
— le critère {lang_select}
sert à forcer la sélection de la langue pour la boucle (AUTEURS), qui normalement ne le fait pas (à l’inverse, le critère {lang_select=non}
permet de dire aux boucles (ARTICLES), (RUBRIQUES) ou (BREVES) de ne pas sélectionner la langue).
— la variable globale de personnalisation $forcer_lang
indique à SPIP qu’il doit vérifier si le visiteur dispose d’un cookie de langue, et si oui le renvoyer vers la page correspondante. C’est ce que fait la page de connexion à l’espace privé livrée en standard avec SPIP.
exemple
$GLOBALS['forcer_lang'] = true;
— les balises #MENU_LANG
(et #MENU_LANG_ECRIRE
) affichent un menu de langue qui permet au visiteur de choisir « cette page en... ». La première balise affiche la liste des langues du site ; la seconde la liste des langues de l’espace privé (elle est utilisée sur la page de connexion à l’espace privé).
— enfin, les critères optionnels permettent d’utiliser une même boucle (en fait, un même squelette) pour afficher soit tous les articles du site dans toutes les langues, soit seulement les articles dans la langue passée dans l’URL. Ca peut être utile, par exemple, dans les boucles de recherche :
<BOUCLE_recherche(ARTICLES){lang?}{recherche}{par points}{inverse}{0,10}>
Petites choses
— SPIP 1.7.1 avait introduit un bug avec la puce, qui ne respectait plus le saut de paragraphe qui la précédait.
— dans l’affichage des statistiques, on a désormais une « prévision » du résultat à la fin de la journée, basée sur la moyenne (pour les visites du site) et sur la popularité de l’article (pour les visites d’un article). Ca vaut ce que ça vaut...
* *
SPIP 1.7.1 apportait pour sa part les nouveautés suivantes :
Moteur de recherche :
- Indexation des pétitions et des forums. A noter, les forums sont indexés par thread, et non pas message par message.
- Amélioration du tri {par points}
: les articles contenant les mots précis demandés ont beaucoup plus de points (que ceux qui ne contiennent que des mots commençant par les mots de la requête) ; de même, si une requête porte sur plusieurs mots, les articles comportant tous ces mots sortiront désormais en tête de liste. Le moteur de recherche offre donc des résultats beaucoup plus pertinents.
- Amélioration du moteur pour les articles en allemand et en vietnamien :
- en allemand on peut taper « über », « ueber » ou « uber » pour trouver le premier de ces trois mots (« über ») ; « ueber » en est la translittération « complexe », et « uber » la translittération simple.
- en vietnamien, ce sont les accents qui sont très riches : ainsi pour retrouver le mot « Người » avec tous ses accents, on peut le taper aussi bien
- avec les bons accents
- sous la forme « nguoi » (sans accents)
- « ngu7 », les accents étant transcodés, en interne, avec des chiffres
- Note technique : pour permettre des recherches aussi sous la forme « ngu+ » (c’est-à-dire directement dans la translittération habituelle du vietnamien sur Internet), il faut faire un pré-traitement de la variable
$_GET['recherche']
pour y remplacer les'`?~.^+(-
par le transcodage123456789
; évidemment SPIP ne peut fournir ce pré-traitement en standard, car il ne concerne que les recherches en langue vietnamienne.
- Le surlignement des résultats de recherche est compatible utf-8
Dans les squelettes :
- Le critère {tout}
dans une boucle (RUBRIQUES)
affiche aussi les rubriques vides
- la balise #EXPOSER
pour mettre en valeur le chemin d’accès à un article dans les listes de rubriques ou d’articles. (Voir la documentation).
- Un nouveau filtre pour les fichiers « backend » : |texte_backend
- Suppression systématique des numéro-titres dans les réponses des forums
- Il est désormais possible d’appeler un squelette avec un paramètre lang=...
- De même <INCLURE(...){lang}>
ou <INCLURE(...){lang=xx}>
fonctionnent enfin et sont capables d’aller éventuellement chercher un squelette affiné par langue (fichier article.xx.html
).
- Ajout des id_auteur
dans les boucles (FORUMS)
- possibilité d’utiliser un critère {url==...}
dans les boucles (SYNDIC_ARTICLES)
- Balise #URL_AUTEUR
.
- Le filtre |couper{}
est plus smart, notamment pour des longueurs très courtes ([(#TITRE|couper{5})]
donnera bien 5 caractères).
- Le filtre |reduire_image
permet de réduire des images à la volée, soit en utilisant la librarie gd (ou gd2) si elle est présente, soit en précisant width=... height=....
dans le code HTML produit.
Typographie :
- Ajout d’une balise <poesie>...</poesie>
qui permet d’entrer des vers ou des paroles de chanson avec des sauts de lignes adaptés.
- Meilleure gestion typographique (en français) des exclamations multiples (Whoah !??!!).
Dans l’espace privé :
- en interface complète la page ecrire/articles.php3?id_article=x
permet une « révision des insécables » en les affichant en grisé (le réglage est à faire dans le fichier ecrire/mes_options.php3
).
- retour des boutons de messagerie dans la liste des auteurs
Fonctionnalités expérimentales :
- Création de points d’entrée dans typo() et propre() pour des patches particuliers
- ajout de l’option $cookie_path
(pour bidouiller SPIP avec des scripts externes comme Spikini).
* *
SPIP 1.7 (3 janvier 2004) complétait l’internationalisation de SPIP en apportant la possibilité, souvent demandée, de construire des sites multilingues. Le site officiel,
désormais hébergé sur http://www.spip.net, est lui-même multilingue (les
volontaires pour continuer les traductions sont d’ailleurs les bienvenus :
rendez-vous à http://www.spip.net/rubrique4.html).
Sauvegarder la base de données
Il est conseillé de sauvegarder la base de données avant de mettre à jour SPIP. Pour cela, allez dans la partie « Administration du site » de l’espace privé, puis « Maintenance du site » et cliquez sur « Sauvegarde de la base de données ». Une fois la sauvegarde effectuée (vous devrez pour cela créer un fichier au nom particulier dans le répertoire ecrire/data), vous pourrez récupérer le fichier résultant dump.xml
ou dump.xml.gz
).
Après cette sauvegarde, vous pourrez mettre SPIP à jour comme expliqué plus bas.
Si vous avez un problème et qu’il faut restaurer la sauvegarde effectuée ci-dessus : réinstallez d’abord la version de SPIP avec laquelle vous avez effectuée la sauvegarde (TRÈS IMPORTANT) ! Ne cherchez surtout pas à restaurer sous la version 1.7 une sauvegarde que vous aurez effectuée avec la version 1.6 (par exemple) ! Une fois la bonne version de SPIP réinstallée, vous pourrez restaurer la sauvegarde que vous aviez faite précédemment.N’oubliez pas non plus que pour une sauvegarde complète, il faut également recopier le contenu du répertoire IMG/ en lieu sûr. Ce répertoire contient en effet les logos, images, documents que vous aurez uploadés depuis l’interface de rédaction.
Important : cette sauvegarde est une simple précaution. Ne cherchez pas à la
restaurer si tout fonctionne correctement. N’effacez pas non plus la base de
données avant de faire la mise à jour, c’est inutile et dangereux !
Mettre à jour
La procédure de mise à jour est la même que d’habitude. Vous avez deux possibilités :
- Utiliser l’installateur automatique, spip_loader.php3 : ce fichier que vous trouverez à l’adresse http://www.spip.net/spip-dev/INSTALL, remplacera automatiquement votre version courante de SPIP par la version 1.7.
Note : si l’installation automatique n’est pas compatible avec votre système, spip_loader.php3 vous en avertira et vous devrez alors utiliser l’installation manuelle décrite ci-dessous.
- Télécharger manuellement SPIP 1.7.1 sur votre site. Pour cela, vous devrez :
1. Choisir une des archives du répertoire http://www.spip.net/spip-dev/DISTRIB ; vous avez le choix entre la version complète, qui contient toutes les langues, et les versions monolingues qui contiennent chacune une seule langue mais sont plus légères à télécharger.
2. Télécharger cette archive sur votre ordinateur personnel, et la décompacter en utilisant l’utilitaire approprie (par exemple Winzip sous Windows).
3. Envoyer les fichiers ainsi décompactés sur votre site Web, par FTP. Les fichiers doivent bien sûr être envoyés au même endroit que la version précédente de SPIP.
Une fois la nouvelle version installée, vous devrez permettre au système de mettre à jour la base de données. Pour cela il vous sera demandé de créer un fichier d’un nom particulier dans le répertoire ecrire/data. Cette sécurité permet d’assurer que la personne qui effectue la mise à jour est bien autorisée à le faire.
Note : si un problème vous empêche par la suite d’accéder à l’espace privé de votre site, vous pouvez recréer un accès en effaçant simplement du répertoire ecrire le fichier inc_connect.php3, ce qui relancera le formulaire d’installation du site.
Une fois SPIP mis à jour, vous pouvez profiter des nouveautés qu’offre la version 1.7. Celles-ci sont détaillées ci-après.
Bonne chance et publiez bien
L’équipe de SPIP.
Sites multilingues
La version 1.6 enrichissait enfin SPIP d’un lot de traductions permettant d’utiliser l’espace privé dans différentes langues, et élargissant ainsi l’usage de SPIP à des rédacteurs de diverses langues. La version 1.7 complète désormais cet ajout en permettant également au site public d’être multilingue sans aucun effort de mise en place (à part quelques options de configuration à modifier). Cette fonctionnalité majeure (qui recouvre divers aspects comme l’affichage des dates et formulaires, la sélection de la typographie, la gestion des traductions d’articles) fait l’objet d’articles de documentation séparés.
Le multilinguisme inclut l’apparition de plusieurs outils dédiés, dont :
- Des options de configuration spécifiques
- Un système de gestion des traductions entre articles
- Une page de gestion des traductions par langue
- Un paquet de chaînes pré-traduites en diverses langues pour l’espace public
Suite de l’internationalisation
La palette des langues disponibles s’est enrichie, puisque, à ce jour, l’interface de rédaction de SPIP est traduite dans les langues suivantes :
- français
- anglais
- néerlandais
- vietnamien
- espagnol
- arabe
- farsi
- créole de la Réunion
- allemand
- danois
- espéranto
- italien
- bulgare
- polonais
- catalan
- portugais
- sept variantes différentes d’occitan : niçard, languedocien, gascon, provençal, auvergnat, limousin et vivaro-alpin !
Votre site public bénéficie également de ces traductions grâce à un système de textes pré-traduits livrés avec SPIP. Vous pouvez voir ce système en action dans les squelettes par défaut de SPIP 1.7 : changez la langue du site ou d’un article, recalculez la page publique correspondante, et les textes communs (navigation, dates, formulaires...) s’affichent dans la langue choisie !
La documentation elle-même commence à être traduite en diverses langues sur notre nouveau site officiel (http://www.spip.net). Tout cela représente un travail très important, et il y a largement de la place pour de nouveaux participants (rendez-vous dans l’« espace des traducteurs »).
Autres modifications importantes
Espace privé :
- Une barre graphique de raccourcis fait son apparition au-dessus des champs d’édition les plus importants (texte des articles, brèves, forums). Elle permet aux débutants de se familiariser avec les principaux raccourcis typographiques en utilisant dans un premier temps les boutons de la barre plutôt que leur équivalent au clavier.
- Dans l’écran de login, on peut choisir de rester identifié quelques jours, ce qui évite de retaper trop souvent son mot de passe.
- Refonte du calendrier personnel (agenda)
- Une page de suivi à distance de la vie du site permet de récupérer l’adresse de syndication (RSS) et d’injecter les événements du site dans un calendrier (format iCal).
- Nouveau système de navigation dans l’ensemble du site.
Site public :
- Ajout de la balise #DATE pour la boucle DOCUMENTS.
Corrections et ajouts mineurs
Espace privé :
- On peut désormais configurer une adresse mail expéditrice des mails du site (si elle est laissée vide, l’adresse apparente de l’émetteur est identique à celle du destinataire, comme précédemment).
- Lors d’une mise à jour de la base, SPIP teste d’abord si les droits d’accès à la base de données sont suffisants, et affiche un message d’erreur sinon.
- L’affichage des referers a été totalement revu.
- Deux variables de configuration supplémentaires pour mes_options.php3 : on
peut décider que SPIP va ignorer les connexions par REMOTE_USER (.htaccess)
et/ou par authentification http.
- Les mots de passe peuvent désormais contenir des accents (avec un jeu de caractères 8 bits de type iso-8859-1, pas utf-8...)
Site public, squelettes :
- Quand on poste un message dans un forum public, le nom et l’email utilisés sont mémorisés et pré-remplis automatiquement si l’on poste d’autres messages durant la même session. Cela évite d’avoir à retaper systématiquement son nom quand on participe beaucoup aux forums.
- Les pages correspondant à un article non publié ne sont plus mises en cache
- Message d’erreur au lieu d’une page blanche lorsque le serveur ne peut pas calculer la page et qu’elle n’est pas dans le cache (MySQL indisponible, sur le moteur de recherche, par exemple).
- Distinction plus précise des erreurs MySQL dans les squelettes.
- Correction d’un léger bug sur les forums publics : dans certains cas, la page n’était pas automatiquement recalculée lors de l’ajout d’un commentaire.
- Correction du bug des doublons avec la boucle hiérarchie.
- Pour les bidouilleurs : possibilité de redéfinir la balise #INTRODUCTION, en plaçant dans mes_fonctions.php3 une nouvelle fonction introduction(...). On peut se baser, pour démarrer, sur la fonction calcul_introduction qui se trouve dans inc-calcul.php3
Contenu du site, et autres :
- Ajout d’un champ nom_site et url_site aux articles (à activer, sous le nom de « lien hypertexte », dans la configuration du site). Les balises #NOM_SITE et #URL_SITE permettent d’afficher ces valeurs.
- Support des jeux de caractères arabes (windows-1256 et iso-8859-6)
- La configuration de l’URL du glossaire externe (pour les raccourcis de type « [?terme à rechercher]
») accepte maintenant une écriture plus souple (sous la forme "url_glossaire_avec_des_%s", où %s sera remplacé par le "terme à rechercher").
- Compatibilité MySQL 4.1.0
- Introduction d’un mécanisme de gestion de la charge (plutôt destiné aux hébergeurs) : lorsque SPIP détecte la présence, dans ecrire/data/
, d’un fichier nommé lock
, et si ce fichier n’est pas trop vieux (moins de 10 minutes), il évite de faire des calculs pas absolument nécessaires : indexation, statistiques, etc.
- Nouveau raccourci typographique « <quote>
... </quote>
», pour citer un morceau de texte (utile dans les forums publics).
- et diverses corrections et améliorations.