Exemple d`usage de SPIP pour la réalisation d`un site Web CNRS
Transcription
Exemple d`usage de SPIP pour la réalisation d`un site Web CNRS
Manuel kit UREC SPIP (version 0.06)
Centre National de Recherche Scientifique : CNRS
Laboratoire : UREC, Unité Réseaux du CNRS
Exemple d'usage de SPIP
pour la réalisation d'un site Web CNRS
avec prise en compte des parties
à accès restreint (intranet)
par Xavier Jeannin et Geneviève Romier (CNRS/UREC)
1
Manuel kit UREC SPIP (version 0.06)
Table des matières
1.
2.
3.
Préambule
Introduction
Installation de SPIP
3.1. Pré requis
3.2. Installation de SPIP
3.3. Paramétrage de SPIP
3.3.1. Un premier essai pour tester l’installation de SPIP
4. Intégration de la charte graphique du cnrs
5. fonctionnement de spip
5.1. Le fonctionnement des squelettes SPIP
6. intégration du « kit » urec
6.1. Le format des pages
6.2. Les squelettes et le répertoire design
6.3. Le répertoire z-outils et Menu_Java
6.4. Langue
6.5. Styles
6.6. Quelques modifications et autres répertoires
6.7. Amélioration du libellé des URLs
6.8. Sécurisation du site
7. Règles de gestion du site
7.1. gestion de projet et conseils pratiques
7.2. Rôle des utilisateurs dans SPIP
7.3. Rubriques et articles
7.4. Statut des articles
7.5. Statut des rubriques
7.6. Structure hiérarchique des rubriques
7.7. Menu
7.8. Publication et mise à jour de vos pages
7.9. suppression d’un article
7.10. Suppression d’une rubrique
7.11. Déplacement des rubriques ou des articles
7.12. Principes de publication
7.13. Le chiffrement des adresses mail
7.14. Article redirigé et rubrique
7.15. Rubrique, articles et documents à accès restreint
7.16. Rubrique cachéé
7.17. Documents attachés et règles de nommage
7.18. Protection des document attachés
7.19. Insérer une image ou un tableau
7.20. Redirection HTTP
7.21. Icône en bas à gauche
8. Fonctionnement des filtres
9. htdig
10.
Conclusion
2
3
4
4
4
4
5
5
5
5
6
6
6
7
7
7
8
8
8
9
9
9
9
13
14
14
14
14
16
16
17
17
17
18
18
18
19
20
20
21
21
21
23
24
1. PREAMBULE
Ce document est né suite à la réorganisation du site de l’UREC (sept. 2005). Le centre
de calcul de l’IN2P3 (CC-IN2P3) a publié un kit pour les laboratoires de l’IN2P3, pour l’utilisation
de SPIP dans le cadre de l’harmonisation des sites de Web du CNRS. Nous avons réalisé notre
site en prenant ce kit comme point de départ et nous tenons à remercier particulièrement
2
Manuel kit UREC SPIP (version 0.06)
Dominique Cathala, Daniel Charnay et l’équipe informatique Web du CC-IN2P3 pour ce travail.
Comme le CC-IN2P3, nous publions le résultat de notre travail afin que d’autres laboratoires du
CNRS puissent s’en inspirer ou utiliser les solutions que nous avons mises en œuvre
notamment pour la gestion des pages et des documents protégés dans le cadre d’un intranet
dont l’accès est contrôlé par des certificats. Les laboratoires auront certainement à adapter le
style, par exemple, en fonction de leur département scientifique.
2. INTRODUCTION
Afin d’harmoniser la présentation des sites du CNRS, la direction des systèmes
d’informations (DSI) fournit un kit graphique pour les laboratoires du CNRS. Ce kit contient des
modèles de pages HTML, des « templates » Dreamweaver, des feuilles de style et des outils
pour la gestion de l’impression et d’un menu déroulant. Chaque département scientifique a
décliné ce kit en fonction de ses couleurs.
Le kit du CC-IN2P3 adapte le kit du CNRS du département IN2P3 à SPIP. Le kit du CCIN2P3 fournit notamment un programme qui permet de construire le menu dynamique en
fonction des rubriques créées dans SPIP. De plus, ce kit comporte aussi les gabarits
(squelettes) SPIP qui permettent l’affichage des différents éléments du site : article, rubrique,
formulaire de recherche, un plan du site et une page de crédits. Ces gabarits ont été adaptés
aux instructions d’harmonisation du CNRS pour l’IN2P3. Enfin, le kit CC-IN2P3 explique grâce à
une documentation comment installer et adapter SPIP (http://cc.in2p3.fr).
SPIP ne permettait pas les intranets tels que nous les utilisons à l’Urec. Nous avons
donc été amenés à développer les outils nous permettant de gérer les intranets y compris les
documents accessibles à travers les pages. Les recherches sur le site ne correspondaient pas à
nos attentes, nous avons également adopté le logiciel libre htdig qui apparaît comme étant celui
qui répond le mieux aux besoins actuels.
L’UREC utilise des couleurs institutionnelles du CNRS (de même que le CC-IN2P3).
Nous avons modifié profondément les gabarits du CC-IN2P3 sur deux plans : le format des
pages et le type d’informations affichés dans chaque page. En pratique, nous avons modifié le
style des pages par rapport au style officiel du CNRS, pour cela nous avons modifié les
squelettes de SPIP du kit du CC-IN2P3. De plus, nous avons choisi un schéma de navigation
différent de celui du CC-IN2P3 qui sera explicité plus en détail dans la suite de l’article (par
exemple nous n’affichons pas automatiquement tous les articles d’une rubrique). Ces choix
dépendent de chaque laboratoire, c’est pourquoi nous présentons notre travail comme un
exemple, qu’il est facile d’adapter à la présentation désirée pour votre site en modifiant les
squelettes de SPIP. Nous avons ajouté le moteur de recherche htdig, qui permet de rechercher
dans les documents (PDF) attachés aux articles. Enfin, nous avons créé des programmes
« filtres », qui permettent de limiter l’accès à un article SPIP ou à un document en fonction d’un
certificat numérique (par exemple : intranet des correspondants sécurité). L’autorisation d’accès
se décide soit sur une propriété du certificat de l’utilisateur, soit grâce à une interrogation d’un
annuaire LDAP.
3
Manuel kit UREC SPIP (version 0.06)
Figure 1 Tableau comparatif des fonctionnalités des différents « kits » CNRS
Kits
Kit CNRS
Modèle HTML
X
Kit
de
département
scientifique
X
Kit CC-IN2P3
« Kit UREC »
X
X (CNRS)
Modèle
X
X
X
X (CNRS)
Feuilles de style
X
X
X
X
Menu + impression
X
X
X
X
X
X (CC-IN2P3)
X
X
Dreamweaver
Menu
déroulant
dynamique SPIP
Modèle
SPIP
squelettes
Gestion des langues
Accès restreint page
Web
Accès restreint au
document
X
X
X
3. INSTALLATION DE SPIP
3.1. PRE REQUIS
•
•
•
•
Un serveur Web (nous avons utilisé Apache)
Mod_SSL (pour l’usage des certificats et de HTTPS)
PHP
Base de données MySQL (cette base contiendra l’ensemble des données du site à
l’exception des fichiers attachés)
3.2. INSTALLATION DE SPIP
Il existe deux méthodes pour installer SPIP soit à partir d’un programme « loader », soit
par une méthode classique. Le plus simple est de suivre la méthode classique : téléchargement
(http://www.spip.net/), décompression, puis suivre la procédure d’installation de SPIP. A l’issue
de l’installation, l’interface d’administration et de publication est commune :
http://mon_site/ecrire/. Nous conseillons de protéger cette URL soit par « .htaccess », soit par
un paramétrage dans « httpd.conf » et de laisser l’accès uniquement en HTTPS. En effet, cette
interface ne doit être accessible qu’aux administrateurs et aux personnes qui publient sur le futur
site.
3.3. PARAMETRAGE DE SPIP
•
Se connecter à SPIP à l’URL https://mon_site/ecrire/.
•
Passez en mode interface complète afin de pouvoir voir toutes les options.
•
La configuration se fait via l’onglet configuration et ses sous onglets. Les différentes
options sont assez intuitives, et vous pouvez en vous promenant dans chaque formulaire
facilement positionner les différentes options.
•
Les sous onglets de configuration proposent :
o Gestion des langues : SPIP peut gérer un site multilingue, nous n’avons pas mis
en place cette possibilité.
4
Manuel kit UREC SPIP (version 0.06)
o
o
•
Maintenance du site : vider et sauver la base de données.
Vider le cache : Le vidage du cache permet de voir directement
modifications du site.
les
L’onglet Auteurs permet de les créer et de leur attribuer des rôles : rédacteur,
administrateur restreint, administrateur.
3.3.1. Un premier essai pour tester l’installation de SPIP
Dans l’onglet Edition, vous pouvez créer vos premières rubriques, sous rubriques et
articles. La structure des rubriques et sous rubriques décrit la structure de votre site. Attention
sans paramétrage spécial, les rubriques n’apparaissent en visualisation sur votre site que
lorsqu’elles contiennent au moins un article ou une brève qui a été publié. Pour l’instant, votre
site possède le graphisme par défaut de SPIP.
4. INTEGRATION DE LA CHARTE GRAPHIQUE DU CNRS
Vous pouvez récupérer le kit graphique CNRS de votre département scientifique sur
l’intranet du site du CNRS. Ce kit, déjà présenté en introduction, contient des modèles pour le
logiciel Dreamweaver dans le répertoire Templates, des modèles au format HTML dans le
répertoire modeles, des feuilles de style dans le répertoire styles et des outils pour la gestion
de l’impression et d’un menu déroulant dans le répertoire z-outils .
Ce kit n’est pas prévu pour fonctionner avec SPIP, mais vous pouvez faire des pages
statiques grâce aux modèles. Pour l’utiliser, copiez les répertoires styles et z-outils présents
dans le kit CNRS à la racine de votre site.
5.
FONCTIONNEMENT DE SPIP
L’interface de rédaction de SPIP (https://mon_site/ecrire/) vous permet de saisir les pages
que vous voulez publier sous la forme d’articles ou de rubriques. Ces articles et rubriques sont
stockés dans la base de données citée plus haut. Un article est publié à travers un squelette qui
le met en forme et le renvoie sous forme d’HTML au poste utilisateur. Pour simplifier, SPIP
extrait les données de l’article de la base de données puis insère ces données dans la page
HTML (le squelette). Par exemple, il met le titre en haut et en gras, puis le texte de l’article dans
une case en bas et à droite de la page. Tout se passe comme si SPIP remplissait des trous
dans le squelette avec les informations de l’article.
SPIP range les pages de votre site en rubriques et en articles. Sans être tout à fait exact, par
analogie avec un site classique les rubriques seraient les répertoires et les articles seraient les
pages HTML d’un répertoire. En fait les rubriques peuvent aussi comporter du texte et même
des documents attachés de la même manière que les articles. La hiérarchie des rubriques forme
le menu de navigation dans le site.
Cette présente documentation réfère à la version 1.8.2 et 1.8.3 de SPIP.
5.1. LE FONCTIONNEMENT DES SQUELETTES SPIP
Extrait de la documentation officielle de SPIP :
«
Pour chaque type de document, SPIP vous demande deux fichiers : un fichier .php3 et un
fichier .html. Lors de l’installation de SPIP, vous trouverez ainsi les couples : « article.php3 /
5
Manuel kit UREC SPIP (version 0.06)
article.html », « rubrique.php3 / rubrique.html », etc. Vous pouvez naturellement modifier ces
couples, et en créer d’autres
Le fichier « .php3 » est très simple. Par exemple, article.php3 contient uniquement :
<?php
$fond = "article";
$delais = 24 * 3600;
include ("inc-public.php3");
?>
Son seul but est donc de fixer deux variables ($fond et $delais) et d’appeler le fichier qui
déclenche le fonctionnement de SPIP (inc-public.php3).
La variable $fond est le nom du fichier qui contient la description de la mise en page (le
squelette). Ici, puisque $fond="article", le fichier de description sera contenu dans
article.html. Notez bien que, dans la variable $fond, on n’indique pas la terminaison
« .html ».
La variable delais sert pour le cache de SPIP, elle permet de fixer la durée de rafraîchissement
du cache après un changement dans un des articles.
Dans SPIP, nous appelons les fichiers .html les squelettes. Ce sont eux qui décrivent
l’interface graphique de vos pages.
Ces fichiers sont rédigés directement en HTML, auquel on ajoute des instructions permettant
d’indiquer à SPIP où il devra placer les éléments tirés de la base de données (du genre :
« placer le titre ici », « indiquer à cet endroit la liste des articles portant sur le même thème »...).
»
6.
INTEGRATION DU « KIT
» UREC
Nous rappelons que les programmes, squelettes et documentations fournis ne sont pas
réellement un kit car faut les adapter au style de votre laboratoire et en fonction du kit CNRS
duquel nous nous sommes un peu éloignés.
6.1. LE FORMAT DES PAGES
Les squelettes que nous utilisons sont composés de 4 parties :
• Le bandeau du haut qui est toujours le même à l’exception d’une variation sur les images
selon les rubriques.
• Le bandeau juste au dessous du bandeau haut qui indique le chemin dans
l’arborescence des rubriques. Ce bandeau n’apparaît pas dans la page d’accueil.
• La partie gauche qui est une colonne composée :
o du menu dynamique des rubriques.
o du formulaire de recherche.
o éventuellement d’information générale (page d’accueil).
o d’une barre d’outils en bas à droite (retour page d’accueil, impression, écrire au
Webmaster, plan du site, page de crédit).
o du corps de l’article ou de la rubrique dans une case droite et basse.
6.2. LES SQUELETTES ET LE REPERTOIRE DESIGN
Pour mieux organiser les différents éléments de SPIP, les squelettes sont placés dans
un répertoire design à la racine de votre site (c’est la tradition sous SPIP). Pour faire cela, créez
un fichier mes_fonctions.php3 au niveau de la racine du site, contenant les lignes de
code suivantes :
6
Manuel kit UREC SPIP (version 0.06)
<?php
$GLOBALS['dossier_squelettes'] = 'design';
?>
Puis créer le répertoire design à la racine du site dans lequel vous rangerez vos squelettes :
rubrique.html, article.html, etc.
Pour le site de l’UREC, nous utilisons 5 squelettes différents, que vous trouverez dans le
répertoire « design » du kit :
• accueil.html pour la page d’accueil.
• article.html pour afficher les articles.
• plan.html pour le plan du site.
• recherche.html pour l’interface d’accès au robot de recherche du site.
• rubrique.html pour afficher les rubriques.
Pour utiliser le « kit » UREC copier les fichiers « PHP3 » (accueil.php3, article.php3, plan.php3,
recherche.html, rubrique.html) à la racine et les squelettes « .HTML » dans design. Les crédits
et les mentions légales sont réalisés par des articles rangés dans la rubrique cachée.
De plus, vous trouverez dans le répertoire design des programmes pour interfacer SPIP
avec le moteur de recherche HTDIG, leur nom contient le mot « search ».
Enfin, vous verrez un petit programme « image_bandeau.php » qui permet de changer
d’image en fonction de la rubrique, ce programme est appelé par certains gabarits.
6.3. LE REPERTOIRE Z-OUTILS ET MENU_JAVA
Afin de pouvoir bénéficier du menu déroulant, vous devez remplacer les fichiers livrés
dans le kit CNRS, par ceux du kit UREC, ces fichiers sont ceux fournis par le kit CC-IN2P3.
Extrait de la documentation du kit CC-IN2P3 :
«
Le menu déroulant livré dans le Kit CNRS est statique (libellés en dur dans le code).
Celui du CC-IN2P3 est généré dynamiquement à partir de la lecture des rubriques de votre site
SPIP. Si vous supprimez ou rajoutez des rubriques, elles apparaîtront automatiquement dans
votre menu Java script.
Vous devez donc remplacer le répertoire z-outils du kit CNRS par celui du Kit CC-IN2P3 (ici
Kit UREC), et copier menu_java.php3 à la racine, et menu_java.html dans le répertoire
design.
»
6.4. LANGUE
Vous pouvez gérer plusieurs langues dans le répertoire ecrire/lang. Dans ce cas, vous
devez y placer des fichier nommés « local.XX.php3 » où XX représente la langue (en, fr). Nous
n’avons pas mis en place la gestion des langues. Vous pouvez ainsi rendre générique un libellé
de texte par exemple :
'haut' => 'Retour haut de page', (fr)
'haut' => 'Back to the top', (en)
Le libellé s’utilise sous la forme < :haut :> dans le code html (cette balise sera interprétée en
fonction de la langue de la page, et affichera sa valeur en anglais ou français selon les cas).
Nous vous avons livré le fichier local.fr.php3 que vous devez copier dans ecrire/lang et le fichier
local.en.php3 du CC-IN2P3 à titre d’exemple.
6.5. STYLES
7
Manuel kit UREC SPIP (version 0.06)
Dans un premier temps, remplacer le répertoire styles du kit CNRS par celui du kit UREC. Il
s’agit des feuilles fournies par le CC-IN2P3 qui correspondent aux couleurs institutionnelles.
Vous pouvez adapter le style à celui de votre département scientifique grâce au document de la
DSI « kit graphique A pour les laboratoire du CNRS ». Des modifications ont été faites pour
positionner le formulaire de recherche.
6.6. QUELQUES MODIFICATIONS ET AUTRES REPERTOIRES
Il existe un bug dans le fichier inc_version.php3 de la version 1.8.2 de SPIP, remplacez la
version de SPIP dans le répertoire ecrire par celui du kit UREC. A partir de la version 1.8.3,
vous ne devez plus remplacer le fichier inc_version.php3 par celui fourni par le kit.
Le répertoire phpwrapper contient le programme qui permet d’interfacer SPIP à HTDIG,
vous devez le copier.
6.7. AMELIORATION DU LIBELLE DES URLS
Comme cela est conseillé dans la documentation SPIP, vous pouvez améliorer l’URL
http://mon_site/article.php3?id_article=17 en la remplaçant par http://mon_site/article17.html.
Pour faire cela, il faut :
• Positionner la variable $type_urls dans le fichier inc_url_dist à "html", $type_urls =
"html";
• Préciser les rewrite rules suivantes au niveau de la configuration de votre serveur
Apache :
RewriteEngine On
RewriteRule ^/rubrique([0-9]+).html$ /rubrique.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^/article([0-9]+).html$ /article.php3?id_article=$1 [QSA,L]
6.8. SECURISATION DU SITE
Vous devez protéger le répertoire de rédaction et d’administration /ecrire avec un fichier
« .htaccess » ou dans le fichier de configuration d’Apache comme nous l’avons déjà indiqué en
3.2.
De même le répertoire /CACHE ne doit être accessible à personne. Il faut supprimer tous
les squelettes (.HTML) et fichier PHP3 associés que vous n’utilisez pas car ils peuvent
permettre d’afficher des pages que vous avez protégées par ailleurs (voir le paragraphe filtre ;,
en voici la liste : resume.php3, distrib.php3, backend.php3, backend-breves.php3, ical.php3,
site.php3, sommaire_txt.php3.
De même, il faut aussi supprimer le répertoire « dist » qui contient les squelettes (.HTML) et
le répertoire « oo ».
Il faut supprimer les fichiers à la racine du site nommés : spip_acces_doc.php3,
spip_background.php3,
spip_cal.php3,
spip_image.php3,
spip_image_reduite.php3,
spip_inscription.php3, spip_pass.php3 spip_redirect.php3, spip_test_dirs.php3. Vous devez
conserver spip_cache.php3, spip_cookie.php3, spip_login.php3.
[
Le répertoire « design » ne doit contenir que les squelettes HTML que vous avez sécurisés ;
Chaque fichier de design a été modifié afin d'incorporer un filtre obligeant le squelette à passer
par un filtre. Ce filtre regarde si l'article ou la rubrique fait partie d'une rubrique protégée et dans
ce cas vérifie les conditions d’accès. Le traitement des zones à accès protégé est expliqué dans
le paragraphe « Fonctionnement des filtres ».
8
Manuel kit UREC SPIP (version 0.06)
7. REGLES DE GESTION DU SITE
Dans ce paragraphe, nous expliquons les règles que nous nous sommes données pour
gérer le site. Ces règles se traduisent dans l’écriture de nos squelettes et doivent être
respectées par tous les rédacteurs. Bien entendu, chaque site choisit ses règles, les règles sont
présentées ici uniquement à titre d’exemple, elles vous expliqueront le comportement du site si
vous installez le « kit » UREC tel quel.
7.1. GESTION DE PROJET ET CONSEILS PRATIQUES
Le site Web étant de la responsabilité du directeur du laboratoire, la première chose à
faire est de le consulter. Une bonne solution est de former un comité chargé de prendre les
différentes décisions pour votre projet, pour notre part, un comité technique et éditorial (CTE) a
été constitué pour assurer la gestion de notre site. Le changement du format des pages entraîne
souvent la nécessité de reprendre les pages ; le temps de migration s’en trouve
considérablement alourdie. Il faut faire des tests avec des rédacteurs volontaires afin de bien
arrêter les gabarits (les squelettes). Il faut déterminer les règles de publications et notamment le
schéma de navigation pour l’utilisateur. Ces règles, influant sur la conception de toutes les
pages, il faut les déterminer avant la migration. Enfin une documentation pour les rédacteurs
doit être rédigés ; cette partie (« Règles de gestion du site ») a été composée à partir de notre
documentation. De plus, nous avons mis sur le site un exemple de rubrique et d’article pour que
les rédacteurs puissent avoir un exemple en ligne.
7.2. ROLE DES UTILISATEURS DANS SPIP
Dans SPIP, l’on distingue quatre rôles en fonction des utilisateurs :
les administrateurs de SPIP :
Ils gèrent l’intégralité du site (la configuration, les administrateurs, les publicateurs, autorisent la
publication d’un article).
-
les administrateurs restreints :
Ils gèrent une sous arborescence du site Web (autorisent la publication pour leur sous
arborescence, quelques tâches administratives).
-
-
les rédacteurs :
Ils peuvent publier du contenu en ligne sous réserve d’accord d’un administrateur.
-
les internautes :
Ils visitent le site.
7.3. RUBRIQUES ET ARTICLES
Les rubriques de notre site représentent les têtes de chapitre, les thèmes d’activité de l’UREC.
Une rubrique peut contenir d’autres rubriques et un article appartient à une seule rubrique. Les
rubriques directement sous la racine du site sont appelées secteurs. Une rubrique contient une page
explicative qui permet de présenter la rubrique et de pointer vers d’autres articles. On peut faire le même
type de publication dans une rubrique que dans un article ; pour l’internaute, si la rubrique comporte une
page explicative bien développée, il ne perçoit pas la différence entre article et rubrique (cf.
http://www.urec.cnrs.fr/rubrique38.html et http://www.urec.cnrs.fr/article77.html). On peut attacher un
document à une rubrique.
9
Manuel kit UREC SPIP (version 0.06)
Un article est l’élément le plus simple pour la publication d’information. On peut attacher un document
à un article. Lors de sa création, l’article comporte plus de champs que la rubrique (titre, sous titre,
descriptif, lien, URL, chapeau) qui sont affichés selon les cas avec l’article. Le corps de votre page est
saisi dans le champ Texte.
A chaque création de rubrique ou d’article, SPIP génère un nouveau numéro qui leur est attribué et
qui leur sera propre. Ce numéro se retrouve dans l’URL de la page (rubrique ou article) et varie en
fonction de l’ordre de création ; c.a.d. que le premier article crée par SPIP au moment de sa mise en
service est "article1", tout comme la 60ème rubrique créée porte le numéro 60 ("rubrique60") et l’URL de
la page de cette rubrique est : http://www.urec.cnrs.fr/rubrique60.html.
Si vous modifiez le numéro d’un article, n‘oubliez pas de changer tous les liens qui pointaient vers cet
article.
Figure 2: Exemple de saisie d’un article
Titre
Rubrique de l’article
Vous pouvez faire la mise en page avec le langage SPIP ou en HTML. Vous pouvez utiliser les
boutons de l’éditeur SPIP pour la mise en page et il existe une aide en ligne pour les tags SPIP plus
complexes (tableau, etc.). Nous avons utilisé directement du HTML.
10
Manuel kit UREC SPIP (version 0.06)
Comme il est assez fastidieux de taper des pages de code soi-même, vous pouvez le faire beaucoup
plus facilement avec un éditeur de code, comme Dreamweaver par exemple. Vous tapez ainsi votre texte
dans une page où vous aurez toutes les possibilités de mise en page, et faites un copier-coller dans SPIP
du code HTML ainsi édité.
11
Manuel kit UREC SPIP (version 0.06)
Figure 3: Exemple de style avec le langage SPIP
Bouton de mise en page
Attention : Il faut coller uniquement le code se trouvant entre les balises « <HTML> <head> </head>
<body> » et « </body> </html> » (Il ne faut pas recopier le reste correspondant notamment au style,
puisqu’il est déjà prédéfini dans SPIP).
Lorsque vous écrivez un article, et surtout si il est long, il est conseillé de justifier le texte afin d’utiliser
le maximum d’espace de la page, ainsi que pour une meilleure lisibilité. Dans un éditeur d’HTML, il est
possible d’attacher les feuilles de style correspondant au site afin de mieux se rendre compte du résultat
final (disponibles sur le serveur web via FTP, le dossier « styles », les fichiers .css comme « styles.css »).
Chemin : « …………/html/styles »
12
Manuel kit UREC SPIP (version 0.06)
Figure 4 : Exemple du style avec le langage HTML pris dans une rubrique (les boutons de mise en page
SPIP n’apparaissent pas dans la rédaction d’une rubrique)
Modification d’une rubrique
Enfin, SPIP utilise le champ CHAPEAU pour des fins particulières, il ne faut donc pas utiliser ce
champ.
7.4. STATUT DES ARTICLES
L’onglet « en cours de rédaction » sert à mettre un article en attente de publication car non terminé
ou en cours de modification. L’article n’est visible que par les auteurs de l’article et par les
administrateurs. Les autres rédacteurs du site n’y ont pas accès.
L’onglet « proposer à l’évaluation », sert à informer les administrateurs que l’article est terminé et
est en attente de leur accord pour publication.
Un article « refusé » n’est plus visible que par son auteur et par les administrateurs mais ne peut
cependant plus être modifié par son auteur.
L’onglet « à la poubelle » détruit l’article concerné. Un article peut être mis à la poubelle, uniquement
par un administrateur.
Attention, cette opération est radicale car l’article disparaît définitivement (voir aussi le paragraphe
« supprimer un article »). Attention le numéro de l’article est perdu, vous devrez donc mettre à jour tous
les liens pointant sur cet article.
13
Manuel kit UREC SPIP (version 0.06)
7.5. STATUT DES RUBRIQUES
Les rubriques ne possèdent pas plusieurs statuts ; elles sont publiées automatiquement.
7.6. STRUCTURE HIERARCHIQUE DES RUBRIQUES
Vous pouvez créer autant de sous rubriques que vous voulez. Cependant, seulement trois niveaux
sont recommandés, car le menu de gauche n’affiche que trois niveaux de sous rubriques.
Chaque rubrique peut contenir autant d’articles que vous voulez, sachant qu’un article ne peut
dépendre que d’une seule rubrique à la fois.
Lorsque vous créez une rubrique à la racine (niveau 0 : Rubrique 1 sur l’exemple), vous pouvez soit y
insérer un texte de présentation de la rubrique ou des liens pointant vers les articles qui y sont contenus,
soit la laisser vide.
On affiche automatiquement la liste des rubriques de secteur (sous rubriques) ; la règle choisie par le
CTE de l’UREC est que les rubriques non terminales ne doivent pas comporter d’informations.
Dans l’interface de SPIP, vous pourrez également insérer dans le champ « Descriptif rapide » une
courte description de la rubrique, qui n’apparaîtra pas en ligne, mais sera visible par les rédacteurs, et
servira à connaître d’un seul coup d’œil son contenu.
7.7. MENU
Le menu liste les rubriques.
• Il affiche jusqu’à 3 niveaux de rubriques et sous rubriques.
• Pour ranger les rubriques dans le menu selon un ordre particulier, vous devez les nommer selon
la convention suivante : «XX. nom_rubrique» où XX représente un nombre par exemple «05.
UREC». Les rubriques seront dès lors rangées dans l’ordre des nombres mais ces derniers
n’apparaîtront pas dans le libellé du menu. Après avoir nommé une rubrique, on ne peut plus
changer son nom sans passer par l’administrateur de base de données de SPIP. Par convention,
il vaut mieux indexer ses rubriques par pas de 5 afin de pouvoir éventuellement insérer une
nouvelle rubrique.
7.8. PUBLICATION ET MISE A JOUR DE VOS PAGES
Une fois votre article créé, pour voir la nouvelle page, vous devez publier l’article. Seuls les droits
d’administrateurs (restreints ou non) permettent la publication. Les rubriques n’ont pas besoin d’être
publiées ; elles sont automatiquement publiées seulement si un document leur est attaché ou un de leurs
articles est publié.
14
Manuel kit UREC SPIP (version 0.06)
Figure 5 : Publication d'un article
Publication d’un article
Pour voir le rendu d’une modification, vous avez un aperçu après la validation des modifications mais
il n’est pas très ressemblant au rendu final. Vous pouvez le consulter sur votre site mais vous risquez de
ne pas voir de différence car, pour des raisons d’optimisation, SPIP possède un cache et le
rafraîchissement n’est pas automatique. Si vous vous êtes connecté au site d’édition en premier, vous
verrez apparaître sur la page correspondante du site de consultation le bouton « recalculer cette page ».
Cliquez dessus pour voir vos modifications.
Les administrateurs globaux peuvent aussi vider le cache, ce qui rafraîchit toutes les pages.
Lorsqu’un rédacteur intervient sur un article pour le modifier, la mention « Attention, un rédacteur est
intervenu sur cet article » apparaît, et ce, pendant une durée d’une heure. Il est donc déconseillé
d’intervenir à son tour sur l’article, car si deux rédacteurs interviennent en même temps sur le même
article, les modifications de l’un risquent d’être « écrasées » par les modifications de l’autre. Il faut donc
intervenir lorsque la mention aura disparue et que l’autre rédacteur aura enregistré ses modifications.
Il est recommandé de mettre à jour les dates de création et de mise à jour pour chaque article publié,
car celles-ci apparaissent en ligne et apportent une information utile aux lecteurs.
15
Manuel kit UREC SPIP (version 0.06)
Figure 6 : Recalculer une page
7.9. SUPPRESSION D’UN ARTICLE
Pour supprimer définitivement un article, sélectionnez dans le menu déroulant l’onglet « à la poubelle »,
et validez. Un article peut être mis à la poubelle, uniquement par un administrateur. Attention, cette
opération est radicale car l’article disparaît définitivement. Cette option est donc réservée aux articles
créés par erreur, que l’on veut totalement détruire. En effet, l’adresse peut avoir été référencée ailleurs, il
est donc important de conserver le numéro de l’article.
On préférera, le plus souvent, l’option « refusé » ou « en cours de rédaction » qui sont réversibles.
7.10. SUPPRESSION D’UNE RUBRIQUE
On ne peut que détruire les rubriques car les rubriques n’ont pas de statut, comme pour les articles
prenez en compte que leur URL peut avoir été référencée. Si vous détruisez la rubrique, vous ne pourrez
plus retrouver le numéro de rubrique et donc l’URL.
Pour supprimer une rubrique, il faut au préalable supprimer tout son contenu (texte, article qu’elle
contient, sous rubriques, etc.), en cliquant sur "Modifier". Après avoir validé la modification, un bouton
rouge apparaît alors en bas de la page de la rubrique pour la supprimer définitivement. Aucune
récupération n’est plus possible.
16
Manuel kit UREC SPIP (version 0.06)
7.11. DEPLACEMENT DES RUBRIQUES OU DES ARTICLES
Le déplacement des rubriques ou des articles est possible et très simple. Il existe un menu déroulant
qui apparaît lorsque l’on clique sur l’onglet « modifier », indiquant la hiérarchie des rubriques et des
articles sur le site (telles qu’elles sont créées par les administrateurs du site), il suffit de sélectionner celle
dans laquelle on veut déplacer la rubrique ou l’article. Dans ce cas, il faut comprendre que l’ensemble des
sous rubriques contenues dans la rubrique déplacée se « déplacent » également avec elle dans la
hiérarchie du site. De la même façon, les articles contenus dans une rubrique et ses sous rubriques se
déplacent avec elle.
7.12. PRINCIPES DE PUBLICATION
Les principes suivants on été retenus pour notre site :
•
•
•
•
•
•
•
Les rubriques non terminales n’ont pas de contenu, SPIP liste automatiquement les listes des
sous rubriques.
Les rubriques terminales doivent être rédigées et servent d’aiguillage pour les articles.
Les articles ne sont pas listés automatiquement, il faut faire une liste explicite.
Si une rubrique possède un article redirigé alors l’accès à la rubrique est redirigé vers cet article.
Les documents joints publics doivent être en priorité inclus dans SPIP, ils doivent posséder un
titre le plus explicite possible. Par exemple : cours_ATM_98.pdf. De plus le libellé dans SPIP doit
être correctement rempli.
Les documents joints peuvent être mis dans l’arborescence Apache.
Les documents à accès restreint sont placées soit :
o dans SPIP en l’attachant à une rubrique protégée.
o dans l’arborescence Apache en le protégeant via la configuration d’Apache.
Vous trouverez de plus amples explications, dans les chapitres référents à ces différents types
d’objet.
7.13. LE CHIFFREMENT DES ADRESSES MAIL
Comme vous le savez, il faut éviter que des programmes puissent récupérer nos adresses e-mails à
des fins de spam. Pour ce faire, on remplace (on code) les adresses e-mail avec du JavaScript ;
l'utilisateur peut visualiser l'adresse mail et utiliser le lien, mais les programmes de collecte d'adresse email sont incapables d'extraire l'adresse. Vous pouvez coder votre adresse e-mail en JavaScript pour
HTLM sur le site http://aspirine.org/emailcode.php.
Exemple avec le mot « webmaster » comme texte du lien et l’adresse [email protected].
Pour des raisons de sécurité, SPIP interdit aux rédacteurs de lancer des scripts PHP ou Javascript depuis
les articles ou les rubriques. Pour se faire, SPIP utilise la fonction interdire_scripts dans
ecrire/inc_texte.php3.
Vous pouvez remplacer la fonction suivante :
// Securite : empecher l'execution de code PHP
function interdire_scripts($source) {
$source = preg_replace(",<(\%|\?|([[:space:]]*)script),", "<\\1", $source);
return $source;
}
par
function interdire_scripts($source) {
$source = eregi_replace("<(\%|\?|([[:space:]]*)script)", "<\\1", $source);
$source = str_replace("<mot-de-passe-interieur>", '<script type="text/javascript" language="JavaScript">',
$source);
$source = str_replace("<mot-de-passe-extérieur>", '<script type="text/javascript" language="JavaScript" src=',
$source);
return $source;
Vous trouverez plus de renseignement à http://www.mmt-fr.org/article166/html
17
Manuel kit UREC SPIP (version 0.06)
Si vous faites cette modification, vous pourrez donner à des rédacteurs de confiance le mot de passe
pour lancer des scripts javascript. Ils doivent sélectionner et copier le script en partant des balises <!—
jusqu’à //--> (retirez les balises <script> ouvrante qui est déjà placée dans la page SPIP). Puis coller le
script dans un fichier texte (ex : Notepad), et l’enregistrer le fichier dans l’arborescence Apache dans le
répertoire « /design/mailto ». Nommer le fichier comme suit : mailto_webmaster.ps (attention au « .ps »)
Ensuite, placez le texte suivant dans votre page SPIP à la place du texte et de l’adresse mail :
<mot-de-passe-exterieur>" design/mailto/mailto_webmaster.js"></script>. SPIP vérifiera le mot de passe
et inclura le script mailto_webmaster.js. Il faut donc composer un fichier mailto_xxx.js pour chaque
adresse, et à chaque fois que le texte du lien est différent.
Enfin, il existe une solution plus souple mais elle oblige à permettre à tous les rédacteurs de
lancer un programme PHP ce qui peut être un problème pour la sécurité de votre site. Pour cela, il faut
ajouter une fonction de filtre qui agira sur la balise #texte de SPIP qui affichera le texte d’un article de la
manière suivante [<br><p>(#TEXTE|justifier|liens_ouvrants|autoriser_php)</p>]. Vous devez rajouter la fonction
filtre dans /mes_fonctions.php3 qui contiendra la liste des programme php autorisés.
function autoriser_php( $texte) {
// Dossier où sont stockés les scripts
$dossier_inclus = 'mes_php/';
// Liste des scripts autorisés
$scripts_autorises = Array(
'personnels.php',
personnels_infos. ….
Vous pouvez désormais appeler depuis un article ou une rubrique par la balise
#INCLURE (personnels_infos.php)
Vous trouverez plus de renseignement à http://www.spip-contrib.net/article451.html
7.14. ARTICLE REDIRIGE ET RUBRIQUE
SPIP permet de rediriger des articles vers n’importe quelle URL. C’est par ce mécanisme que l’on
peut conserver des pages d’un ancien site par exemple pendant le temps d’une migration.
Pour l’instant, nous avons mis en place un système qui permet de rediriger une rubrique vers une
URL. Ce mécanisme regarde si un article de la rubrique possède une redirection et dans ce cas effectue
la redirection. Ce système est pratique pour le menu du site Web mais notez bien que si vous redirigez un
article d’une rubrique, toute la rubrique sera redirigée et les autres articles ne seront plus accessibles via
le menu.
7.15. RUBRIQUE, ARTICLES ET DOCUMENTS A ACCES RESTREINT
Certaines rubriques sont à accès restreint comme la rubrique sécurité. Pour réduire l’accès à une
rubrique et à ses sous rubriques, il faut paramétrer les programmes du filtre à cet effet. Toute la rubrique
ainsi que ses sous rubriques seront en accès restreint.
Pour plus d’information sur les rubriques et documents à accès restreint, veuillez-vous reporter à la
section « Fonctionnement des filtres »
7.16. RUBRIQUE CACHEE
La rubrique nommée « 9999. Rubrique cachée » n’est pas publiée dans le menu. Vous pouvez l’utiliser
pour publier un article que vous désirez ne pas rattacher particulièrement à une rubrique. Si pour votre
site vous désirez faire une rubrique cachée, vous devez modifier les squelettes pour prendre en compte la
rubrique cachée qui n’aura pas le même numéro de rubrique que le nôtre. Nous y avons, par exemple,
mis les pages rubriques et articles d’exemple pour les publicateurs.
18
Manuel kit UREC SPIP (version 0.06)
7.17. DOCUMENTS ATTACHES ET REGLES DE NOMMAGE
Pour déposer un document sur le site Web, il existe deux méthodes :
• Soit un dépôt dans un répertoire de l’arborescence Apache via FTP ou autres
(racine_du_web/securite/CNRS/certificats.pdf).
• Soit un dépôt via SPIP.
Dans SPIP, les documents peuvent être attachés soit à un article, soit à une rubrique. Ils sont tous
déposés dans les répertoires racine_du_web/IMG/ doc, ou pdf etc. Le nombre de fichiers étant important,
il est nécessaire d'identifier leur rubrique et leur responsable. Il convient également d’éviter les doublons.
La règle de nommage définie par le CTE de l’UREC est que le nom du fichier commence par le nom de la
rubrique ou de la catégorie à laquelle appartient le fichier, puis l'année séparés par un point, par
exemple :
• articles.00.archi.reseau.pdf
• cours.ethernet.pdf
Pour les articles ou les rubriques, vous pouvez référer à un document déposé via SPIP dans une
page du site Web soit :
• via SPIP, exemple [Le rapport scientifique au format pdf -> doc43]
• via un lien HTML,
Exemple : <a href="http://www.urec.cnrs.fr/IMG/pdf/cours.ethernet.pdf "> Le cours Ethernet</a>
Vous pouvez aussi référencer un document qui n’a pas été attaché à un article ou une rubrique SPIP
uniquement par un lien HTML
Exemple : <a href="http://www.urec.cnrs.fr/etoile/licence/RS-etoile.pdf">.
Figure 7 : Exemple de fichier attaché à un article
19
Manuel kit UREC SPIP (version 0.06)
Pour les rubriques, vous pouvez lister les documents attachés à une rubrique grâce à l’option
« Edition/Documents des rubriques ».
Figure 8 : Trouver la référence d’une pièce jointe dans une rubrique
7.18. PROTECTION DES DOCUMENT ATTACHES
Pour protéger les documents déposés directement dans l’arborescence Apache, il suffit d’utiliser
un fichier « .htaccess » ou de configurer l’accès au répertoire dans le fichier de configuration d’Apache.
Pour SPIP, le filtre, décrit plus bas, protège les documents attachés.
Si vous désirez référencer des documents en accès restreint dans vos pages HTML, ces documents
ne pourront être référencés que comme un lien HTML.
7.19. INSERER UNE IMAGE OU UN TABLEAU
Les images se comportent exactement comme des documents attachés. Les images peuvent être
enregistrées dans l’un des formats suivants : .gif, .jpg ou .png.
Si vous téléchargez l’image à travers l’interface graphique de SPIP, cliquez sur « Ajoutez une image »
(dans le menu gauche lorsque vous aurez cliqué sur « modifier l’article ou la rubrique »). Le chemin vers
20
Manuel kit UREC SPIP (version 0.06)
l’image sera toujours « /IMG/gif/nom de l’image .gif ». De même, pour une image jpg le chemin sera
« /IMG/jpg/nom de l’image.jpg » etc.
Si vous n’utilisez pas SPIP pour référencer votre image (vous faites de l’HTML), placez votre
image dans un tableau invisible afin de la positionner à l’endroit voulu ; avec du SPIP, reportez-vous à
l’aide en ligne « Images et documents ».
Si vous insérez des tableaux ou des images dans votre article, sachez que leur largeur ne pourra
excéder 570 pixels de large ; dans le cas contraire, les bordures de la page se trouveront décalées.
7.20. REDIRECTION HTTP
Afin de ne pas perdre d’anciens liens vers notre site et pour ne pas perturber les utilisateurs, on peut
mettre des redirections et des alias allant des anciennes URL aux nouvelles dans SPIP.
Pour passer lors de la visite du site d’une zone libre à une zone protégé, nous avons dû faire des
redirections en HTTPS au niveau d’Apache.
7.21. ICONE EN BAS A GAUCHE
•
•
•
•
•
L’accueil est symbolisé par une maison.
L’impression permet une mise en page excluant le cadre de la page HTML et se fait en fonte
noire pour la lisibilité.
La lettre permet d’écrire au Webmaster.
La fleur montre le plan automatique du site.
Le « c » indique les mentions légales et les crédits.
8. FONCTIONNEMENT DES FILTRES
Nous gérons plusieurs zones à accès restreint (intranets) grâce des certificats et avec des
règles d’accès différentes selon les zones. Comme il n’y a pas de mécanisme pour gérer cela
dans SPIP et que les URLs ne sont pas hiérarchiques (nous ne pouvons pas nous appuyer sur
Apache), nous avons développé des programmes baptisés filtres qui protègent l’accès à ces
zones. Ces filtres se trouvent dans le répertoire /private du kit. Le premier programme filtre les
accès aux pages de SPIP, le second filtre les accès aux documents déposés dans SPIP (/IMG).
Il faut indiquer dans un fichier de configuration, le numéro de la rubrique que vous voulez
protéger ; toutes les rubriques filles, les articles rattachés et les documents attachés sont dès
lors protégés. A partir de l’URL demandée par l’utilisateur, le filtre cherche la première rubrique
ascendante qui est protégée et applique les conditions d’accès si nécessaire. Notez qu’une
rubrique protégée fille peut avoir une condition d’accès plus souple que sa rubrique mère.
Les conditions d’accès peuvent être de 2 types :
• Recherche de la présence d’une valeur dans un champ du certificat.
• Interrogation à un annuaire LDAP.
Les deux conditions (champ du certificat et LDAP) sont appliquées successivement et
reliées par un « ET » logique, d’abord la condition champ puis la condition LDAP. Vous pouvez
ne pas appliquer une des conditions d’accès en spécifiant les paramètres de cette condition sur
la valeur « NULL » ; Dans ce cas la condition d’accès est simplement ignorée.
Pour la condition « champ du certificat », on donne dans un fichier de configuration le nom
de la variable Apache liée au certificat que l’on veut tester et la valeur demandée pour cette
21
Manuel kit UREC SPIP (version 0.06)
variable du certificat. La condition globale peut être une combinaison de conditions élémentaires
séparées par la chaîne de caractères « %AND% » ou « %OR% »,
par exemple :
219
NULL
SSL_CLIENT_I_DN_CN==CNRSStandard%AND%SSL_CLIENT_S_DN_OU=~UPS8%OR%SSL_CLIENT_I_DN_CN==CNRS-Plus
17. testprivé
Dans cette ligne, la contrainte porte sur la rubrique 219 (17. testprivé) et la colonne trois
est la suivante :
SSL_CLIENT_I_DN_CN==CNRS-Standard%AND%SSL_CLIENT_S_DN_OU=~UPS8%OR%SSL_CLIENT_I_DN_CN==CNRS-Plus
L’interprétation de la condition est la suivante :
Il faut que le certificat soit de type CNRS-standard (SSL_CLIENT_I_DN_CN==CNRS-Standard) et que le
champ OU contiennent UPS8 (SSL_CLIENT_S_DN_OU=~UPS8) ou que le certificat soit de type CNRSPLUS. L’opérateur « == » correspond à l’égalité strict et l’opérateur « =~ »correspond à
« contient la chaîne qui suit ». Notez que paramètre « NULL » en colonne deux signifie que la
condition en LDAP n’est pas à appliquer.
Les conditions élémentaires sont évaluées successivement de gauche à droite ; Le filtre
évalue la condition générale en allant prenant le résultat des évaluations précédentes et
l’évaluation de la condition élémentaire de droite, par exemple :
Condition1%AND% Condition2%OR% Condition3%OR%Condition4
On fait d’abord une évaluation de Condition1 et Condition2 puis le résultat Res1 est évalué avec
Condition3, Res1 ou Condition3, pour obtenir le résultat Res2. Pour finir l’expression Res1 ou Condition4 est
évaluée pour obtenir le résultat final.Ce type d’évaluation ne permet pas de couvrir tous les cas,
il permet de résoudre les cas les plus courants.
Pour la condition LDAP, il faut indiquer dans le fichier de configuration en seconde colonne
la base dans l’arbre LDAP. Pour faire la recherche LDAP, vous pouvez paramétrer directement
dans le programme check_access.php le nom du serveur, le port, le filtre et les attributs
retournés. Comme vous le voyez, dans notre interrogation, nous testons si l’adresse email dans
le certificat est présente dans la base LDAP et que le champ webMember n’est pas à 0. Voici un
exemple de configuration :
32 ou=csec,ou=Listes,dc=urec,dc=cnrs,dc=fr null A2C2
Cela signifie que la rubrique "A2C2" numérotée "32" est accessible si :
L’adresse mail du certificat de l’utilisateur est présente dans l’arbre LDAP de base
ou=csec,ou=Listes,dc=urec,dc=cnrs,dc=fr et que le champ de webMember n’est pas à 0. Vous
pouvez paramétrer cette condition dans le programme private/check_access.php dans la
variable $filter.
Il faut enregistrer dans une arborescence LDAP, la liste des personnes qui peuvent accéder
à cette rubrique. Dans notre cas, nous nous appuyons sur un gestionnaire de liste de diffusion
qui fabrique l’arbre LDAP, d’où la condition sur l’adresse email.
Si vous voulez ne pas utiliser une condition (champ du certificat ou LDAP), vous pouvez
mettre la constante null dans la condition que vous ne voulez pas utiliser.
Les documents d’une rubrique ou d’un article sont protégés de la même manière. Il existe
néanmoins quelques différences. Tout d’abord tous les documents sont rangés dans le
répertoire /IMG. Pour appliquer le filtre, nous avons mis en place une redirection obligeant
toutes requêtes HTTP à passer par le filtre.
RewriteBase /IMG/
RewriteCond %{HTTPS} off
22
Manuel kit UREC SPIP (version 0.06)
RewriteRule (.*)
http://www.urec.cnrs.fr/private/private_access_file.php?file=%{REQUEST_URI}&DocumentROOT=%{DOCUMENT_R
OOT} [L]
RewriteBase /IMG/
RewriteCond %{HTTPS} on
RewriteRule (.*) /private/private_access_file.php?file=%{REQUEST_URI}&DocumentROOT=%{DOCUMENT_ROOT}
[L]
Cette redirection permet d’appeler le programme private_access_file.php qui va chercher si le
document appartient à une rubrique protégée ou un de ses ascendants (de même si le
document appartient à un article). Les documents attachés à des brèves ne sont pas traités par
le filtre. Si le document est protégé alors on passe en HTTPS et on applique les mêmes
vérifications d’accès que pour la rubrique ascendante avant de délivrer le document.
Attention
Pour toutes ces opérations, Il est impératif que le serveur soit paramétré avec les bonnes
Certification Autority, afin que le serveur soit à même de vérifier la validité du certificat. De plus le serveur
doit être obligé de vérifier la validité du certificat du client (de l’utilisateur) en positionnant la directive de
configuration SSLVerifyClient à require. En effet, le filtre ne vérifie que la présence de quelques champs
du certificat et non pas la validité de ce dernier qui pourrait avoir été forgé via openSSL en dehors d’une
IGC valide.
Mettre SSLVerifyClient à require pour l’ensemble de votre site entraîne que vous ne pourrez
plus avoir de connexion en HTTPS sans certificats ; la solution que nous avons utilisée pour pallier ce
problème est faire des hôtes virtuels dans le serveur Apache pour les autres cas.
Enfin, nous rappelons que les documents attachés peuvent être aussi protégés en les stockant
dans l’arborescence Apache et en utilisant les protections Apache (.htaccess et httpd.conf).
Retour d’expérience :
Nous utilisons le filtre sur les pages depuis plusieurs mois. Le filtre sur les documents n’est pas
un programme très long et nous l’avons testé soigneusement néanmoins nous le considérons
encore en test chez nous.
9.
HTDIG
Nous avons intégré le moteur de recherche (libre) htdig car le moteur de SPIP n’indexe pas
les documents du site.
HTDIG est un CGI ; pour indexer le site, il faut lancer un shell rundig régulièrement dans la
crontab. Rundig lance quatre programmes successivement htdig, htmerge, htnotify, htfuzzy :
• htdig parcourt un ensemble de sites.
• htmerge indexe les données.
• htnotify signale par email les pages dites obsolètes à leurs auteurs.
• htfuzzy crée un index pour les algorithmes fuzzi (flou). Par exemple, si on cherche "test",
le robot répond pour "test", " tests", "testeur", etc.
Le fichier de configuration /usr/local/www/htdig/conf/htdig.conf est assez explicite.
Il faut rajouter des filtres à HTDIG pour pouvoir indexer les documents doc, pdf, ps.
On peut lire du html, txt, ps, ppt, xls, pdf, doc. Le fichier de paramétrage est
/usr/local/bin/doc2html.pl à l'intérieur duquel on indique le filtre en fonction de l'extension
souhaitée. Nous vous donnons à titre d’exemple notre fichier de configuration pour que vous
puissiez avoir une première liste de filtres utilisables.
# rtf2html converts Rich Text Font documents to HTML
23
Manuel kit UREC SPIP (version 0.06)
# (get it from http://www.fe.msk.ru/~vitus/catdoc/)
my $RTF2HTML = '/usr/local/bin/catdoc'
# Catdoc converts MS Word to plain text
# (get it from: http://www.fe.msk.ru/~vitus/catdoc/)
#version of catdoc for Word6, Word7 & Word97 files:
my $CATDOC = '/usr/local/bin/catdoc';
#version of catdoc for Word2 files
my $CATDOC2 = $CATDOC;
#version of catdoc for Word 5.1 for MAC
my $CATDOCM = $CATDOC;
# PostScript to text converter
# (get it from the ghostscript 3.33 (or later) package)
my $CATPS = '';
# add to search path the directory which contains gs
# (edit for your environment)
$ENV{PATH} .= ":/usr/bin:/usr/freeware/bin";
# PDF to HTML conversion script
# Full pathname of Perl script pdf2html.pl
my $PDF2HTML = '/usr/local/bin/pdf2html.pl';
#Microsoft Excel to HTML converter
# (get it from www.xlHtml.org)
my $XLS2HTML = '/usr/local/bin/xlhtml';
#MicroSoft Excel to .CSV converter
# (you don't need this if you have xlHtml)
# (if you do want it, you can get it with catdoc)
my $CATXLS = '';
#Microsoft Powerpoint to HTML converter
# (get it from www.xlHtml.org)
my $PPT2HTML = '/usr/local/bin/ppthtml';
Pour l'intégration dans SPIP de HTDIG, nous avons utilisé « php wrapper for htdig » que vous
trouverez dans le répertoire /php-wrapper. Le squelette recherche.html appelle le programme
urec_search.php qui lui-même appelle htsearch de HTDIG.
Pour que HTDIG utilise un dictionnaire français et anglais, vous devez fabriquer un dictionnaire
de la manière suivante :
cp french.aff franglais.aff (cette ligne a verifier XJ)
cat french.0 ../english.0 | sort | uniq > franglais.0
/usr/local/www/htdig/bin/htfuzzy endings accents synonyms
Les documents et pages protégés ne sont pas indexés par HTDIG. Les pages protégées sont
dans la base de données de SPIP, il n’est donc possible de les indexer que via l’interface Web,
or HTDIG ne sait pas résoudre l’authentification par certificat.
10.
CONCLUSION
Le site Web d’un laboratoire est souvent un outil important pour la vie d’un laboratoire. Si sur
un plan technique les informaticiens sont à même de conseiller et mettre en œuvre un site avec
un bon niveau de sécurité, le site reste la propriété des publicateurs. C’est pourquoi, ils doivent
être associés à la démarche par exemple par l’intermédiaire d’un comité.
24
Manuel kit UREC SPIP (version 0.06)
Le passage d’un site web Apache à un site web Apache/SPIP nous a permis de prendre en
compte la charte graphique du CNRS, de moderniser la navigation sur notre site. Les
adaptations réalisées permettent d’y intégrer nos intranets, facilitant la tâche des personnes qui
mettent à jour à la fois des parties publiques et des parties intranet du site
Il ne faut cependant pas négliger le temps nécessaire à la fois sur le plan technique
informatique et sur le plan rédactionnel ; Ce type projet peut prendre plusieurs mois et les
utilisateurs doivent valider au cours du temps les solutions choisies.
Il existe une pléthore de CMS, le choix est relativement difficile. SPIP est outil qui n’est
pas forcément complet mais sa prise en main est aisée et il est facile de l’adapter à ses besoins.
Le projet libre est par ailleurs très vivant et de nombreuses contributions l’enrichissent. SPIP est
orienté publication universelle mais la publication sur le Web à tout l’Internet n’est plus
souhaitable dans tous les cas pour des raisons légales (résultats de tests de produits) ou
éditoriales (diffusions réservée aux agents du CNRS).
25