Voir aussi
Dans la même rubrique :
Echange de liens croisés entre sites des MMT 3/4
Echange de liens croisés entre sites des MMT 4/4
Echange de liens croisés entre sites des MMT 1/4
Mise à jour programmée de la page de liens croisés
Liens croisésDu même auteur :
Suivi de vos articles
Exécuter un Javascript dans une page SPIP
Reprendre un document Word
Les Centres de santé
Quiz en PHP 1/3
Quiz en PHP 2/3
Quiz en PHP 3/3
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
Page contact en PHP 3/3
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
Installer un script PHP pour les nuls
Javascript : n’oubliez pas Mac OS !
Page contact en PHP 1/3
Page contact en PHP 2/3
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
Menu de navigation sans JavaScript
Astuce pour les images fréquemment utilisées
Gestion d’une rubrique... en attendant SPIP
Page Erreur 404 en PHP
Utilisation de la classe easyRSS
Proposer plusieurs styles pour votre siteMême indexation :
Fonctionnement Associatif
Règlement intérieur
Tout ce que vous avez toujours voulu savoir sans oser le demander
Séminaire 2007 des MMT à Bégin
Qui sont les MMT ?
Comment nous rejoindre ?
Statuts
Passage de flambeau
Candidature : Pourquoi nous rejoindre ?
MMT, qui êtes-vous ?
Publication Spip : forme et typographieSyndication
Femiweb
Un Editeur RSS pour votre site 1/2
Syndication, comment s’y retrouver
Editer plusieurs fichiers de syndication 2/3
Comité Départemental d’Education pour la Santé des Yvelines
Editer plusieurs fichiers de syndication 3/3
Editer plusieurs fichiers de syndication 1/3
Fédération des Acteurs de l’Alcoologie et de l’Addictologie
Un Editeur RSS pour votre site 2/2
Utilisation de la classe easyRSS
Généralistes 2002
Droit-médical.net
Droit-medical.com
Collège des Médecins Généralistes Enseignants - Université Pierre et Marie Curie
Un lecteur RSS pour votre site 1/2
Atoute
Afficher plusieurs flux RSS/Atom sur une page
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
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 SPIP
Accueil
L’association
Fonctionnement du site
Liens croisés MMT
Echange de liens croisés entre sites des MMT 2/4

Le but de cet article est de permettre aux MMT de choisir un des exemples présentés ou de l’adapter afin de présenter une liste de liens croisés (ou la liste de tous les sites MMT) sur son site.
Je vais surtout présenter les choix concernant la présentation de la liste de sites. Pour ceux qui sont intéressés par le fonctionnement du script, je vous renvoie aux articles de la rubrique Syndication de contenu, particulièrement Afficher un fil RSS/Atom sur votre site 1/3, 2/3, 3/3, Lecture des caractères spéciaux et d’éléments d’un fil RSS/Atom et Installer un script PHP pour les nuls et bien sûr contactez-moi si cela n’est pas clair ou pour des besoins particuliers. Le code des scripts contient des commentaires et suggère quelques modifications simples.
Les 4 exemples présentés utilisent :
un système de cache pour ne pas être obligé de recalculer la page à chaque fois ; si le fichier en cache a plus de 12 heures, le script :
un système de pagination pour répartir la liste des sites sur plusieurs pages [2].
Le fichier liens_croises.zip en bas de cet article comprend : [3]
un dossier cache contenant rss_read.inc.php qui permet la lecture des flux XML (c’est cette version qu’il faut utiliser car je l’ai modifiée pour lire certains éléments),
des fichiers liens-x-mmt.txt contenant le script des différents exemples (à insérer dans une page de votre site que vous pourrez appeler liens-mmt.php ), et les éléments de style (à mettre dans le <head> de la page),
des fichiers liens-x-mmt.php contenant les différents scripts avec un exemple de présentation simple (avec quelques liens et le moteur de recherche multisites MMT),
les images utilisées dans les exemples.
Cet exemple affiche en ordre aléatoire la liste des liens croisés santé, avec 11 sites par page. L’affichage se fait dans un tableau, à raison d’une cellule par site.
La cellule présente presque [4] tous les éléments de présentation du site contenus dans le fichier XML, ce qui peut faire jusqu’à 7 liens par site ! L’image des flux affiche un lien vers le ou les fils de syndication.
Pour illustrer les changements possibles avec la feuille de style, j’ai fait une légère variante avec le même script avec juste quelques modifications de la feuille de style et du tableau contenant le moteur.
L’exemple suivant affiche la liste des liens croisés santé en ordre alphabétique, avec 9 sites par page. L’affichage se fait dans un tableau, avec une présentation ressemblant à la liste des sites avec plusieurs lignes par site et en général 2 cellules par ligne.
Cette disposition est intéressante si on fait le choix de ne pas afficher la vignette du site. A noter l’URL remise à côté du nom du site et affichée en ayant retiré "http://" et le "/" final et la mise au pluriel de Auteur quand le site est géré par 2 maîtres-toile. Le moteur de recherche multisite est proposé ici avant la liste des sites.
On peut estimer que les articles ou titres ne doivent pas intervenir dans le classement alphabétique. J’ai donc fait une variante de cet exemple qui classe les noms des sites sans tenir compte de Dr, Docteur, Le, La ou Les.
Le 3e exemple affiche la liste des tous les sites MMT en ordre alphabétique, avec 8 sites par page. L’affichage se fait dans un tableau, avec une cellule par site. La vignette est alignée à droite. La catégorie du site est indiquée.
Le 4e exemple affiche la liste des tous les sites MMT en ordre alphabétique, avec 10 sites par page. L’affichage se fait par une liste à puces, la puce est ici remplacée par une image. Chaque <li>... </li> est entouré par un <div> qui permet la couleur de fond, la bordure et l’espacement entre chaque site. Le maître-toile est ici indiqué par un title en survolant le nom du site. La catégorie du site est indiquée.
Pour que le script fonctionne il faut installer sur votre site :
le script soit un fichier liens-x-mmt.php ou liens-x-mmt.txt si c’est pour l’incérer dans une page au look du site,
le dossier cache contenant rss_read.inc.php (indispensable, sinon le script ne fonctionnera pas),
si vous le souhaitez les images selon l’exemple choisi.
Tout ceci doit être mis au même endroit, selon votre choix racine du site ou un des répertoire (on peut aussi les placer autrement, mais il faudra alors modifier le code du script pour que les chemins vers le dossier cache rss_read.inc.php et les images soient corrects [5].
Il faudrait renommer la page où se trouve le script par exemple liens-x-mmt.php
Si vous modifiez la feuille de style, je vous conseille de garder :
a.grey, a.grey:hover, a.grey:visited {color: #666666; background-color: transparent; text-decoration: none; cursor: text;} |
Sans ce code, le visiteur ne sait pas quelle page de la pagination s’affiche (à moins d’aller voir l’URL, mais çà l’internaute ne le fait pas). Si on ne veut vraiment pas de ce style, on peut supprimer le lien pour la page affichée (voir variante du 3e exemple), en changeant le code pour la pagination par :
$pagination.= '<div align="center">'; |
Tous ces exemples sont facilement personnalisables en modifiant :
le nombre de sites affichés par page, ex : $nb = 11;
le fichier XML à charger, ex : $fil1 = "http://www.mmt-fr.org/lapagedelien.xml"; [6]
la taille de la vignette, en modifiant $largeur = 150; la hauteur est calculée pour garder les proportions,
la présentation choisie,
// mise en forme des informations à présenter |
<b> <i> ...Remarque :
Il arrive parfois que la liste n’apparaisse pas au premier chargement de la page, quand il n’y a rien dans le cache. Il est inutile d’indiquer "Raffraichir la page si la liste n’est pas affichée" parce que le script affiche la page en cache puis va vérifier (en comparant les dates) si la page sur le site amiral a été modifiée depuis la création de la page en cache, alors il la lit et l’affiche (rechargement de la page).
Quand vous testez votre page, une page en cache est créée, le visiteur n’aura donc jamais une page vide, au pire (si le rechargement s’est fait avant l’enregistrement de la nouvelle page en cache) il aura la liste d’avant la mise à jour.
Ordre d’affichage des sites
L’ordre d’affichage des sites est alphabétique pour la liste de tous les sites et aléatoire pour les listes de liens croisés. Cet ordre peut être modifié :
pour les pages de liens croisés, les sites peut être mis par ordre alphabétique en retirant les // devant la ligne [7]
usort($items,create_function('$a,$b',' return strcmp(strtoupper($a["title"]),strtoupper($b["title"]));')); |
si on veut un ordre alphabétique inverse (de Z à A) en utilisant :
usort($items,create_function('$b,$a',' return strcmp(strtoupper($a["title"]),strtoupper($b["title"]));')); |
pour un ordre aléatoire, en appliquant :
usort($items,create_function('$a,$b',' return rand(-1,1);')); |
Pour la page de liens croisés, cela permet d’avoir un ordre différent de celui affiché sur les autres sites MMT. Pour la liste de tous les sites, ceci n’est pas applicable tel quel, car pour les exemples décrits dans cet article, le script ne calcule que les sites à afficher sur la page demandée. Si on mélange les sites, il faut calculer toutes les pages pour que la liste soit correcte. C’est ce que nous verrons avec les exemples décrits dans l’article suivant.
En cas de difficulté :
Le script enregistre un fichier dans le dossier cache. S’il n’y arrive pas, cela peut être la source de problèmes, veillez dans ce cas à faire un chmod 777 sur le dossier cache.
Autres articles :
1. Principe
3. Autres scripts PHP
4. Affichage sans PHP
[1] Les fichiers XML ne sont modifiés que s’il y a eu un nouvel enregistrement dans la base de données des sites.
[2] Ce système sera prochainement expliqué dans un article dans la partie publique du site.
[3] Ce fichier a été modifié le 17/05/07 sur l’affichage d’informations sur les flux de syndication.
[4] Il n’a pas le classement du site, ce qui est inutile puisqu’il n’y a que des sites santé.
[5] Attention pour les images dans la feuille de style, un code comme :
background-image: url('../http.png'); |
ne marche pas, il faut mettre une URL absolue :
background-image: url('http://www.votre-site.org/images/http.png'); |
[6] Ils sont déjà indiqués dans la page, il suffit de retirer les // uniquement devant le fichier souhaité.
[7] La variante du 2e exemple utilise :
usort($items,create_function('$a,$b',' return strcmp(supprime($a["title"]),supprime($b["title"]));')); |
il faut pour cela ajouter cette fonction à la fin du script (juste avant ?> ) :
function supprime($name) { |
