Christophe Le Bot

  • Navigation rapide
Pratique de la conception numérique

Derniers commentaires

  • Test d’interface : paiement d’amendes en ligne
    • julienne | J’ai payé ce une contravention sur le cite dédié à cela ,je n’ai pas eu mon justificatif d paiement je suis inquiète car la semaine prochaine je serai dans la semaine ou je...
    • loren | L’algorithme surpuissant imaginé par les grands cerveaux de cette administration élimine la 5eme case lorsque les 3 premiers chiffres entrés par le citoyen verbalisé sont égaux. Pour...
  • Ajouter un disque à un serveur Linux Debian
    • nicolasg | Bonjour, Je réponds un peu tard à bosco Il est possible d’ajouter le deuxième disque comme un disque normal, et de faire un montage LVM (LVM : logic volume manaaer) avec les deux...
  • Récupérer le dernier auto-incrément MySQL avec PHP
    • chanteur06 | salut , une question : comment je remplace ça svp? >> $id_resto_tmp = mysql_insert_id(); mysql_query(‘INSERT INTO users_restos SET id_user=\ ».$_SE...
    • franky | Je pense que c’est ton commit qui n’est pas bon… relis le code de la fin de l’article… A+ utile plus de 5 ans après…
 

La barre des 4000 spams a été franchie !

4002. C’est, à cet instant, le nombre de spams que l’extension Askimet a éliminé de mon blog depuis que je l’ai installée (6 mois environ). Je trouve déjà le chiffre très élevé par rapport au trafic visiteurs (3000 visiteurs / mois). Ce qui m’étonne, c’est le taux de croissance de ce fléau, pire que celui mesuré globalement par Askimet, pourtant alarmant. J’ai atteint les 2000 en août et les 3000 il y a 2 semaines. A ce rythme, j’en serai à 10000 avant Noël !

Pas très réjouissant comme cadeau de fin d’année… L’essentiel est qu’Askimet ne croûle pas sous la charge ! Mais, connaissant les critiques récurrentes sur la vulnérabilité de WordPress face aux spams, sauvé comme par miracle par l’extension Askimet… du même éditeur, c’est peut-être là qu’est le défi que souhaite relever quelques spammers.

Qu’ils aillent jouer ailleurs !

Comparatif de 4 CMS PHP sur 190 critères

Stéphane Bordage nous propose une analyse complète de 4 solutions de gestion de contenu open source fonctionnant avec PHP :

A chacun de faire sa synthèse en fonction de ses besoins. Un très bon support de décision qui me fait découvrir encore une fois les vertus d’un Drupal que je sous-estimais.

Mise à jour : le dossier complet est disponible dans le numéro 720 du magazine Décision Informatique, paru le 21 mai 2007.

Mise à jour : suite aux réactions (étonnamment violentes) de la communauté Spip à propos des résultats, Stéphane Bordage a pris la sage décision de supprimer Spip de ce comparatif.

Utiliser les catégories pour gérer les tags sous WordPress

Logo WordPress

Incroyable mais vrai : WordPress ne gère pas les tags ! Ces petites étiquettes qui donnent du sens au contenu généré par les utilisateurs, sont dans tous les services estampillés « Web 2.0″… sauf dans WordPress. Les utilisateurs râlent depuis longtemps : c’est qu’ils les demandent, ces tags ! Et avec insistance ! Ils devaient être intégrés dans la prochaine version (la v.2.2 à paraître ces jours-ci) et ne le seront que dans la version 2.3. Les plus impatients ont déjà migré sur d’autres plates-formes…

Mais au fait, a-t-on vraiment besoin des tags dans WordPress ?

Non, car ce moteur de blog propose les catégories pour les gérer. Certains vont tout de suite me dire qu’il y a une grosse différence entre les deux et qu’il faut donc les deux. C’est vrai, il y a une telle différence que j’utilise les deux dans ce blog… en m’appuyant seulement sur les catégories.

Gérer les catégories comme un arbre sémantique

L’astuce consiste à utiliser la hiérarchie des catégories comme un arbre sémantique. Ensuite, il suffit de placer certains de ses noeuds dans l’interface. Pour illustrer le principe, je vais prendre l’exemple de ce blog qui utilise à la fois des thèmes et des tags.

Etape 1 : créer les racines

Pour commencer, je crée les catégories qui me serviront de racines :

  • Thèmes
    Pour gérer une classification hiérarchique.
  • Mots-clés
    Pour gérer les tags.

WordPress m’indique les identifiants des deux racines : 3 pour Thèmes et 4 pour Mot-clés. Ces identifiants sont importants pour placer les racines dans l’interface. Leur valeur dépend bien sûr de votre propre installation de WordPress. Mais n’allons pas trop vite…

Etape 2 : créer les thèmes

Mes thèmes sont hiérarchiques. Je crée donc les thèmes principaux (Concevoir, Développer, Exploiter, Imaginer, Savoir) en les plaçant sous la catégorie Thèmes. Puis, viennent les thèmes secondaires placés chacun sous un thème principal. Rien de très compliqué, c’est du WordPress basique !

Thèmes sous WordPress
La liste de mes thèmes dans l’interface de WordPress.

Etape 3 : afficher les thèmes

Maintenant, il faut mettre les mains dans le cambouis. Je vais modifier le thème WordPress de mon blog pour afficher mes thèmes dans la partie latérale de mon blog. Par défaut, WordPress gère la navigation par catégories dans un fichier nommé sidebar.php. J’y ajoute le code suivant :

<ul>
	<?php
	wp_list_categories('title_li=&orderby=name&show_count=0&use_desc_for_title=1&child_of=3');
	?>
</ul>

wp_list_categories est une fonction standard de WordPress pour afficher la liste des catégories. Grâce à ses options, je vais pouvoir placer la racine de mon arbre sémantique :

  • title_li=
    Indique que je ne souhaite pas afficher de titre avant la liste.
  • orderby=name
    Ordonne les catégories par nom.
  • use_desc_for_title=1
    Affiche les catégories sous leur catégorie mère.
  • child_of=3
    Limite la liste aux catégories appartenant à la catégorie 3 (donc Thèmes).

Etape 4 : créer les mots-clés

Les mots-clés sont créés sur le même principe. Je les saisie donc dans le gestionnaire de catégories de WordPress, sous la catégorie Mots-clés.

Mots-clés sous WordPress
La liste de mes mots-clés dans l’interface de WordPress.

Etape 5 : afficher les mots-clés… dans un joli tag cloud

Pour afficher les mots-clés, j’aurais pu me simplifier la vie en reprenant le même principe que pour les thèmes. Dans ce cas, le code suivant suffit :

<ul>
	<?php
	wp_list_categories('title_li=&orderby=name&show_count=0&hierarchical=0&child_of=4');
	?>
</ul>

Mais présenter les mots-clés sous forme d’un tag cloud est quand-même plus « tendance ». Un tag cloud met en valeur les mots-clés (tags) les plus utilisés. Pour cela, inutile de réinventer la roue, j’utilise une extension WordPress très simple et efficace : Category Tagging.

Une fois installée et activée, je n’ai plus qu’à générer le tag cloud dans l’interface :

<ul>
	<?php
	// Affichage du tag cloud (via plugin Category Tagging)
	if (function_exists ('cattag_tagcloud') ) {
		echo cattag_tagcloud(1,5,1,'NAME_ASC','1,2,3,4,5,6,7,8,9','','<li><a rel="tag" href="%link%" title="%description%" class="tag-cloud-%size%">%title%</a></li>','Aucun mot-clé trouvé');
	}
	// Affichage simple
	else {
		wp_list_categories('title_li=&orderby=name&show_count=0&hierarchical=0&child_of=4');
	}
	?>
</ul>

A chacun de spécifier ses paramètres (voir le détail sur le site de Category Tagging). Le plus important est sans doute le 5e paramètre qui exclut des catégories. Je l’utilise ici pour ne pas afficher les catégories racines (Thèmes et Mots-clés), ainsi que les thèmes de premier niveau qui sont déjà dans l’interface.

Reste à définir les styles CSS pour afficher les mots-clés en fonction de leur utilisation. Pour moi, c’est le code suivant :

a.tag-cloud-1 {
	font-size:1em;
	color:#9B907F;
}
a.tag-cloud-2 {
	font-size:1.2em;
	color:#7C6E59;
}
a.tag-cloud-3 {
	font-size:1.4em;
	color:#7C6E59;
}
a.tag-cloud-4 {
	font-size:1.6em;
	color:#666;
}
a.tag-cloud-5 {
	font-size:1.8em;
	color:#444;
}

Inconvénients

Comme toute astuce, la solution n’est pas idéale. Il y a aussi des inconvénients :

  • L’ajout d’un tag n’est pas possible pendant la saisie d’un article. En effet, WordPress propose l’ajout de catégorie pendant la rédaction, mais il semble impossible d’ajouter une sous-catégorie. Si quelqu’un connait le truc, je suis preneur !
  • Il faut modifier le code du thème WordPress pour gérer la liste des catégories à ne pas afficher dans le tag cloud. C’est le cas quand j’ajoute ou supprime un thème principal… ce qui est très rare.

Avantages

La solution n’est peut-être pas idéale, mais c’est un bon compromis :

  • On se passe d’un gestionnaire de tags. WordPress s’en trouve plus léger et plus stable.
  • Au niveau des articles, je peux afficher les thèmes et les mots-clés dans la même liste pour proposer un choix plus large aux lecteurs.
  • Si un mot-clé prend de l’importance, je peux le placer dans les thèmes sans toucher aux articles, ni aux outils de navigation. Pour faire la même chose avec un système de tags indépendant, il faut modifier chaque article…

Mise à jour. Thomas VdB voit deux autres avantages essentiels à utiliser les catégories comme arbre sémantique :

  • Les doublons disparaissent (comme Sémantique, sémantique et semantique qui sont habituellement considérés comme trois tags différents).
  • Le référencement est optimisé car l’adresse d’une page d’un tag décrit son contenu et facilite son indexation (par exemple, /category/mots-cles/web-semantique/).

Google is watching your server

Dans son blog Actulligence, Frédéric Martinet nous donne un excellent exemple de la puissance de Google. Son article Trouver des fichiers multimédias avec Google contient une requête permettant de trouver tous les fichiers sonores (MP3 et WMA) contenant le terme nirvana. Résultat fort démonstratif qui peut être appliqué dans un contexte de veille active (par exemple, recherche de documents sensibles ou de copies illicites).

J’aime bien cet exemple parce qu’il exploite un défaut de configuration des serveurs web. En effet, si on effectue une requête sur un dossier qui ne contient pas de page index, le serveur web va (trop souvent) nous en montrer le contenu. C’est le cas pour toutes les pages trouvées par la requête de Frédéric Martinet. « Et alors, quel est le problème ? C’est un site web public ! » Oui, sauf que je connais beaucoup de gens pressés qui placent des contenus privés dans des dossiers publics en se disant : « qui va deviner que je place ce fichier à cet endroit ? »

Google le saura.

Vous me prenez pour un parano, hein ? Alors voici un exemple. WordPress, le moteur de blog que j’utilise, place tous les fichiers que je lui envoie, dans le dossier wp-content/uploads/. Celui-ci n’étant pas interdit d’accès (configuration par défaut de la majorité des serveurs mutualisés), on peut obtenir la liste de tous les médias de mon blog. A priori, ce sont les médias qui illustrent mes articles, donc pas de soucis. Et pourtant, il y en a un énorme : les fichiers des articles privés ou en cours de rédaction sont visibles par n’importe qui ! Si vous placez des rapports, documents, images et autres fichiers rien que pour vous ou vos proches, tout le monde en profitera, sachez-le !

On peut appeler ça une faille de sécurité, non ? Et comme je suis très joueur, un fichier appartenant à un article privé est placé dans mes médias. Je donne 72h à Google pour le trouver. Vous pouvez essayer aussi.

Mise à jour : Je suis parano ! Google n’a pas trouvé mon fichier. Son robot d’indexation est pourtant passé à plusieurs reprises, sans prendre en compte le dossier wp-content/uploads/. Vu le nombre de blogs tournant sous WordPress, Google a peut-être pris l’initiative de ne jamais indexer ce dossier-là. Par contre, d’autres « visiteurs » moins sympathiques m’obligent à protéger mon dossier wp-content/ : visiblement la liste de extensions installées (wp-content/plugins/) semblaient beaucoup leur plaire… La récréation est finie !

Et vous ? Avez-vous constaté des comportements étranges ou des attaques directes sur votre blog ? Comment le protégez-vous ?

Un pirate prend la main sur la dernière version de WordPress

Rares sont les applications exemptes de failles de sécurité. On s’habitue aux bulletins de sécurité qui nous invitent à les mettre à jour dans les meilleurs délais, ce que nous ne faisons pas forcément toute affaire cessante…

Sauf que là, l’affaire est grave. Un pirate a réussi à pénétrer un des serveurs de WordPress pour modifier le pack d’installation de sa dernière version (v. 2.1.1). Tous les blogs qui utilisent cette version sont donc menacés.

La mise à jour vers la version 2.1.2 est donc à faire au plus vite !