Voir aussi
Dans la même rubrique :
Quiz en PHP 1/3
Quiz en PHP 2/3
Quiz en PHP 3/3
Page contact en PHP 3/3
Installer un script PHP pour les nuls
Page contact en PHP 1/3
Page contact en PHP 2/3
Menu de navigation sans JavaScript
Créer un forum à l’aide de phpBB
Page Erreur 404 en PHPDu même auteur :
Suivi de vos articles
Exécuter un Javascript dans une page SPIP
Reprendre un document Word
Les Centres de santé
Comité Départemental d’Education pour la Santé des Yvelines
Les sites des Médecins Maîtres-Toile
Joindre un document à un article
Placer une image dans un article
Les raccourcis typographiques
Ecrire ou modifier un article
Présentation de l’espace rédacteurs
Conseils aux rédacteurs
Lire nos fichiers de syndication
Syndication, comment s’y retrouver
Afficher plusieurs flux RSS/Atom sur une page
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Accueil du nouveau rédacteur
Javascript : n’oubliez pas Mac OS !
Positionnement fixe... même avec Internet Explorer !
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP
Editez vos flux avec Fil_LE 1/2
Editez vos flux avec Fil_LE 2/2
Editer plusieurs fichiers de syndication 1/3
Editer plusieurs fichiers de syndication 2/3
Editer plusieurs fichiers de syndication 3/3
Documentation sur SPIP
Abandonnons RSS 0.91 !
La syndication de contenu RSS
Ecrire ce qu’on veut dans SPIP
Utiliser les smileys
Joindre un logo à un article
Référencer un site
Création à distance d’un fichier de syndication
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Quand JavaScript est désactivé... 2/2
Afficher un fil RSS/Atom sur votre site 1/3
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Un Editeur RSS pour votre site 1/2
Un Editeur RSS pour votre site 2/2
Un lecteur RSS pour votre site 1/2
Un lecteur RSS pour votre site 2/2
Menu dépliant pour les rubriques
Quand JavaScript est désactivé... 1/2
Astuce pour les images fréquemment utilisées
Gestion d’une rubrique... en attendant SPIP
Utilisation de la classe easyRSS
Proposer plusieurs styles pour votre siteMême indexation :
Technique Web
Le web structuré et sa présentation
Mise en place d’un forum : une décision qui doit être mûrement réfléchie
Contrôler l’accès d’une partie du site avec .htaccess
Soigner en ligne, un art impossible ?
Quand JavaScript est désactivé... 1/2
Réaliser un formulaire de contact (5/4)
Page Erreur 404 en PHP
Javascript : n’oubliez pas Mac OS !
Réaliser un formulaire de contact (2/4)
Etablir un questionnaire statistique en ligne
Proposer plusieurs styles pour votre site
Un serveur dédié pour les nuls
Initiation au xhtml - 2
Page contact en PHP 1/3
Editer plusieurs fichiers de syndication 3/3
Créer une liste de QCM
Menu dépliant pour les rubriques
Publication Spip : forme et typographie
Quiz en PHP 1/3
Réaliser un formulaire de contact (4/4)
Editer plusieurs fichiers de syndication 2/3
Editer plusieurs fichiers de syndication 1/3
Utilisation de la classe easyRSS
Tri et Histogramme
Positionnement fixe... même avec Internet Explorer !
xhtml - 4 : Les entités
Analyser les réponses à une liste de questions
Conseils pour débuter un site web
Quiz en PHP 2/3
Quand JavaScript est désactivé... 2/2
Comment faire migrer son site ?
Comment intégrer Snap Shots à Rapidweaver ?
Webmasters : Comment mieux se référencer ?
Initiation au xhtml - 1
Réaliser un formulaire de contact (1/4)
MARST - Le Moteur Automatisé de Recherche en Santé au Travail
Un lecteur RSS pour votre site 2/2
Page contact en PHP 3/3
La Netiquette des forums
Menu de navigation sans JavaScript
Un Editeur RSS pour votre site 2/2
Installer un script PHP pour les nuls
Réaliser un formulaire de contact (3/4)
Quiz en PHP 3/3
Un Editeur RSS pour votre site 1/2
Créer un forum à l’aide de phpBB
Belles icônes pas chères !
Un lecteur RSS pour votre site 1/2
Syndication, comment s’y retrouver
Page contact en PHP 2/3
Initiation au xhtml - 3 : Rappel sur les pointeurs internet (URI/URL)
Qualité, centres d’intérêt et motivations des participants aux forums médicaux.
La syndication de contenu RSS
Lire nos fichiers de syndication
Ecrire ce qu’on veut dans SPIP
Afficher un fil RSS/Atom sur votre site 1/3
Astuce pour les images fréquemment utilisées
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Syndication pour phpBB
Editez vos flux avec Fil_LE 1/2
Editez vos flux avec Fil_LE 2/2
Création à distance d’un fichier de syndication
Abandonnons RSS 0.91 !
Exécuter un Javascript dans une page SPIP
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIPSyndiquer tout le texte
Installer un script PHP pour les nuls
Positionnement fixe... même avec Internet Explorer !
Page contact en PHP 3/3
Menu de navigation sans JavaScript
Quand JavaScript est désactivé... 2/2
Editer plusieurs fichiers de syndication 1/3
Quiz en PHP 2/3
Quiz en PHP 1/3
Editer plusieurs fichiers de syndication 2/3
Quiz en PHP 3/3
Page Erreur 404 en PHP
Page contact en PHP 2/3
Syndication, comment s’y retrouver
Menu dépliant pour les rubriques
Quand JavaScript est désactivé... 1/2
Javascript : n’oubliez pas Mac OS !
Page contact en PHP 1/3
Editer plusieurs fichiers de syndication 3/3
Proposer plusieurs styles pour votre site
Afficher plusieurs flux RSS/Atom sur une page
Conseils aux rédacteurs
La syndication de contenu RSS
Ecrire ce qu’on veut dans SPIP
Lire nos fichiers de syndication
Présentation de l’espace rédacteurs
Afficher un fil RSS/Atom sur votre site 1/3
Ecrire ou modifier un article
Astuce pour les images fréquemment utilisées
Les raccourcis typographiques
Afficher un fil RSS/Atom sur votre site 2/3
Afficher un fil RSS/Atom sur votre site 3/3
Reprendre un document Word
Lecteur RSS/Atom pour votre site 1/2
Lecteur RSS/Atom pour votre site 2/2
Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom
Placer une image dans un article
Editez vos flux avec Fil_LE 1/2
Joindre un document à un article
Joindre un logo à un article
Editez vos flux avec Fil_LE 2/2
Création à distance d’un fichier de syndication
Exécuter un Javascript dans une page SPIP
Abandonnons RSS 0.91 !
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIP
Accueil
Boite à Outils
Scripts PHP
Gestion d’une rubrique... en attendant SPIP
Lorsqu’on gère un site contenant de nombreuses pages, à chaque nouvelle page dans une rubrique, il faut reprendre reprendre toutes les pages de la rubrique pour mettre à jour les liens internes, sans oublier les pages de présentation, le plan du site...
Evidemment, la solution idéale, c’est de rendre le site dynamique, en utilisant par exemple SPIP, car le système des boucles SPIP permet la mise à jour automatique. Maintenant, tout le monde n’est pas prêt à passer sous SPIP, car,
il faut un hébergement permettant PHP et MySQL (c’est une mauvaise raison car ce n’est pas difficile à trouver !),
il faut du temps pour modifier un gros site, et souvent le maître-toile utilise le seul temps dont il dispose pour enrichir le contenu de son site,
c’est dur de renoncer à des URL bien référencées, et c’est aussi très dur d’envisager la réécriturer des URL de SPIP pour garder les anciennes [2],
c’est dur aussi de renoncer aux scripts PHP ou Javascript que l’on a placés dans ses pages, car ils ne vont plus fonctionner sous SPIP. Les adapter ou trouver d’autres solutions demande beaucoup de recherches...
Pour toutes ces raisons, alors que je suis convaincu des avantages de SPIP, je n’ai pas encore mis les sites CYES et RESSY sous ce CMS. Alors, en attendant que je sois satisfait de mes essais sous SPIP, j’ai utilisé quelques solutions alternatives que je vous propose ici.
La principale solution que j’utilise est un script PHP qui utilise une boucle pour afficher les pages d’une rubrique.
La boucle de base :
Voici le code par exemple pour la rubrique "Alcool" :
<?php |
La variable $alcool contient l’adresse et le nom de chaque page. Ici, parce que ce menu doit s’afficher dans une place réduite, j’ai utilisé les balises <abbr title=""></abbr> pour réduire la longueur du titre tout en permettant l’affichage complet grâce à l’élément title="" (attention à l’échappement devant les quotes simples ou doubles).
La boucle affiche les éléments de présentation, ici un point gras en début de ligne et un retour à la ligne <br /> (mais on aurait pu aussi bien faire une liste à puces <li>... </li>), la boucle affiche chaque page, avec son nom et le lien correspondant.
Différencier la page affichée :
Si on veut que la page sur laquelle on se trouve soit mise en évidence dans la liste, il faut la reconnaître, ce qui est facile en la comparant à $PHP_SELF, il suffit alors d’utiliser une des classes de sa feuille de style pour l’indiquer. L’image jointe à cet article montre comment ce menu s’affiche pour la page "Foire Aux Questions". Cela donne pour la boucle le code suivant :
<?php |
Revoici le code complet pour la rubrique "Alcool" [3] :
<?php |
Fichier inclus :
Voilà, le script avec le menu de la rubrique est réalisé, qu’est-ce qu’on en fait ?
Eh bien, le plus simple, c’est de l’inclure dans chacune de vos pages, en écrivant dans le code à l’endroit choisi [4] :
<?php include("alcool.inc.php"); ?> |
Dans cet exemple, j’ai placé le code du script dans un fichier nommé alcool.inc.php que j’ai placé dans mon dossier "alcool". A chaque nouvelle page, il n’y a donc qu’à mettre à jour ce fichier.
Alternative : un modèle
On peut aussi utiliser les modèles de Dreamweaver, pour ceux qui utilisent ce logiciel : je peux créer un modèle (par exemple "alcool.dwt"). Ce modèle dans sa partie non modifiable contient le script PHP permettant l’affichage de la rubrique. Evidemment, toutes les pages de ma rubrique alcool dépendent du modèle "alcool.dwt".
Lorsque je modifie le script dans le modèle "alcool.dwt", Dreamweaver propose de mettre à jour toutes les pages de la rubrique alcool. Ensuite, il n’y a plus qu’à sélectionner le dossier alcool, et faire "Site" puis "Synchroniser" et demander la mise à jour sur le serveur des pages qui viennent d’être modifiées.
Pour ceux qui ne peuvent pas utiliser le PHP, voici d’autres pistes :
Les SSI :
Si vous pouvez utiliser les SSI sur votre site, il faut créer un fichier avec le menu de la rubrique [5], par exemple :
<b>.</b> <a href="/cirdd/alcool/definitions_alcool.shtml">Quelques définitions</a><br /> |
Ce code est placé dans un fichier nommé par exemple "menu.htm". Il faut ensuite écrire à l’endroit choisi pour afficher le menu le code :
<!--#include file="menu.htm"--> |
Et ne pas oublier que pour que cela marche, il faut que les pages de la rubrique aient l’extension .shtml, à moins que vous aillez accès aux fichiers de configuration de votre serveur (car on peut préciser pour quels type de fichiers les SSI sont autorisés).
En cas de mise à jour, il suffit d’envoyer le nouveau fichier menu.htm sur le serveur.
La librairie de Dreamweaver :
Dreamweaver propose une librairie pour les éléments de page répétitifs (ces fichiers sont placés dans un dossier "Library"). On peut donc reprendre le même code que pour le fichier menu.htm indiqué ci-dessus en faisant : Modifier/Bibliothèque/Ajouter un objet dans la bibliothèque. Ce nouvel objet pourra ensuite être inclus dans chaque page de la rubrique (en sélectionnant l’objet dans la liste des actifs et en cliquant sur insérer) [6].
En cas de mise à jour de l’objet, toutes les pages l’utilisant seron modifiées. Il suffit ensuite de synchroniser le dossier local avec celui du serveur comme indiqué plus haut (utilisation de modèle Dreamweaver).
[1] Cet article a été modifié le 7/02/2005 pour rendre le code PHP plus fonctionnel.
[2] Voir par exemple Afficher des url php3 en html.
[3] La présentation faite ici se limite au principe, pour le site du CYES, le script contient aussi le contenant de la liste, qui n’est pas un tableau (pour éviter les tableaux imbriqués), mais un <div>, ainsi que les commandes du script d’affichage ou de masquage du menu.
[4] Evidemment, pour que ce script fonctionne il faut le mettre sur une page avec l’extension .php ou .php3, elle-même placée sur un serveur interprétant le PHP.
[5] J’utilisais ce système pour le haut de page de toute la partie Partenaires du site ressy.org. Ce site n’existe plus, mais vous pouvez voir ici une page d’exemple sur un site d’archives. A noter qu’OVH qui hébergeait ce site permet d’utiliser les SSI pour des pages ayant l’extension.htm
[6] Toujours pour le site ressy.org, ce système me permettait la mise à jour des menus déroulants pour naviguer dans le site, exemple de page.