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 :
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
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
Exécuter un Javascript dans une page SPIP
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
Page contact en PHP 1/3
Editer plusieurs fichiers de syndication 1/3
Webmasters : Comment mieux se référencer ?
Comment faire migrer son site ?
Publication Spip : forme et typographie
Installer un script PHP pour les nuls
MARST - Le Moteur Automatisé de Recherche en Santé au Travail
Mise en place d’un forum : une décision qui doit être mûrement réfléchie
Page contact en PHP 2/3
Menu dépliant pour les rubriques
Tri et Histogramme
Utilisation de la classe easyRSS
Le web structuré et sa présentation
Réaliser un formulaire de contact (3/4)
Quiz en PHP 2/3
Réaliser un formulaire de contact (5/4)
Initiation au xhtml - 3 : Rappel sur les pointeurs internet (URI/URL)
Analyser les réponses à une liste de questions
Page Erreur 404 en PHP
Un lecteur RSS pour votre site 2/2
Editer plusieurs fichiers de syndication 2/3
Positionnement fixe... même avec Internet Explorer !
Qualité, centres d’intérêt et motivations des participants aux forums médicaux.
Initiation au xhtml - 2
Créer une liste de QCM
Editer plusieurs fichiers de syndication 3/3
Un Editeur RSS pour votre site 2/2
Contrôler l’accès d’une partie du site avec .htaccess
Etablir un questionnaire statistique en ligne
Réaliser un formulaire de contact (2/4)
Page contact en PHP 3/3
Créer un forum à l’aide de phpBB
Quand JavaScript est désactivé... 1/2
Quand JavaScript est désactivé... 2/2
Menu de navigation sans JavaScript
Réaliser un formulaire de contact (4/4)
Proposer plusieurs styles pour votre site
Initiation au xhtml - 1
Javascript : n’oubliez pas Mac OS !
La Netiquette des forums
Soigner en ligne, un art impossible ?
Ecrire ce qu’on veut dans SPIP
Exécuter un Javascript dans une page SPIP
Astuce pour les images fréquemment utilisées
Belles icônes pas chères !
Réaliser un formulaire de contact (1/4)
Conseils pour débuter un site web
Comment intégrer Snap Shots à Rapidweaver ?
Syndication, comment s’y retrouver
xhtml - 4 : Les entités
Un Editeur RSS pour votre site 1/2
Quiz en PHP 3/3
Un lecteur RSS pour votre site 1/2
Quiz en PHP 1/3
Un serveur dédié pour les nuls
La syndication de contenu RSS
Lire nos fichiers de syndication
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
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 !
Des fils RSS 1.0, RSS 2.0 et Atom 1.0 pour votre site SPIPSyndiquer tout le texte
Quiz en PHP 1/3
Editer plusieurs fichiers de syndication 3/3
Editer plusieurs fichiers de syndication 1/3
Quiz en PHP 3/3
Page Erreur 404 en PHP
Page contact en PHP 2/3
Javascript : n’oubliez pas Mac OS !
Positionnement fixe... même avec Internet Explorer !
Page contact en PHP 3/3
Proposer plusieurs styles pour votre site
Quand JavaScript est désactivé... 2/2
Editer plusieurs fichiers de syndication 2/3
Page contact en PHP 1/3
Quand JavaScript est désactivé... 1/2
Quiz en PHP 2/3
Menu dépliant pour les rubriques
Installer un script PHP pour les nuls
Menu de navigation sans JavaScript
Astuce pour les images fréquemment utilisées
Exécuter un Javascript dans une page SPIP
Syndication, comment s’y retrouver
Ecrire ce qu’on veut dans SPIP
Afficher plusieurs flux RSS/Atom sur une page
Conseils aux rédacteurs
La syndication de contenu RSS
Présentation de l’espace rédacteurs
Lire nos fichiers de syndication
Afficher un fil RSS/Atom sur votre site 1/3
Ecrire ou modifier un article
Afficher un fil RSS/Atom sur votre site 2/3
Les raccourcis typographiques
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
Joindre un document à un article
Editez vos flux avec Fil_LE 1/2
Joindre un logo à un article
Editez vos flux avec Fil_LE 2/2
Création à distance d’un fichier de syndication
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.