03. Les squelettes de www.monde-solidaire.org
Pour télécharger les squelettes :
skel-monde-solidaire1.zip (242 Ko) : contient les fichiers spécifiques à www.monde-solidaire.org
skel-monde-solidaire2.zip (35 Ko) : contient les fichiers spip qu'on a modifié.
Si vous voulez télécharger la version en cours, demandez à , pour qu'on mette ces fichiers à jour.
Si vous voulez installer le site chez vous, vous pouvez toujours télécharger le fichier dump.xml.gz (1.3 Mo) et faire un import de la base mysql dans spip.
Cet article a été écrit pour aider quelqu'un qui reprendrait la gestion de www.monde-solidaire.org à s'y retrouver.
Ces squelettes peuvent néanmoins être récupérés pour être adaptés à d'autres sites.
On publie cet article en se disant que vous pourrez au moins utiliser certaines parties de ces squelettes.
Dans ce qui suit, les chemins des fichiers sont relatifs à la racine du site (ex : si le site est sous /home/sites/monSite
, le fichier mes_fonctions.php3
représente /home/sites/mes_fonctions.php3
).
Installation
Ces indications sont valables pour spip 1.5.2.
- Dézippez un spip sur votre disque.
- Suivez la procédure habituelle d'installation (Faites pointer votre Apache sur la racine du site, et allez sur le répertoire http://monChemin/monSite/ecrire, et suivez les instructions).
Puis intégrez les squelettes de monde-solidaire :
- Supprimer de la racine :
- article.php3
- habillage.css
- impression.css
- mot.php3
- resume.php3
- site.php3
- sommaire_texte.php3
- spip_style.css
- typographie.css
- Tous les fichiers *-dist.html
- Décompressez l'archive skel-monde-solidaire1.zip à la racine du site ; cela doit avoir pour effet de rajouter les fichiers suivants :
- agenda.php
- archives.php3
- article.php3
- guiComponents.php3
- imprimer.php3
- menu.php3
- menuGeo.php3
- mes_fonctions.php3
- plan-agenda.php3
- sitesReferences.php3
- spip_style.css
- le répertoire mondeSol, qui contient les squelettes de www.monde-solidaire.org.
Pour modifier les fichiers spip, skel-monde-solidaire2.zipcontient les fichiers suivants :
- inc-formulaire.php3
- inc-forum.php3
- ecrire/article-edit.php3
- ecrire/auteurs.php3
- ecrire/inc_presentation.php3
Si vous utilisez un spip 1.5.2, vous pouvez écraser les fichiers spip et les remplacer par ceux-là ; Sinon, faites plutôt les modifs à la main (voir plus bas pour le détail des modifs).
Changez ensuite les valeurs des variables pour mySql dans mondeSol/meta/php/globals.php.
A propos du code des squelettes
La plupart des fichiers spécifiques au site sont dans le dossier mondeSol. Ce dossier contient les squelettes, ainsi que 2 dossiers :
- Le dossier
meta
, qui contient tous les fichiers annexes (css, javascript, images, php, bibliothèques (lib))
- Le dossier
contents
, qui contient des images ou documents qui sont utilisés dans différents articles ou rubriques ; ils ne sont pas inclus dans skel-monde-solidaire1.zip, car trop lourds.
- CSS : les feuilles de style sont dans mondeSol/meta/css sauf spip_style.css, laissée à la racine car utilisée par les formulaires de spip.
- Organisation des includes (utilisation de require()) : Chaque squelette appelle require("mondeSol/meta/globals.php") ; toutes les autres inclusions sont paramétrées par la valeur de certaines variables ou constantes de globals.php.
Ainsi, on n'a que ce fichier à changer lorsqu'on change de serveur.
- Liens vers les images : le dossier
mondeSol/meta/images
contient les images utilisées dans toutes les pages de l'interface publique. Ayant eu à gérer des problèmes de nombre de hits, le chemin vers ces images (attributs SRC des tags IMG) sont effectués par un appel PHP. Le chemin est affiché par la fonction mip()
; comme ça, on peut changer les images de serveur en n'ayant que mip() à modifier.
Même chose pour l'appel aux fichiers CSS (sauf spip_style.css), par mcp()
.
ATTENTION : cela empêche toute utilisation de url()
dans les fichiers CSS. Ces appels ont été déportés vers les squelettes utilisateurs (cas de rt_list).
Modifs dans le code de spip
On a touché au code de spip le moins possible. Les modifs ont surtout consisté à bloquer des liens, pour que les admininistrateurs/trices ne puissent pas faire trop de dégats par erreur.
On a aussi modifié les sous-titre et sur-titre, détournés de leur usage.
- ecrire/articles_edit.php3 : modification du texte affiché pour le surtitre et le sous-titre.
(les lignes modifiées contiennent "// modif www.monde-solidaire.org")
- ecrire/articles_edit.php3 : pour incruster z-editor + commenté ligne 582, pour supprimer le lien vers la création d'un nouvel auteur.
(les lignes modifiées contiennent "// z-editor")
- inc-formulaire.php3 : pour rajouter un commentaire.
(lignes modifiées contiennent "// modif www.monde-solidaire.org")
- modifié ecrire/inc_presentation.php3 (lignes modifiées contiennent "// modif monde-solidaire")
- ligne 1004, pour supprimer le lien vers les infos personnelles de l'auteur.
- ligne 1339, pour supprimer le lien vers la configuration du site.
- ligne 1401, pour supprimer le lien vers les infos personnelles de l'auteur.
- Modifié inc-forum.php3, pour rajouter de l'aide sur les raccourcis typographiques (modifs marquées par /* modifs www.monde-solidaire.org */);
- Modifié ecrire/auteurs.php3 : commenté ligne 53, pour supprimer le lien vers la création d'un nouvel auteur (lignes modifiées contiennent "// modif www.monde-solidaire.org").
Adaptation des menus DHTML
récupéré à : http://www.uzine.net/spip_contrib/article.php3?id_article=90
- Rajouté menu.php3 et mondeSol/menu.html
- Rajouté rep mondeSol/meta/lib/coolMenus
Dans mondeSol/menu.html :
- modifié onlineRoot
- mis le contenu du rep 'fonctions' de la distrib dans le rep 'mondeSol/meta/lib/coolMenus'
- fait un find and replace de "fonctions" par "mondeSol/meta/lib/coolMenus"
- modifié l'image fill2.gif
- changé valeurs de :
- oCMenu.level[0].width,
- oCMenu.level[1].width en fonction de la taille des titres des rubriques et sous-rubriques.
- oCMenu.fromLeft
- oCMenu.fromTop
- oCMenu.useBar (passé de 1 à 0)
Modifs dans la boucle d'affichage :
- Renommé les noms des boucles pour plus de clarté.
- A chaque niveau de boucle sur les rubriques, un lien vers la rubrique mère est écrit (ex : "--- Titre de la rub mère ---")
- Pour chaque rubrique affichée, un test est effectué pour tester si la rubrique est archivée.
- Remplacé partout #TITRE par [(#TITRE|supprimer_numero|texte_script)]
Notes aux administrateurs
- Lorsqu'une rubrique ou sous-rubrique est ajoutée, vérifier que les menus sont assez long pour contenir le nom de cette rubrique. Si ce n'est pas le cas, modifier la valeur de oCMenu.level[0].width (ou oCMenu.level[1].width etc... suivant le niveau de la rubrique) dans menu.html.
- Si un secteur (rubrique de plus haut niveau) est ajouté, rajouter des
dans guiComponents.html, en fin du cas "display = mainTableLeft", afin que le reste du contenu de la colonne de gauche s'affiche plus bas.
Si cela fait changer la taille de oCMenu.level[0].width, changer :
- mondeSol/meta/images/design/top_page.jpg
- mondeSol/meta/images/design/lt_bg.jpg,
- dans guiComponents.html l'attribut WIDTH dans display = mainTableLeft
- dans guiComponents.html l'attribut width dans display = searchForm
- dans guiComponents.html l'attribut width dans display = mailingList
- dans guiComponents.html l'attribut width dans display = spip
- dans mondeSol.css, lt_participateTable : la valeur de width