Voir aussi
Dans la même rubrique :
Echange de liens croisés entre sites des MMT 2/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
Séminaire 2007 des MMT à Bégin
Statuts
Qui sont les MMT ?
Comment nous rejoindre ?
Candidature : Pourquoi nous rejoindre ?
Publication Spip : forme et typographie
Règlement intérieur
MMT, qui êtes-vous ?
Passage de flambeau
Tout ce que vous avez toujours voulu savoir sans oser le demanderSyndication
Utilisation de la classe easyRSS
Droit-médical.net
Fédération des Acteurs de l’Alcoologie et de l’Addictologie
Atoute
Editer plusieurs fichiers de syndication 3/3
Editer plusieurs fichiers de syndication 2/3
Collège des Médecins Généralistes Enseignants - Université Pierre et Marie Curie
Comité Départemental d’Education pour la Santé des Yvelines
Femiweb
Editer plusieurs fichiers de syndication 1/3
Un Editeur RSS pour votre site 2/2
Un Editeur RSS pour votre site 1/2
Syndication, comment s’y retrouver
Un lecteur RSS pour votre site 1/2
Droit-medical.com
Généralistes 2002
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 3/4

Le précédent article présente plusieurs exemples de scripts PHP avec pagination :
liste des liens croisés, ordre aléatoire,
liste des liens croisés, ordre alphabétique,
liste des liens croisés, ordre alphabétique plus rigoureux [1],
liste des tous les sites MMT, ordre alphabétique,
liste des tous les sites MMT, ordre alphabétique.
Ces présentations esthétiquement différentes peuvent être utilisées quelle que soit la liste à présenter. Nous allons maintenant voir des scripts qui enregistrent toute la liste à afficher dans plusieurs fichiers cache, ce qui donne de nouvelles possibilités :
liste des tous les sites MMT, ordre aléatoire,
liste des tous les sites MMT, par catégorie,
liste des tous les sites MMT, par auteur (classement sur le prénom),
liste des tous les sites MMT, par auteur (classement sur le nom),
liste des liens croisés, par auteur (classement sur le nom),
liste personnelle de sites MMT, ordre alphabétique,
liste personnelle de sites MMT + liste de liens croisés, ordre alphabétique.
La fonction qui permet de mélanger l’ordre des sites est :
usort($items,create_function('$a,$b',' return rand(-1,1);')); |
Le script va comporter par rapport aux précédents une boucle qui va mettre en cache tous les fichiers nécessaires à l’affichage de la liste, voilà le résultat, inspiré de la présentation du premier exemple, avec un petit toucan en plus et le classement du site.
Il faut donc une fonction pour trier les sites par catégorie, la voici :
usort($items,create_function('$a,$b',' return strcmp(strtoupper($a["category"]),strtoupper($b["category"]));')); |
Il est maintenant facile d’ajouter la catégorie. J’ai ajouté à ce script une modification pour que cette indication ne soit pas faite pour chaque site, mais en début de page et quand on change de catégorie, voilà ce que cela donne (présentation inspirée du 2e exemple avec un toucan en plus).
Pour trier les sites par auteur, la première fonction à essayer est celle-ci :
usort($items,create_function('$a,$b',' return strcmp(strtoupper($a["author"]),strtoupper($b["author"]));')); |
Pour présenter par auteur, on va reprendre le principe utilisé dans le script précédent, mais il faut un traitement supplémentaire. En effet, un site, Psy désir a deux auteurs. Alors que le site n’est dans la liste qu’une fois, il va falloir écrire dans la liste ce site une 2e fois pour qu’ils apparaisse avec chaque auteur. Ce travail nécessite une expression rationnelle, je passe les détails et voilà cet exemple (présentation inspirée du 3e exemple.
Evidemment quand on trie par ordre alphabétique l’ensemble Prénom Nom le résultat est dans l’ordre des prénoms. Si on veut que le classement se passe sur le nom de l’auteur, il va falloir faire un traitement différent :
usort($items,create_function('$a,$b',' return strcmp(nom_seul($a["author"]),nom_seul($b["author"]));')); |
Voici l’exemple utilisant ces fonctions et un autre exemple avec la liste de liens croisés santé et quelques changements de présentation.
Aucun MMT n’a besoin d’un script sophistiqué pour afficher quelques liens sur son site, l’intérêt de ce script utilisé seul est très limité. Par contre, le script suivant permet de mélanger cette liste avec la liste de liens croisés, et çà, c’est certainement un des meilleurs outils pour que chaque site ait une liste de liens croisés différente des autres.
Voyons tout d’abord l’affichage d’une sélection personnelle parmi les sites des MMT. Je pourrais, si quelqu’un me le demande, faire un script élaboré qui permette :
de réaliser en ligne cette sélection personnelle,
ou de faire un choix aléatoire d’un certain nombre de sites, cette sélection pouvant être modifiée après une période de temps choisie.
Pour le moment, on va faire simple : on prend la liste XML de tous les sites MMT, on l’enregistre sur son disque dur et on l’ouvre avec un éditeur de texte pour effacer les sites et ne garder que ceux que l’on veut dans sa liste personnelle. On renomme le fichier obtenu selection.xml et on le place dans le dossier cache sur son site. Puis on utilise cet exemple pour l’afficher. La présentation est inspirée du 4e exemple (on voit bien que pour une sélection aussi courte le système de pagination est inutile, mais il peut servir pour une liste plus longue).
On va maintenant reprendre cette sélection personnelle pour l’ajouter à la liste des liens croisés. Mais avant cela, il faut une fonction pour supprimer les doublons. La liste des liens croisés peut en effet avoir été mise à jour et mentionner un ou plusieurs sites de sa liste personnelle qui seront alors indiqués 2 fois. Pour éviter cela, voici la fonction à ajouter :
for($i = 0; $i < count($items2); $i++) { // pour chaque lien de la sélection |
On fusionne ensuite les 2 listes, on les trie par nom [2] :
$items = array_merge($items1,$items2); // on fusionne les 2 tableaux |
Et voilà le résultat. Dans cet exemple avec une liste personnelle de 3 sites dont 2 sont déjà dans la liste des liens croisés, seul le 3e a été ajouté.
Autres articles :
1. Principe
2. Affichage par script PHP
4. Affichage sans PHP
[1] Les articles Le, La, Les, Dr ou Docteur n’interviennent dans l’ordre alphabétique.
[2] J’utilise pour cela la technique décrite dans Afficher plusieurs flux RSS/Atom sur une page.
