Gestion d'un site web avec SPIP

Introduction

SPIP est un des multiples outils (Content management system, CMS) basés sur PHP et MySQL pour aider à la gestion du contenu d'un site web. Il est sous licence open-source GPL, et est notamment utilisé par le site Uzine. Cet article a été rédigé en installant la version 1.7.2 (Note: La version 1.8 est compatible de PHP 4.0.8 à PHP 5.)

Installation

  1. Récupérer le ZIP sur votre machine, le décompresser, se placer dans le répertoire SPIP qu'il contient, et uploader la totalité de ce répertoire sur un serveur web supportant PHP (extensions .PHP et .PHP3...) et MySQL
  2. Lancer le script d'installation www.acme.com/ecrire/ (on suppose que SPIP a été installé à la racine du site)
  3. Indication des paramètres de connexion à MySQL, à savoir adresse du serveur où tourne MySQL (du genre localhost, ou sql.free.fr), puis login et mot de passe pour s'y connecter
  4. SPIP va vérifier qu'il parvient à établir une connexion à MySQL. Si erreur, retourner à la page précédente, et vérifier les paramètres
  5. Créer une nouvelle base, ou en utiliser une d'existante
  6. SPIP crée dans cette base les tables dont il a besoin
  7. Création d'un compte administrateur: Nom complet tel qu'il sera affiché dans les messages postés sur le site, adresse de mail, nom de compte (login) et mot de passe
  8. SPIP dirige l'utilisateur vers un écran de connexion pour commencer à paramétrer le site

Note:

SPIP en 10 minutes

Une fois loggé, vous vous trouvez face à une interface comportant plusieurs options de base telles que "A suivre" (pour par exemple valider les articles en cours d'approbation), "Edition du site" (pour ajouter un article ou une brève), etc. Tant que vous ne maîtrisez pas bien SPIP, il vaut mieux rester en mode "Interface simplifiée" et éviter de tout casser...

  1. Prendre une bière au frigo, et regarder Créer un article dans spip (Tutoriel en Flash pour débutants)
  2. Commencer par modifier le titre du site via l'icône Configuration
  3. Créer une rubrique
  4. Ajouter et valider un article dans cette rubrique, puis recalculer la page
  5. Installer un squelette un peu mieux fichu que celui livré par défaut avec SPIP (version 1.8.2, en tout cas), comme par exemple Minimal’SPIP de maximegb) : il suffit de placer le contenu du ZIP à la racine de SPIP, et de recalculer la page.

    Note: Par défaut, les rubriques seront affichées dans l'ordre alphabétique; Pour les afficher dans un ordre différent, il suffit d'ajouter un numéro dans le titre de la rubrique (par exemple, "1. Ma première rubrique"), puis de rajouter le filtre supprimer_numero dans les squelettes (c.a.d. [(#URL_SITE_SPIP|menu{false}|supprimer_numero)] )

Les squelettes

Pour personnaliser la mise en page, il vous faut créer ce qu'on appelle un squelette ("template", en anglais), ce qui consiste à créer un fichier HTML pour chaque partie du site, chaque fichier HTML contenant des balises que SPIP remplacera par le contenu extrait de la base de données.

Voici un exemple de ce que peut contenir le fichier article.html qui sert à afficher... un article:

<a href="(#URL_SITE_SPIP)" title="<:accueil_site:>"><b>#NOM_SITE_SPIP</b></a>]

Lors de la génération de la page d'un article, ces balises seront remplacées par SPIP par le contenu réel de l'article, en l'occurence le nom et l'adresse du site, et la page générée sera sauvegardée dans le sous-répertoire cache/ du site afin d'éviter de relancer à chaque visualisation ce processus coûteux en temps processeur.

Concrètement, il vous faut créer les fichiers suivants:

Depuis [SPIP 1.8], les squelettes personnalisés doivent être rangés dans un répertoire nommé squelettes/ (attention au « s » final !), que vous créerez à la racine de votre site SPIP. Que vous souhaitiez installer un jeu complet de squelettes (pris sur SPIP - Contrib ou ailleurs), ou apporter une légère modification aux squelettes par défaut, placez vos squelettes dans ce répertoire.

Pour afficher les pages du site, SPIP cherche les squelettes prioritairement dans le dossier squelettes/ ; si SPIP n’y trouve pas un fichier .html qui lui est nécessaire, il ira chercher celui de la distribution dans le dossier dist/.

Fonctions de base

La section administrative du site, c.a.d. celle où l'on se rend pour créer un nouvel article si l'on est rédacteur ou paramétrer le site si l'on est webmaster se trouve dans le sous-répertoire /ecrire (par ex http://www.acme.com/ecrire). L'alernative est de cliquer sur le lien "Espace privé" dans la page d'accueil du site.

"Une des souplesses de spip est de pouvoir rajouter ses propres fonctions facilement. Pour ajouter votre fonction il suffit de l’ajouter au fichier mes_fonctions.php3 (ou de créer celui-ci s’il n’existe pas encore sur votre site). Cette fonction pourra être appelée dans les squelettes du site comme les autres filtres et permet donc de modifier un champ tiré de la base de données. Son utilisation est la même que pour les filtres fournis dans la distribution de spip : par exemple [(#TEXTE|ma_super_fonction)]"

Créer une nouvelle rubrique

A suivre > Créer une nouvelle rubrique

Edition > sélectionner une rubrique > Créer une sous-rubrique

Créer un nouvel article

Edition du site : pour écrire article

Une fois un article rédigé, il est dans l'étape "En cours de rédaction", et donc pas encore visible sur le site. Cliquer sur "Demander la publication de cet article". Se rendre dans l'espace "A suivre", puis "Publié". Enfin, dans la page d'accueil du site, cliquer sur Recalculer cette page

Q&R

Lorsque je lance SPIP pour la première fois, je vois un écran rempli d'instructions

Vérifier que le serveur web supporte les extensions PHP et PHP3. SPIP mélange les deux.

Comment fait-on des listes?

Dans SPIP 1.7.2, au moins sous Opera et Firefox, les listes n'apparaissent pas correctement tant que l'article n'est pas publié.

Comment éviter l'affichage du début du corps de l'article en page d'accueil?

Lorsque l'article commence par une liste, la page d'accueil est trop remplie.

Comment insérer une image dans un article?

Créer un article, le valider, puis cliquer sur Modifier, puis Ajouter une image.

Il faut d'abord créer l'article, puis le modifier afin de faire apparaitre le lien "Joindre un document". Puis, dans le corps de l'article, ajouter une balise du type <myimg.jpg|center>. En fonction de la configuation PHP du serveur sur lequel tourne SPIP, il peut générer lui-même une version vignette d'une photo afin qu'elle s'affiche plus rapidement lors de la visualisation de l'article (Administration du site > Fonctions avancées)

L'édition et l'affichage fonctionnent mal ou pas dans mon navigateur

Visiblement, SPIP ne fonctionne vraiment correctement qu'avec Internet Explorer. Eviter Opera et même Firefox.

Il faut régénérer toute les pages manuellement si on change le titre du site?

Un article créé juste après l'installation comporte encore "Mon site SPIP" plutôt que le titre changé plus tard.

Administration du site > Vider le cache?

La structure Rubrique/sous-rubrique à gauche est parfois incorrecte

Il arrive que l'ordre soit incorrecte, même après recalcule de la page (une rubrique apparait comme sous-rubrique d'une autre rubrique).

Une image ne s'affiche pas

SPIP fait une différence entre un document joint à un article, et une image. Le premier sera inclu sans autre manipulation, là où une image nécessite d'insérer une balise ad hoc dans le corps de l'article.

(CHECK) Il semble que SPIP n'aime pas le caractère _ dans le nom d'un fichier-image, et nécessite vraiment d'insérer une balise <imgX> dans le corps du texte.

J'ai créé un nouvelle sous-rubrique, mais elle n'est pas listée

Pour qu'un article d'une sous-rubrique, il faut qu'elle possède au moins un article. Faire attention à bien choisir la bonne rubrique dans la liste "À l'intérieur de la rubrique :".

Ressources