|
Le plugin Fly06 W3C Headings est maintenant disponible en version 1.0 Beta.
Ce plugin permet de transformer les titres Joomla (componentheading et contentheading) en titres W3C (h1 et h2) :
- Le html est modifié dynamiquement à chaque requête http côté site
- Les css sont crées dynamiquement et une fois pour toute (fichier) côté admin
Les templates de composant sous Joomla 1.5 n'utilisent pas les balises sémantiques H<n> pourtant recommendées par le W3C et les moteurs de recherche.
Par exemple, les titres des articles sous J1.5 sont codés de cette façon :
<td class="contentheading">
Ceci est un titre mais Google ne le sait pas :-(
</td>
alors qu'on préfèrerait un codage du type :
<td class="contentheading"><h1>
Ceci est un titre et Google en tient compte !
</h1></td>
Plusieurs solutions sont envisageables pour résoudre ce problème.
- La première consiste à utiliser l'extension sh404SEF qui via son module sh404SEFCustomtags permet de réaliser ce genre de changement. Cependant, cette solution n'est pas optimale en terme de coût (sh404SEF est maintenant payant) mais aussi en terme d'espace disque et de temps de calcul...
- La seconde consiste à "overrider" les templates des différents composants et à intégrer le balisage h1 dans les overrides. La encore, cette solution n'est possible que sur les composants standards MVC ("overridable" ;-) et devient vite pénible sur un gros site utilisant beaucoup de composants...
Une solution plus simple consiste à utiliser un petit plugin de type 'system' qui va créer le balisage h1 automatiquement à chaque requête http.
Ce plugin est très simple à écrire puisqu'il suffit lors de l'évènement 'onAfterDispatch' de récupérer la partie 'component' du buffer, de faire la recherche et le changement en utilisant les fonctionnalités regex de php puis de sauvegarder la partie 'component' modifiée dans le buffer avant que Joomla ne créé la page html à partir du template (rendering).
Le plugin est opérationnel sur ce site.
Les principales améliorations concernent :
- La création automatique des styles h1/h2 dans le backend du plugin
- La prise en compte du cas où la page contient aucun componentheading et plusieurs contentheading
- L'ajout de plusieurs paramètres de configuration qui permettent de donner un peu souplesse dans l'application du plugin
Le grand changement est bien sûr la création automatique des styles (css) h1/h2 correspondants aux modification de html éffectués par le plugin dans la partie 'component' de la page. Beaucoup d'utilisateurs novices utilisent Joomla sans aucune connaissance préalable des technologies web de base côté client à savoir : html et css. Pour eux, ajouter à la main les styles correspondants aux nouveau balisage h1/h2 introduit par le plugin constitue un casse-tête. Ce problème est résolu avec ce nouveau plugin !
A titre d'exemple, voici à quoi ressemble le fichier css créé dynamiquement dans le cas où le template par défaut est rhuk_milkyway :
/* Fly06 W3C Headings Plugin */
/* Template: rhuk_milkyway */
/* Created: 2010-06-11 21:23:04 */
h1.componentheading {
padding-left: 0px;
display: block;
}
.contentheading h1, .contentheading h2 {
font-size: 1em;
display: inline;
}
Dans sa version actuelle seul le template par défaut est pris en compte, les templates assignés sur des items de menus spécifiques ne le sont pas.
L'autre changement concerne le cas où la page contient aucun componentheading et plusieurs contentheading. Non géré dans le plugin Fly06 Create H1, ce cas particulier est maintenant pris en compte à travers trois stratégies de balisage possibles :
- Le premier contentheading en h1 et les suivants en h2 (par défaut)
- Tous en h1
- Tous en h2
Enfin, le plugin dispose maintenant de paramètres de configuration au niveau du backend.

Ces différents paramètres sont explicités dans le tableau ci-dessous :
| Paramètre |
Type |
Commentaire |
| Css File Status |
Message |
NON MODIFIABLE !
Il s'agit d'un message interne au plugin qui permet de connaître l'état du fichier css après son éventuelle création.
Les messages sont deux types :
- Erreurs : 5 messages possibles
- Succès : 2 messages possibles
Le message par défaut si aucun code d'erreur n'est généré est 'Unknown' (c'est le cas en particulier si le plugin n'est pas activé).
|
| Create Css File |
Yes/No
|
MODIFIABLE MAIS REVIENT A NO AUTOMATIQUEMENT APRES UN SAVE OU UN APPLY !
Procédure de création de la feuille de styles :
- Mettre ce paramètre sur Yes
- Appliquer les changements
- Vérifier que la feuille de styles a bien été créée
|
| Template Css File |
Text
|
Nom du fichier du répertoire 'css' du template par défaut à utiliser pour générer les styles css h1/h2 (template_css par défaut).
Ne pas ajouter l'extension .css !
|
| Add Css File |
Yes/No
|
Rétro-compatibilité avec la version précédente (Fly06 W3C Headings). Permet de ne pas ajouter la feuille de styles si le webmaster a déjà créé ses propres styles à la main dans le template par défaut.
|
| Apply Html Changes |
- Yes - Only if a css file is available
- Yes - Always
- No
|
Permet, entre autre, de ne pas effectuer les changements dans la page si la feuille de styles h1/h2 du template courant n'est pas disponible (comportement par défaut).
|
| Apply to the Home Page |
Yes/No |
Permet de ne pas appliquer le plugin à la page d'accueil dans le cas où cette dernière dispose d'un balisage h1/h2 spécifique (par exemple, le logo et/ou le slogan du site)
|
| Exit If H1 |
Yes/No |
Permet de ne pas appliquer le plugin si une balise h1 est déjà présente dans la partie 'component' de la page.
|
| Multiple Contentheading Behavior |
- First h1 and the others h2
- All h1
- All h2
|
Déjà expliqué plus haut.
|
Ce plugin est en version 1.0 Beta.
Merci de me contacter pour toute question ou problème éventuel.
|