WP-Cumulus

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Adaptation du fameux plugin de Roy Tanck pour SPIP.

Bonjour à tous

Vous connaissez sans doute le fameux plugin de Roy Tanck pour Wordpress WP-Cumulus. J’avais très envie de l’utiliser sur mon site SPIP.

Après plusieurs jours de recherche dans les forums, sites et même dans l’indispensable Google, je n’ai rien trouvé... snif...

Alors je m’y suis collé

Résultat, un code, à insérer dans votre squelette, qui mêle Javascript pour vous permettre d’afficher vos mots-clés comme un nuage de tags.

On peut changer facilement la taille de l’anim Flash, la couleur de fond, la couleur et la taille du texte, la vitesse de rotation des tags, le nombre de mots-clés affichés, la page appelée, rendre le fond transparent.
blabla
Bien sûr, il y a quelques limitations : Pas de prise en charge des groupes de mot-clés (je ne m’en sers pas...) et pas d’utilisation des adresses propres (j’ai pas encore tout compris là-dessus...).

Enfin, je n’ai pu tester que sur ma version de SPIP 1.9.2 c.

Comment ça marche ?

Le code commence par construire une simple liste des mot-clés avec leur lien en HTML dans un DIV. Puis, grâce au script SWObject joint [1], il teste la présence et la version du plugin Flash et, si tout va bien, il remplace la liste par l’animation Flash dans le DIV. S’il existe une incompatibilité, ou si votre visiteur bloque le Javascript, c’est la liste qui est affichée à la place de l’animation.

Ainsi, aucun visiteur ne se retrouve devant un bout de page vide ni ne perd la navigation transversale permise par le système des mot-clés !

De plus, le code de cette liste HTML restant dans la page, cela permet aux robots de nos amis les moteurs de recherche de ne pas se casser le nez sur les liens en Flash, puisqu’ils existent « en dur »... On évite ainsi le problème du référencement des liens Flash.

Testé sur le site http://browsershots.org, le script marche dans 98% des navigateurs, sous Windows, Mac, Linux, BSD. C’est à dire qu’il affiche soit l’anim Flash (95%) soit la liste HTML. Néanmoins, l’affichage du Flash semble poser problème sous Mac OS, provoque une erreur avec MSIE 4.0 et Opera 7.11 sous XP, avec Konqueror 3.5 sous Debian et Dillo 0.89.6 sous Ubuntu 7.

J’en veux !

Pour voir comment j’utilise ça, rendez-vous sur http://www.ph-guillon.com.

Pour télécharger les fichiers nécessaires, voir l’article correspondant. (avec l’autorisation des auteurs sous licence GNU-GPL ou MIT)

Le code est trop long pour être affiché ici, mais distribué au format txt.

J’en veux, mais pas comme ça....

Si vous voulez aller plus loin, je vous conseille cet article du blog de Roy Tanck How to repurpose my tag cloud Flash movie (en anglais) où vous pourrez voir WP-Cumulus cette fois dans la barre de navigation latérale.

Vous y apprendrez que l’on peut aussi « nourrir » son animation avec un fichier XML externe pour d’autres utilisations.

A vos claviers et ne vous couchez pas trop tard...

PaulH

Notes

[1Script écrit par Geoff Stearns http://www.geoffstearns.com

Discussion

15 discussions

  • Bonjour.
    En fait, le problème ne venait pas du positionnement du fichier swfobject.js mais de la version de ce fichier : J’utilise aussi le plugin freepaper qui utilise la version 2.0 tandis que WP-Cumulus utilise la 1.4 et apparemment ces deux versions ne sont pas vraiment compatibles. En insérant les deux versions (renommées différemment) de swfobjet, ça fonctionne ! (et en plus, c’est visuellement tès apprécié !). Bravo pour ce plugin !

    Répondre à ce message

  • 1

    Bonjour.
    Même problème, seule une liste classique s’affiche
    (testé sur 4 navigateurs différents)
    L’erreur javascript est toujours la même :


    SWFObject is not defined
    var so = new SWFObject(« tagcloud.swf », « tagcloud », « 400 », « 400 », « 10 », « #000000 ») ;


    pourtant le fichier swfobject.js est bien inclus dans la page.

    • Bonjour,

      comme précisé dans le fichier manuel.txt, même si l’appel se fait dans le squelette avec comme src=« swfobject.js », comme si le fichier était dans le dossier squelettes, swfobject.js doit être mis à la racine du site à côté du fichier spip.php.

      En effet, c’est spip.php qui appelle le script et non le squelette (voir le fonctionnement général de SPIP pour plus d’info).

      C’est sans doute la raison de ce undefined.

      Cordialement

      PaulH

    Répondre à ce message

  • Gilles Quiniou

    Bonjour,
    Sur vista, avec firefox 3 + shockwave flash 10, je ne vois pas le nuage mais une liste.

    Une piste : avec d’autres plugins (freemind) c’était la partie du script chargée de la détection de la version flash (ici swfobject.js) qui ne fonctionnait pas avec des versions de flash > 9.

    Répondre à ce message

  • 1

    Bonjour, et merci à vous pour ce plugin..

    Quand vous dites « Pas de prise en charge des groupes de mot-clés (je ne m’en sers pas...) » , vous voulez dire qu’on ne peut pas dé-sélectionner des mots-clés d’un certain groupe de mot-clés par exemple ?

    • Bonjour,

      dans le code, aucune référence n’est faite aux groupes de mots-clé. Le script se content de récupérer tous les mots clés et de les afficher. On ne peut donc pas utiliser certains groupes et pas d’autres pour filtrer la liste affichée.

      Ceci dit, il suffirait de changer les paramètres de la boucle qui crée la variable $KeywordsSpipList pour changer ce qui est sélectionné. C’est du code SPIP uniquement :

      $KeywordsSpipList=BOUCLE_MOT(MOTS) etc....... Attention cependant aux <, aux ", aux ’, aux ; et autres signes de ponctuation. Ces petites bêtes sont assez sensibles...

      Dès que j’ai un peu de temps, je vais essayer d’évoluer vers un plugin, et d’en profiter pour inclure une prise en charge des groupes.

      Quand au problème sous Mac, il semble venir du script SWObject lui-même. Il faudrait voir si on peut s’en passer. Autre objectif d’une version en plugin.

      PaulH

    Répondre à ce message

  • Je confirme que sous Mac on ne voit pas l’animation.

    Par ailleurs je signale une version Jquery (donc sans flash mais en js) de cette fonctionalité.

    http://www.willjessup.com/sandbox/jquery/rotator/rotator.html

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom