Quand, comme moi, on souhaite inclure des morceaux de code dans un article WordPress, cela devient vite une sĂ©rieuse galère. En fait WP n’a pas vraiment prĂ©vu ce cas et il se pose une quantitĂ© de problèmes plus ou moins graves. Ceux que j’ai rencontrĂ©s jusqu’ici :
- Les <?php disparaissent (sauf acrobaties manuelles)
- Un certain nombre de caractères ne s’affichent pas (ou mal)
- La présentation est assez pitoyable quand on utilise que <code>
J’ai donc recherchĂ© un plug-in (presque tout dans WordPress se fait par l’ajout de ces merveilleux petits bouts de logiciel qui peuvent se rajouter facilement Ă la configuration de base) qui soit adaptĂ© Ă cette tâche, facile Ă installer (et je ne tiens pas Ă faire une maintenance intensive pour cette fonctionnalitĂ©), facile Ă utiliser.
Voici donc un rĂ©sumĂ© de ceux que j’ai regardĂ© et de mon opinion les concernant.
Code markup v1.1.1
Syntaxe
Il suffit d’encadrer son code entre <pre><code> et </code></pre>.
A mon avis
Pour :
- Evite bien la transformation du code par WordPress
- Il reste possible de rajouter du formattage manuel dans le code inclus
- Compatible WordPress 1.5, 2.0 et 2.1
- Un seul fichier de plugin, Ă activer par le tableau de bord WP
Contre :
- Pas de coloration syntaxique
ElasticDog Code viewer v1.1
Syntaxe
Le code est stocké dans un fichier externe, est affiché avec indentation et retour à la ligne automatique, peut-être téléchargé séparément.
A mon avis
Pour :
- Présentation assez souple (par exemple, numérotation des ligne)
- Le stockage dans un fichier externe permet de ne pas avoir Ă rĂ©pĂ©ter le code (s’il apparaĂ®t dans plusieurs articles ou en plusieurs endroits)
- Un seul fichier de plugin, Ă activer par le tableau de bord WP ; plus une procĂ©dure d’installation.
Contre :
- Stockage dans un fichier texte séparé : particulièrement lourd pour des petits morceaux de code
Coffe2code Preserve code Formatting v0.9
Syntaxe
Il suffit d’encadrer son code entre <pre><code> et </code></pre> (d’autres tags peuvent aussi ĂŞtre dĂ©finis).
A mon avis
Pour :
- Evite bien la transformation du code par WordPress
- Un seul fichier de plugin, Ă activer par le tableau de bord WP
Contre :
- Pas mis à jour depuis 2005. A-t-il seulement été testé avec WordPress v2.1 ?
- Pas de coloration syntaxique
Il suffit d’encadrer son code entre <pre><code> et </code></pre>. Pour : Contre : Pour : Contre :
Priyadi’s Code Autoescape v2.0
Syntaxe
A mon avis
CoolCode
A mon avis
|
En vedette : |
Dean Code Source Syntax highlighting v1.1
Syntaxe
Il suffit d’encadrer son code entre <pre lang=”php”> et </pre> (en prĂ©cisant le langage PHP, ou tout autre langage).
A mon avis
Pour :
- Evite bien la transformation du code par WordPress
- Apporte aussi une fonction de coloration syntaxique (adaptée à de nombreux langages).
- Compatible WordPress 1.5+
- Un seul fichier de plugin, à activer par le tableau de bord WP, plus un fichier CSS pour gérer la présentation
Contre :
- Il faut dĂ©finir des tags CSS (problème mineur parce que, pour les autres, c’est seulement prĂ©fĂ©rable)
RobM Code entities v1.1
Syntaxe
Au vu de l’Ă©volution des plugins de ce type, l’auteur lui-mĂŞme conseille aujourd’hui plutĂ´t Priyadi’s Code Autoescape.
Conclusion
Comme vous pouvez l’imaginer Ă partir des informations donnĂ©es ci-dessus, mon choix s’est donc orientĂ© vers Dean Code Source Syntax highlighting que j’utilise maintenant pour Roumazeilles.net. L’argument le plus important a clairement Ă©tĂ© la possibilitĂ© d’assurer une coloration syntaxique qui apporte une lisibilitĂ© accrue y compris pour des petits morceaux de code (confort pour les lecteurs du site).
Je n’affirme pas avoir tout vu dans cette comparaison (benchmarking) mais cela m’a menĂ© Ă faire un choix raisonnĂ© dont je souhaitais partager avec vous les raisons. Vous avez (ou allez) peut-ĂŞtre faire un choix diffĂ©rent ; n’hĂ©sitez pas Ă nous expliquer pourquoi ou comment.
Exemples
Code PHP
Voici comment se présente un morceau de source PHP :
CSS code
Voici l’affichage d’un fichier CSS :
-
-
/*******************************/
-
/* Links */
-
/*******************************/
-
a:link { color:#a0a010 }
-
a:visited { color:#606000 }
-
a:hover { color:#e0e020; text-decoration: underline }
-
a:active { color:#e0e020; text-decoration: underline }
-
|
Autres articles similaires :
|



