18 février 2008 §
Il existait l’excellent outil activeCollab, je dis bien « il existait » vu que ce dernier est passé du coté obscure de la force en devenant propriétaire et payant.
Quelques personnes motivées ont repris les sources de la version 0.7.1 d’ activeCollab, qui était sous licence GPL.
Le nouveau projet, renommé ProjectPier, corrige divers bugs et failles de sécurité. Il apporte également de nouveaux thèmes, donc certains très réussi !

Pour finir en beauté, la traduction française existe aussi :)
1 février 2008 §
Présenté la semaine dernière par les gars d’Automattic, le thème Prologue se veut être une alternative a Twitter ! Autrement dit, la possibilité du faire du micro blogging tout en gardant le moteur de blog WordPress :)
Le résultat graphique est le suivant :

C’est light, freshy, pas mal du tout en quelque sorte !
Pour l’occasion (c’est pas tous les jours qu’automattic réalise un thème), j’ai décliné le thème en français, et j’y ai apporté quelques corrections.
Vous trouverez un site de dédié à Prologue, avec une petite présentation, une démo, des captures d’écrans et la dernière version française à télécharger !
Comme d’habitude, tout retour constructif est la bienvenue !
24 septembre 2007 §
Fran6 ayant expliqué les 6 nouveautés « utilisateur », je me « tape » les 4 nouveautés « Développeur ».
(en fait on fait un puzzle géant sur internet :D)
Pour faire différent, je me base sur la même source que lui, soit l’excellent article de Aaron Brazell sur les 10 nouveautés de WP 2.3 :).
Tout le monde suit ? Ou plutôt s’accroche ?
On est parti…
La fonction $wpdb->prepare()
En fait, c’est une fausse nouveauté… Les développeurs ont juste réalisé une première implémentation à la va-vite d’une méthode vous permettant de sécuriser vos requêtes contre les injections SQL.
Concrètement il s’agit d’une bonne habitude à prendre pour l’avenir dans le développement de plugins et d’extensions pour thèmes.
Donc à l’utilisation, ça donne ceci:
function getData() {
global $wpdb;
$query = "SELECT ID FROM $wpdb->posts";
$query = $wpdb->prepare( $query );
$results = $wpdb->get_results( $query );
}
Rien de bien compliqué :)
Et comme on dit chez moi (et chez vous surement), à utiliser et abuser :)
Atomlib
Un ajout tardif dans le développement dans WordPress 2.3.
Atomlib est une librairie en PHP facilitant l’utilisation et l’exploitation de fil Atom. (un format concurrent au RSS).
Concrètement il ajoute à WordPress, un ensemble de fonction, exploitable par les plugins et différents thèmes, pour la production de fil Atom ou tout simplement la syndication.
Pas d’exemple sous la main. Ça sera l’objet d’un article :)
Deprecated Functions
Au programme des fonctions dépréciées (donc à ne plus utiliser), nous avons:
permalink_link() à remplacer par the_permalink()
permalink_single_rss() à remplacer par the_permalink_rss()
Bien entendu ces fonctions restent utilisables, mais aucune garantie n’est prévue lors des prochaines mises à jour de WordPress.
Pluggable RSS Library
Enfin… Cela fait des mois que l’on demande à virer la « dépassée » librairie de syndication RSS « Magpie » et WordPress 2.3 apporte enfin des choses à ce niveau.
Non on ne quitte pas encore « Magpie », mais cette librairie devient « pluggable » ou enfichable :)
Cela veut dire que demain, on pourra très facilement la remplacer par SimplePie grâce à un petit plugin, et générer enfin des flux RSS sans se soucier de l’encodage de ces derniers :)
Sans oublier les features de cache, de multi URL, etc.
Pour finir…
Le dernier point technique que notre ami Aaron ne cite pas, s’agit du nouveau schéma de base de donnée pour la taxinomie.
Mais j’ai expliqué ce dernier point sur un article de WordPress Francophone.
Voilà, si vous n’avez rien compris à tout cela, lisez l’article de Fran6, sinon posez vos éventuelles questions ;)
7 septembre 2007 §
La naissance d’un thème
Lassé de mon ancien thème (original, mais peu lisible), j’ai décidé mercredi de créer un nouveau thème.
Je procède alors à quelques essais avec le framework CSS « blueprint » que mon collègue Nicolas Merouze m’a gentiment fait découvrir la semaine dernière.
Au début, j’ai été étonné par la rapidité à créer un squelette graphique.
Malheureusement l’inconvénient d’un tel framework, est que vous ne construisez plus le code HTML de votre site, de façon sémantique, mais vous essayez de bidouiller avec les différentes classes que le framework propose pour obtenir le résultat visuel escompté.
Au final, cela vous enferme dans les templates à la hemingway & co et c’est un vrai frein à votre créativité.
Bref, je ne suis pas du tout convaincu. (peut être que je changerai d’avis selon l’évolution du projet)
Il y’a tout de même de bonnes choses dans ce framework, telles que la notion de rythme vertical (même si utopique en pratique), le reset des CSS, et d’autres petites astuces.
Conclusion ! J’ai emprunté quelques lignes à blueprint et j’ai créé ma propre CSS :)
Pour ce nouveau thème, j’ai choisi la simplicité.
Une seule sidebar, utilisation exclusive des tags (pas de redondance avec les catégories), pas de pub, pas de bouton à la sauce Web 2.0, pas d’archives mensuelles…
Uniquement l’essentiel !
Merci à Rod pour le (gros) coup de main. (choisir les couleurs c’est plus compliqué qu’on pourrait l’imaginer)
Un zeste de folie !
Lorsque j’ai commencé à intégrer mon nouveau thème, j’ai commencé à le faire en version 2.2 de WordPress.
Et puis au bout de 2 minutes, je me suis dit que c’était débile de créer un thème pour WP 2.2 alors que la version 2.3, bien qu’en version béta (danger! danger! ne pas installer sans connaissance technique), sort dans moins d’un mois…
Conclusion, me voilà migré sur la dernière version de développement de WordPress 2.3, et c’est que du bonheur :)
Rien de nouveau ou presque pour vous humains ! (vous c’est la version 2.4 qui vous donnera envie) mais pour les développeurs c’est que du bonheur :)
La gestion de la taxinomie est… parfaite ! On peut imaginer tout plein de choses avec !! (hein Rod ?)
Bref du bonheur en boite :D
28 juillet 2007 §
Edit: Cet article a été mise à jour le 30/08. Il y avait un bug dans l’exemple de robots.txt que je donnais. Plus d’explication dans l’article suivant.
Plus un pense-bête qu’un véritable tutoriel, voilà en 7 points les choses à faire pour favoriser le référencement naturel de votre blog ou site WordPress !
1. Activer les permaliens
La forme n’influe pas beaucoup, il faut veiller à afficher le nom de l’article soit %postname%, si vous changez de forme, il existe des plugins pour conserver fonctionnelle l’ancienne forme d’URL. (Lire cette notice pour les personnes hébergées chez Free !)
2. Une sitemap à jour
Un point très important, la présence d’une sitemap pour votre blog. Je vous conseille le plugin Google Sitemap Generator 3 disponible en bêta, mais fonctionnel à 100%. Il vous aide même pour le point 3 en créant automatiquement un fichier robots.txt précisant l’adresse de la sitemap !
Il existe des adons pour les plugins SimpleTagging et UTW, pour une meilleure prise en charge des tags !
3. Un fichier robots.txt
Le fichier doit contenir principalement l’adresse de votre sitemap, mais on peut également interdire plusieurs formes d’adresses aux robots pour éviter les doublons, et éviter ainsi de se faire « bannir » de Google !
Un bon exemple :
Sitemap: http://www.herewithme.fr/sitemap.xml
User-agent: Googlebot
User-agent: Yahoo
User-agent: msnbot
User-agent: Accoona-AI-Agent
User-agent: MSRBOT
User-agent: VoilaBot
Disallow: /index.php
Disallow: /2005/$
Disallow: /2006/$
Disallow: /2007/$
Disallow: /tag
Disallow: /wp-
Disallow: /search
Disallow: /feed
Disallow: /comments/feed
Disallow: /feed/$
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$
Modifier la 1ère ligne selon votre domaine ;)
4. Choisir WWW ou non
Tel est la question !
Décider vous-même de garder ou non le « www. » des adresses de votre blog ou site WordPress. Uniformiser bien sûr votre choix dans les options générales de WordPress.
Exemple sur mon blog, je souhaite avoir absolument le WWW :
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} !^www.herewithme.fr$
RewriteRule ^(.*) http://www.herewithme.fr/$1 [QSA,L,R=301]
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Modifier le code ci-dessus selon votre domaine.
Une fois avoir modifié correctement votre fichier .htaccess, fixer lui un CHMOD de 0444 pour être sur que WordPress ne le modifie automatiquement lors de l’installation d’un plugin ou lors d’une mise à jour des permaliens.
Note: Cette astuce n’est pas compatible avec Free.
5. Inscription aux outils webmasters de Google
Fan6 propose une série d’articles détaillés sur son blog , n’hésitez pas à la consulter.
Je résumerai la chose en 2 points, ajouter l’adresse de votre sitemap, et choisir de garder ou non les WWW comme nous l’avons vue dans le point 3 dans la console Google.
L’adresse du service : http://www.google.com/webmasters/sitemaps/?hl=fr
6. Génération de méta
Bien que plus trop utilisé par les moteurs de recherche, générer des métas dans vos pages est toujours très important. Pour cela je vous suggère le plugin Another WordPress Meta Plugin pour spécifier ces informations manuellement, vous pouvez également le faire de façon automatisée avec le plugin MetaTagGenerator.
J’utilise personnellement un autre plugin plus disponible sur le site de l’auteur, je le publierai probablement sur ce blog avant la fin de l’été, après avoir apporté quelques corrections.
7. Un thème bien pensé
Ça peut paraître stupide, mais un thème bien développé, n’utilisant pas de tableau pour la mise en page, exploitant intelligemment les balises de titres h1 à h5 facilite le référencement.
Amateur de tableau et d’iframe, passez votre chemin et celui de Google !
28 juillet 2007 §
Vous avez repéré un thème ou un plugin internationalisé qui vous plait ?
Traduisez-le et partagez-le à la communautée !
( Si le thème ou plugin en question n’est pas internationalisé, consultez la partie 3 de l’excellent article de Marc Charlet. )
Télécharger et installer Poedit
Direction le site internet de l’outil : http://www.poedit.net/
Vous trouverez sur la page de téléchargement une version pour chaque plateforme (Windows, Mac OS et Linux).
Prenez la bonne version et installez-la ! ( pour windows: Next – I’accept – Next – Next- Next – Next – Install – Finish )
Précision sur le fonctionnement de l’internationalisation dans WordPress
WordPress permet dans son implémentation de délimiter les traductions dans des « domaines ». On peut faire l’analogie avec le découpage de la France en départements / régions.
Pour cela, les fonctions d’internationalisations disposent de plusieurs paramètres :
function __($text, $domain = ‘default’)
function _e($text, $domain = ‘default’)
Le premier paramètre ($text) correspond à la chaine de texte à traduire. Tandis que le deuxième ($domain) correspond au domaine de traduction. On peut d’ailleurs remarquer que si on n’utilise pas de deuxième paramètre, le domaine prend la valeur « default ». (le cas des chaines originales de WordPress)
Le fichier PO/MO présent dans le pack français traduit l’ensemble du domaine « default » de WordPress.
Exemple: Une chaine de texte du domaine « default » traduit par le pack français.
<?php _e(‘Anonymous’); ?>
Attention: N’étendez pas la traduction par défaut à d’autres plugins ou thèmes, au risque d’avoir de nombreux problème lors des mises à jour du pack français…
Vous l’aurez compris, il faut que votre thème ou plugin, dispose de son propre domaine de traduction pour toutes les chaines à traduire. Si ça n’est pas le cas, uniformiser le nom du domaine.
Exemple: Une chaine du plugin SimpleTagging, utilisant le domaine « simpletagging ».
<?php _e(‘Simple Tagging: Options’, ‘simpletagging’); ?>
Le principe est le même pour les thèmes et les plugins.
Nommage des fichiers de traduction (PO/MO)
Selon le cas, plugin ou thème, le nommage des fichiers de traduction est différent, explications !
Les thèmes
C’est le cas le plus simple, votre fichier de traduction doit juste être nommé dans le code de langue utilisé.
Exemple pour un WordPress français, il faudra juste nommé vos fichiers en fr_FR.po et fr_FR.mo et les placer dans le même dossier que votre thème.
Plus généralement, il faudra que vos fichiers soient nommer de la même façon que la constante « WPLANG » fixée dans le fichier wp-config.php
define (‘WPLANG’, ‘fr_FR’);
Les plugins
Cette fois-çi c’est un tout petit peu plus compliqué, votre fichier doit être nommé de la façon suivante : domaine – code langue .mo
Exemple pour le plugin SimpleTagging (rappel, le domaine de traduction est « simpletagging ») :
simpletagging-fr_FR.po
simpletagging-fr_FR.mo
Attention: Tout cela ne vaut que si vos plugins et thèmes sont bien développés… si cela ne fonctionne pas le plus simple est de contacter l’auteur pour savoir quelle est la spécificité. (il n’est pas rare de voir des dossiers « languages » dans les plugins, le cas échant déplacer vos fichiers de traduction dedans)
Créer un fichier PO et POT depuis les sources dans Poedit
L’ancienne méthode en ligne de commande est révolue ! (sauf cas spécifique)
Poedit vous permet de créer directement un fichier PO depuis les sources de votre plugin ou thème.
Mon exemple traitera d’un plugin, mais c’est le même principe pour les thèmes !
- Lancer Poedit
- Cliquer « Fichier – Nouveau catologue »
- Une fenêtre configuration apparait
- Compléter l’onglet « Info projet »
- Compléter l’onglet « Chemins »
- Ajouter un chemin grâce au bouton :
- Copier/coller le chemin de votre projet à l’aide de la barre d’adresse ou saisissez-la manuellement (cliquer pour agrandir)


- Compléter l’onglet « Mots clé »
- Ajouter un mot clé grâce au bouton:
- Ajouter les mots clés : ‘__’, ‘_e’ et ‘_c’
- Résultat à obtenir:
- Appuyer sur Ok
- Enregistrer le fichier avec comme nom, le domaine de votre plugin (exemple: exemple.po)
- Si tout se déroule bien, Poedit vous affiche une fenêtre avec les chaines ajoutées et éventuellement supprimées.
- Ne commencez pas tout de suite la traduction.
- Enregistrer le fichier et fermer Poedit.
- Dupliquer le fichier exemple.po en exemple.pot
- Supprimer le fichier exemple.mo créé automatiquement lors de l’enregistrement
- Renommer le fichier exemple.po en exemple-fr_FR.po
- Vous pouvez alors éditer ce fichier avec Poedit et réaliser la traduction française
- Le fichier POT permettra à d’autres personnes d’éventuellement traduire votre thème/plugin sans s’embêter à générer un fichier PO depuis les sources.
Mise à jour de votre traduction (POT)
Si vous effectuez des modifications dans les sources du plugins ou du thème:
- Il vous suffit de renommer le fichier exemple.pot en fichier exemple.po
- De le mettre à jour, pour cela:
- Menu « Catalogue » – « Mise à jour depuis les sources »
- Vous aurez un aperçu des ajouts et des suppressions
- Valider
- Enregistrer et fermer Poedit
- Renommer le fichier exemple.po en exemple.pot
- Supprimer le fichier exemple.mo créé automatiquement lors de l’enregistrement
Vous disposez alors d’un fichier POT à jour.
Mise à jour de votre traduction PO depuis un fichier POT
- Ouvrer votre traduction exemple-fr_FR.po avec Poedit
- Cliquer sur le sur menu « Catalogue – Mettre à jour depuis fichier POT »
- Sélectionner le fichier POT
- Valider les modifications
- Traduiser les nouvelles chaines
- Enregistrer !
Vous disposez d’un fichier de traduction à jour.
Bonne traduction ;)
23 juillet 2007 §
Durant le début du mois de juillet, j’ai eu l’occasion de travailler sur 2 sites: Panorient et Stop aux clichées, utilisant respectivement WordPress Mu et WordPress.
Panorient
Le site présente la société Panorient, un fabricant des pains orientaux (kebab, panini, etc.)
On y retrouve la liste de leurs produits, une présentation de la société, des actualités, une FAQ, etc.
Vous pouvez retrouver sa fiche sur mon site professionnel WP-Box !
Pour l’anecdote technique, ce site a été réalisé avec WordPress Mu, il y a 2 blogs, le blog français et le blog anglais. L’administration en est simplifiée et pour le visiteur c’est complètement transparent grâce à un design commun !
J’ai eu la chance de collaborer avec Ramenos pour ce projet, un professionnel de la SEO, toujours appréciable d’apprendre des petits trucs :)
Stop aux clichés

« Stop aux clichés sur les jeunes » est une campagne du comité jeunes de l’Anacej (association nationale des conseils d’enfants et de jeunes) lancée pour que la société porte un autre regard sur les jeunes.
Vous trouverez le site de la compagne ici.
Je n’ai pas réalisé intégralement ce site, j’ai juste donné un coup de main pour la réalisation du thème à la charmante Clotilde Larrose. (j’ai plus particulièrement travaillé sur la page d’accueil)
Longue vie à ces 2 sites !
22 juillet 2007 §
Edit: Je viens juste de voir que Fran6 avait pondu un article du même style… je sors…
Lorsqu’on travaille la première fois avec WordPress, le nombre de fichiers présents dans le thème par défaut, 18 pour être précis, peut paraître déroutant. Pourtant, la logique derrière est très simple et surtout très souple à l’usage…
Pour bien comprendre, rien ne vaut un petit schéma :)
(source: http://codex.wordpress.org/Template_Hierarchy)
Comme on peut le voir sur ce schéma, WordPress dispose de 8 vues différentes :
- Page d’accueil
- Article unique (avec les commentaires en général)
- Page statique
- Catégorie
- Auteur
- Vues relatives aux dates (années, mois, jours)
- Recherche
- Erreur 404
Cas général
Selon l’adresse entrée par le visiteur, WordPress va sélectionner la vue correspondante. Si le fichier de la vue en question existe, WordPress lance le template, sinon il appelle le template par défaut, index.php
Voila le cas le plus simple… Cependant, WordPress est plus puissant et permet d’aller un peu plus loin dans la logique pour certaines vues. Les vues en question sont les pages statiques, les catégories et dans une moindre mesure les vues auteurs et relatives aux dates.
Cas spécifique 1 : Les pages statiques de WP
WordPress permet grâce aux pages statiques, d’afficher un contenu (contact, CV, présentation) hors de la chronologie du blog. Il est également possible de créer des templates spécifiques pour ces pages.
Pour cela, vous pouvez vous inspirer du tutoriel de fran6, mais revenons à nos moutons…
Dans le cas où votre page possède un template personnalisé, WordPress tentera de le lancer, sinon il chargera le fichier page.php. Enfin si ce dernier n’existe pas, il charger le fichier index.php (le cas général)
Soit : votretemplateperso.php –> page.php –> index.php
Cas spécifique 2 : Les catégories de WP
Ce deuxième cas est un peu moins souple que les templates des pages. En effet cette fois-ci, le nom de vos template sera obligatoirement formaté en « category-X.php », X étant l’ID de la catégorie. La logique est la même que pour les pages.
Soit: category-X.php –> category.php –> archive.php –> index.php
Cas spécifique 3 : Le fichier archive.php
Ce fichier est commun aux vues relatives aux articles du blog, c’est-à-dire catégorie, auteur et vues relatives aux dates.
Il s’intercale juste avant le fichier index.php
Soit: category-X.php –> category.php –> archive.php –> index.php
ou: author.php –> archive.php –> index.php
ou encore: date.php –> archive.php –> index.php
Conclusion
Tout ce que je viens d’expliquer ici textuellement est affiché sur le schéma ci-dessus… Un peu de logique de programmation vous permettra en un clin d’oeil de comprendre la logique de WP ;)
Vous trouverez d’autres ressources sur la page Template Hierarchy du codex WordPress.org