Plugin MODx pour générer automatiquement les balises ABBR et autres pour chaque page

Il s’agit d’un plugin que j’ai fait, en PHP 4 il y a deux ans pour MODx 0.9.6.3, pour un site web et je pense qu’il vaut la peine que je partage le code avec la communauté.

Le plugin sert a entourer des mots définis dans un fichier CSV (séparé par des virgules) dans le contenu qui est retourné par le CMS.

 

LA SITUATION

Lorsque je travaillait sur ce site web, mon employeur et mon collègue nous étions donné comme objectif de paufiner l’Ergonomie et l’Accessibilité du contenu. Ce qui est dommage c’est qu’il n’a jamais été évalué par AccessibilitéWeb. J’ai pourtant reçu la formation pour évaluer les sites… mais je préfère, personnellement, programmer des applications.

 

LES CRITÈRES QUE CE PLUGIN REMPLIT

Lors de la réalisation du site je n’ai pas noté les points d’évaluation du WCAG 1.0 que cet utilitaire remplit, mais en gros, d’un point de vue utilisabilité :

  • L’édimestre n’a pas a écrire à la main les balises ABBR, DFN, et ACRONYM, le plugin le fait tout seul;
  • La liste est dans un fichier statique, ce qui rend facile, pour l’édimestre, d’ajouter de nouvelles définitions;
  • Pouvoir automatiser le remplacement des abréviations dans des balises valides;

Cette liste ne parle pas des critères d’évaluations mais si vous voulez en savoir plus au sujet de l’Accessibilité; je vous recommande chaudement de visiter la «Base de conaissances» de la fondation AccessibilitéWeb.org qui a fait un IMMENSE EFFORT de vulgariation et de collaboration a l’élaboration du WCAG 2.0 et de sa version française.

 

EXEMPLE

Plutôt que d’écrire des paragraphes pour expliquer comment fonctionne le plugin, je vous propose de voir par un exemple

Le document CSV a plusieurs lignes similaires à…

fr;dfn;FAQ;Foire Aux Questions

Avec le contenu de la page il remplacera les occurences dans le document HTML généré (même après la cache):

(...) venez lire <strong>la FAQ</strong> (...)

En le transformant ainsi…

(...) venez lire <strong>la <dfn title="Foire Aux Questions">FAQ</dfn></strong> (...)

Le plugin est configuré pour faire cette transformation pour tout les mots définis dans le CSV au moment du rendu de la page chez le client (trigger MODx “OnWebPagePrerender“) ce qui évite d’avoir des définitions empilés.

 

UTILISER LE PLUGIN

Avertissement!

Le plugin a été fait à l’époque de MODx 0.9.6.x (regardez tout au bas). Il risque de bien fonctionner dans cette version mais n’est pas assuré de fonctionner dans la version stable présente. Vous aurez été avertis!

Si vous voulez que j’en fasse une adaptation, laissez une note a ce billet!.

On ne peut s’attendre à simplement installer le plugin et que tout fonctionne. Voici les prérequis pour pouvoir utiliser le plugin

  • Au niveau 0 (enfant de la racine dans MODx) il y ait un répertoire servant à spécifier la langue de ses enfants.
  • ContentAbbrGenerator (le plugin en question)
    Un plugin de base qui était fourni avec la version 0.9.6.x qui fournit le numéro ID de la page parent absolu
  • Il faut 2 Snippet de code (fonctions PHP spécifique a MODx) pour utiliser mon plugin
    • Lang
      Sert, justement a aller chercher le ID de la page ci-haut mentionnée.
    • UltimateParent
      Un plugin de base qui était fourni avec la version 0.9.6.x qui fournit le numéro ID de la page parent absolu
  • abbreviations.txt
    Le fichier CSV qui contient les valeurs pour le remplacement des balises. Le contenu de ce fichier peut être une page dans MODx (si mod_rewrite est activé) mais il doit être définitivement être disponible à l’adresse fournie dans le Snippet ContentAbbrGenerator définie par la variable de plugin “cagPluginAttrOverrideFileLoc

 

TÉLÉCHARGER ET INSTALLER

Suivre les instructions dans chaque fichier de l’Archive

 

SOURCES ET CRÉDITS

J’ai pris soin dans le code de laisser les notes des auteurs qui m’ont inspiré avec les pages qui parlent de ce que j’ai utilisé pour produire le plugin. Je n’ai rien inventé en soi, j’ai simplement produit un plugin pour remplir le besoin que j’avait

 

NOTE

Vous avez le droit et la liberté d’utiliser le code que je rend disponible pour téléchargement car je n’ai pas mise sous licence. Considérez-le comme un don

 

A VOS COMMENTAIRES…

J’ai déjà considéré commencer a modifier ce plugin pour le rendre fonctionnel dans WordPress mais j’ai d’autres priorités. Alors, si vous avez un intérêt à ce que je produise un plugin pour WordPress ou MODx (pour la version courrante) laissez moi un commentaire!