Comment faire des tags? [fr]

[en] An explanation on how to tag, manually, using my plugin, or by using a blog editor like Ecto.

Virginie me demande en passant dans un e-mail comment faire des tags. Elle a suivi mes bons conseils comme une grande et a maintenant un profile Technorati, et elle aimerait tirer le meilleur parti de ce moteur de recherche spécialisé dans les blogs.

Je me rends compte, du coup, que même si je parle beaucoup des tags, c’est souvent en anglais.

C’est quoi, un tag?

Un tag, c’est comme une étiquette ou un mot-clé que l’on collerait sur un billet ou un blog. Cela nous aide à  nous y retrouver, et ça permet à  d’autres de trouver nos billets. Technorati est très utile pour cela. Ce n’est pas la même chose que les catégories, qui devraient rester plutôt génériques (les miennes ne sont pas un exemple à  suivre, allez donc voir plus loin). Pour les choisir, facile: on pense à  ce qu’on a écrit et on laisse venir l’inspiration.

Comment je fais?

Trois solutions. A la main, avec mon plugin WordPress, ou bien en utilisant un programme qui comprend les tags, comme ecto, pour publier ses billets.

Je développe.

A la main

Technorati va se promener sur les blogs à  la recherche de tags. Un tag, pour technorati, c’est un lien comprenant l’attribut rel="tag". Le dernier morceau de l’URL du lien est considéré comme le “tag” lui-même, le mot qu’il va indexer. Les liens en question peuvent se trouver n’importe où dans le billet. L’usage veut qu’on les collectionne en fin de billet, mais ce n’est pas nécessaire.

Quelques exemples:

<a href="http://technorati.com/tag/romandie" rel="tag">Romandie</a>
<a href="http://technorati.com/tag/romandie" rel="tag">la Suisse Romande</a>
<a href="http://monsite.com/romandie" rel="tag">Romandie</a>

Ces trois liens seront tous interprétés par Technorati comme le tag Romandie et le billet les contenant apparaîtra sur cette page. Vous noterez que le lien n’a pas besoin de pointer vers Technorati (mais le dernier morceau de l’URL doit être le nom du tag) et que le texte lié est libre.

Donc, si on veut, on peut parsemer son texte de liens-tags. Mais c’est fastidieux.

Bunny’s Technorati Tags

J’ai écrit un plugin WordPress pour pouvoir taguer facilement nos billets. Pour cela, passez d’abord à  la dernière version de WordPress.

Ensuite, copiez dans le répertoire “plugins” de votre site le fichier contenant le plugin. Activez-le dans l’espace d’administration de WordPress. Vous verrez ensuite dans votre formulaire d’écriture de billet un champ supplémentaire intitulé “tags”. Quand vous écrivez un billet, jetez-y quelques mots, et ils seront automatiquement convertis en tags pour Technorati.

Magique!

Ecto

On n’est pas obligé de passer par l’interface d’administration de son blog pour publier des billets. On peut aussi installer sur son ordinateur un programme qui permet de faire tout ça “à  distance”. Ecto en est un, très bon, qui permet d’ajouter des tags à  nos billets. Il est en anglais et n’est pas gratuit même si on peut le tester durant quelques semaines gratuitement. A essayer!

Pas clair?

Il vous faut plus de précisions? Demandez!

Femina: une promesse de blog [en]

Malgré tout le mal que j’ai pu dire du site de Femina, il s’y trouve une page qui me paraît fort prometteuse: nos potins.

A premier coup d’oeil, ça ressemble à  un blog — enfin, ça en a la mise en page. C’est joli, c’est aéré, on a envie de lire. Le ton est personnel, assez informel, authentique, comme celui du magazine, d’ailleurs.

Si on regarde de plus près, cependant, on remarque qu’il manque un certain nombre d’éléments pour que cette “promesse de blog” (dixit Anne Do) puisse être véritablement un blog digne de ce nom. Ce n’est pas juste une question d’appellation (surtout pas, en fait!) mais de rôle que devrait pouvoir jouer une telle publication.

A quoi peut donc bien servir un “blog de la rédaction” pour une publication comme Femina? Un blog, c’est bien pour un certain nombre de choses:

  • communiquer de façon transparente, directe et immédiate avec le “public” (les clients, les lecteurs, les électeurs…);
  • créer du dialogue, de la conversation avec le “public” et d’autres acteurs de la blogosphère (qui ne sont pas nécessairement des lecteurs du journal, par exemple) — ce qui renforce la “communauté”;
  • indirectement (car c’est une conséquence du succès dans les deux points mentionnés ci-dessus), augmenter sa visibilité dans les moteurs de recherche, avec toutes les conséquences réjouissantes que cela peut comporter.

Pour qu’un blog puisse mener à  bien cette mission, il y a un certain nombre de pré-requis, techniques et éditoriaux:

  • chaque billet doit avoir une adresse web stable et unique pour qu’on puisse y référer (le fameux “permalien”);
  • idéalement, les visiteurs doivent pouvoir laisser des commentaires ou au moins indiquer qu’ils ont écrit une réaction sur leur propre blog au moyen d’un trackback;
  • le billets doivent pouvoir être rattachés à  leur auteur (un être humain!), plutôt qu’être anonymes ou “collectifs” (on tombe alors dans la situation peu agréable où c’est l’institution ou l’entreprise qui parle);
  • le balisage (HTML et CSS) doit être structural (et non présentationnel) afin d’accomoder les moteurs de recherche comme Google, mais aussi les outils plus spécifiquement axés “blogs” comme Technorati, coComment, TailRank, ainsi que les divers annuaires répertoriant les blogs;
  • le blog devrait également être disponible sous forme de fil RSS/atom afin qu’on puisse s’y abonner et le suivre sans devoir se rendre sur le site lui-même;
  • être très ouvert par rapport au contenu du blog et des commentaires: éviter la censure ou les lourdeurs éditoriales MarCom ou RP;
  • la rédaction et la tenue du blog prend du temps; il faut prévoir du temps à  y consacrer pour qu’il reste vivant.

Il y a sûrement d’autres choses, mais avec ça, c’est déjà  bien parti. Difficile? Non. Il suffit d’utiliser pour son blog un outil de blogging, plutôt que de s’amuser à  vouloir réinventer la roue. La plupart des outils de blogging ont derrière eux plusieurs années d’existence et des équipes de développeurs enthousiastes — il est un peu illusoire de penser qu’on peut faire mieux seul dans son coin, surtout si l’on ne baigne pas déjà  dans la blogosphère. Donc, si on ne désire pas une solution hébergée comme WordPress.com ou TypePad, on installe sur le serveur de son site WordPress, DotClear ou encore MovableType (liste non exhaustive, bien sûr). Comme ça, on est sûr d’avoir sous la main le kit du parfait petit blogueur.

Je reviens à  Femina. Voici ce qui manque à  mon avis cruellement à  la jolie promesse de blog pour qu’elle puisse déployer ses ailes et occuper la place qu’elle mérite dans la blogosphère romande:

  • des permaliens
  • la possibilité de laisser des commentaires et des trackbacks
  • le nom de la personne qui a écrit le billet
  • côté “derrière la scène”: fil RSS/atom, balisage correct, service de ping…

Ce qu’il y a déjà ?

  • un ton de proximité, où l’on sent bien que ce sont des gens qui parlent
  • une jolie mise en page
  • la volonté de faire un blog 🙂

Alors, Femina — si tu relevais le défi?

Revue de presse pas si expresse [fr]

[en] Updated my press page. Complaint about the sorry state of some journal online archives and sites. La Liberté seems to get it right, though. All this smattered with early Sunday afternoon ramblings.

Tout d’abord, un grand bonjour aux lectrices et lecteurs de Femina qui passeraient par ici pour la première fois. Je vais être d’une originalité déconcertante en disant que j’espère que mon blog vous plaira. Si le technologie vous rebute et que vous préférez les photos, j’ai aussi un certain nombre d’albums en ligne.

N’hésitez pas à laisser un commentaire pour me dire bonjour — je vous promets, même si c’est la première fois ça ne fait pas mal.

Passons aux choses plus graves. J’ai mis à jour la page presse du mieux que j’ai pu. Je commence à me retrouver citée dans les journaux sans le savoir. C’est d’ailleurs la deuxième fois que Raph me l’apprend — “(12:39) ah ben c’est ça, la popularité, machin”. Et dans le même ordre d’idées, Stéphane Le Solliec m’informait que mon nom figure dans le dernier Joël de Rosnay… Bref.

Si vous avez lu dans La Liberté que j’ai dit que la Suisse avait un net retard dans l’utilisation des blogs en politique… disons que je n’ai pas été aussi catégorique. J’ai plutôt dit quelque chose comme “euh… oui… ben je disais il y a quelque temps qu’on était un peu à la traîne, mais là il me semble depuis quelques semaines qu’il y a vraiment des choses qui sont en train de démarrer, enfin ça bouge, donc on a un peu de retard, c’est clair, mais il me semble que c’est en train de changer…” Bref, moins catégorique. Et comme j’ai précisé à la journaliste, je ne suis vraiment pas une grande spécialiste du blog politique. Parce que moi et la politique… ça fait plus qu’un.

On notera en passant que sur le site de La Liberté, on peut faire des fouilles assez efficaces dans les archives web (une fois qu’on a trouvé le minuscule lien dans la colonne de gauche). En utilisant la recherche par date, je trouve sans problème toute la liste des articles “Régions” du 17.02.2006, par exemple. En mettant mon nom dans les mots-clés, on trouve deux articles — mais pas celui-ci, bizarrement? Donc, bravo La Liberté, c’est bien mieux que d’autres que nous ne nommerons pas ici!

On notera également en passant (je vois bien que je suis incapable de publier quoi que ce soit “d’express”) que la romandie compte maintenant enfin une star blogueuse: Marie-Thérèse. J’ai voulu ouvrir un blog chez Romandie.com, pour voir, mais alors là … Un gros cactus, allez — vous avez vraiment envie de donner votre adresse postale quand vous ouvrez un blog, vous? Allez plutôt chez WordPress.com. Même si pour le moment c’est en anglais, il y a plein de blogs en français là -bas, c’est joli, il n’y a pas de pub, on vous demande juste une adresse e-mail pour vous inscrire, et c’est une super plate-forme. Laissez l’adresse en commentaire si jamais vous décidez de vous lancer à l’instant, et j’irai jeter un oeil!

Je termine ce billet avec un autre gros cactus, pour Femina. Eh oui. (Rien à voir avec l’article, qui est très gentil et flatteur.) En allant chercher la version en ligne de l’article en question pour ma collection, j’ai vu que le site de Femina avait été refait. Peut-être il y a longtemps, je n’y vais pas souvent. Bon. Alors. D’abord, intro Flash avec son, non. On ne me donne même pas le choix d’y échapper. Et si j’étais en train d’écouter la radio pendant que je surfe, déjà ? Ou ma chanson préférée? Me flanquer du son dans les haut-parleurs de mon iBook sans me demander, c’est vraiment malpoli.

Ensuite, recherche d’articles. D’abord, c’est tout en je-sais-pas-quoi-j’veux-pas-l’savoir, et puis il faut s’inscrire avant de pouvoir voir quoi que ce soit. Au revoir, moi j’essaie même pas. C’est quoi le problème avec un bon vieux répertoire d’archives en HTML (valide, si possible)? Je crois vraiment qu’il faut arrêter d’essayer à tout prix de rendre l’accès à l’information difficile…

Bonne fin de dimanche!

Tags and Categories are not the Same! [en]

[fr] Les tags et les catégories, ce n'est pas la même chose. En bref, les catégories forment une structure hiérarchique, prédéfinie, qui régit l'architecture de notre contenu et aide autrui à s'y retrouver. Les tags sont spontanés, ad hoc, de granularité variable, tournés vers le partage et la recherche d'information.

Update, Sept. 2007: when I saw Matt in San Francisco this winter, he told me he had finally “seen the light” (his words!) about tags and categories. Six months later, it’s a reality for WordPress users. Thanks for listening.

I got a bit heated up last night between Matt’s comment that tags and categories function the same and a discussion I was having with Kevin on IM at the same time, about the fact that Technorati parses categories as tags.

I went back to read two of my old posts: Technorati Tagified and Plugin Idea: Weighted Tags by Category which I wrote about a year ago. In both, it’s very clear that as a user, I don’t percieve tags to be the same thing as categories. Tags were something like “public keywords”. Is anybody here going to say that keywords and categories are the same thing? (There is a difference between keywords and tags, but this isn’t the topic here; keywords and tags are IMHO much closer in nature than tags and categories).

Here are, in my opinion, the main differences between tags and categories, from the “tagger” point of view.

  • categories exist before the item I’m categorizing, whereas tags are created in reaction to the item, often in an ad hoc manner: I need to fit the item in a category, but I adapt tags to the item;
  • categories should be few, tags many;
  • categories are expected to have a pretty constant granularity, whereas tags can be very general like “switzerland” or very particular like “bloggyfriday“;
  • categories are planned, tags are spontanous, they have a brainstorm-like nature, as Kevin explains very well: You look at the picture and type in the few words it makes you think of, move on to the next, and you’re done.
  • relations between categories are tree-like, but those between tags are network-like;
  • categories are something you choose, tags are generally something you gush out;
  • categories help me classify what I’m talking about, and tags help me share or spread it;

There’s nothing wrong with Technorati treating categories as tags. I’d say categories are a kind of tag. They are special tags you plan in advance to delimit zones of content, and that you display them on your blog to help your readers find their way through what you say or separate areas of interest (ie, my Grandma will be interested by my Life and Ramblings category and subscribe to that if she has an RSS reader, but she knows she doesn’t care about anything in the Geek category. (By the way, CTTS is not a good example of this, the categories are a real mess.)

So, let’s say categories are tags. I can agree with that. But tags are not categories! Tags help people going through a “search” process. Click on a tag to see related posts/photos. See things outside the world of this particular weblog which have the same label attached. Provide a handy label to collect writings, photos, and stuff from a wide variety of people without requiring them to change the architecture of their blog content (their categories). If you want to, yeah, you can drop categories and use only tags. It works on http://del.icio.us/. But have you noticed how most Flickr users have http://flickr.com/photos/bunny/sets/ in addition to tagging their photos? Sets aren’t categories, but they can be close. They are a way of presenting and organizing things for human beings rather than machines, search engines, database queries.

To get back to my complaint that WordPress.com does not provide real tags, it’s mainly a question of user interface. I don’t care if from a software point of view, tags and categories are the same thing for WordPress. As a user, I need a field in which I can let my fingers gush out keyword-tags once I’ve finished writing my post. I also need someplace to define and structure category-tags. I need to be able to define how to display these two kids of tags (if you want to call them both that) on my blog, because they are ways of classifying or labeling information which I live very differently.

Am I a tag weirdo? Do you also perceive a difference between tags and categories? How would you express or define it? If categories and tags are the same, the new WP2.0 interface for categories should make the Bunny Tags Plugin obsolete — does it?

Requirements for a Multilingual WordPress Plugin [en]

[fr] Quelques réflexions concernant un plugin multilingue pour WordPress.

My blog has been bilingual for a long time now. I’ve hacked bilingualism into it and then plugged it in. Other plugins for multilingual bloggers have been written, and some unfortunately got stuck somewhere in the development limbo.

Defining specs is a hairy problem. They need to work for the person visiting the site (polyglot or monoglot). They need to work for the person (or people! translation often involves more than one person) writing the posts. They need to work for all the robots, search engines, and fancy browsers who deal with the site.

Here is what I would like a multiple language plugin to do (think “feature requirements”, suggestion, draft):

  1. Recognize the browser language preference of the visitor and serve “page furniture” and navigation in the appropriate language. This can be overridden by a cookie-set preference when clicking on a “language link”.
    • “WordPress” furniture can be provided by the normal localization files
    • how do we deal with other furniture content in the theme (navigation, taglines, etc.)? should the plugin provide with guidelines for theme localization? do such guidelines already exist? extra information appreciated on this point
    • “language links” shouldn’t be flags, but language names in their respective languages; can this list be generated automatically based on present localization files? otherwise, can it be set in an admin panel?
    • upon “language change” (clicking on a language link), could the localization (action) be done in an AHAH– or AJAX-like way?
    • inevitable hairy problem: tag and category localization
  2. Manage “lazy multilingualism” in the spirit of the Basic Bilingual plugin and “true multilingualism” elegantly and on a per-post basis.
    • allow for “other language abstracts”
    • allow for actual other language version of the post
    • given the “general user language” defined above, show posts in that language if a version for that language exists, with mention of other language versions or abstracts
    • if that language doesn’t exist, show post in “main blog language” or “main post language” (worst case scenario: the wordpress install default) and show alongside other language abstracts/versions
    • abstract in one language (would be “excerpt” in the “main” language) and existence of the post in that language are not mutually exclusive, both can coexist
    • does it make more sense to have one WordPress post per language version, or a single post with alternate language content in post_meta? For lazy multilingualism, it makes more sense to have a single WP post with meta content, but fore “translation multilingualism”, it would make more sense to have separate posts with language relationships between them clearly defined in post_meta
  3. Use good markup. See what Kevin wrote sometime back. Make it nice for both polyglot and monoglot visitors. Inspiration?
    • use <div lang="xx"> and also rel attributes
  4. Provide a usable admin panel.
    • when I’m writing the other version of a post, I need access to the initial version for translation or abstracting
    • ideally, different language version should be editable on the same admin panel, even if they are (in the WordPress database) different posts
    • languages in use in the blog should be defined in an options screen, and the plugin should use that information to adapt the writing and editing admin panels
    • idea: radio button to choose post language; N other language excerpt/abstract fields with radio buttons next to them too; abstract radio buttons change dynamically when main post language is set; in addition to other language abstract fields, another field which can contain a post id/url (would have to see what the best solution is) to indicate “this is an equivalent post in another language” (equivalent can be anything from strict translation to similar content and ideas); this means that when WP displays the blog, it must make sure it’s not displaying a post in language B which has an equivalent in language A (language A being the visitor’s preferred language as defined above)
  5. Manage URLs logically (whatever that means).
    • if one post in two languages means two posts in WP, they will each have their own slug; it could be nice, though, to be able to switch from one to an other by just adding the two-letter language code on the end of any URL; a bit of mod_rewrite magic should do it
  6. Integrate into the WordPress architecture in a way that will not break with each upgrade (use post-meta table to define language relationships between different posts, instead of modifying the posts table too much, for example.)
    • one post translated into two other languages = 3 posts in the WP posts table
    • excerpts and post relationships stored in post_meta
    • language stored in post_meta

I have an idea for plugin development. Once the specs are drafted out correctly, how about a bunch of us pool a few $ each to make a donation to (or “pay”) the person who would develop it? Who would be willing to contribute to the pool? Who would be willing to develop such a plugin (and not abandon the project half-way) in these conditions?

These specs need to be refined. We should start from the markup/reader end and get that sorted out first. Then, think about the admin panel/writer end. Then worry about code architecture. How does that sound?

We’ve started a discussion over on the microformats.org wiki. Please join us!

Update: this post is going to suffer from ongoing editing as I refine and add ideas.

Plugin Updates for WordPress 2.0 [en]

[fr] Les plugins "Bunny's Technorati Tags" et "Basic Bilingual" fonctionnent à  présent avec WordPress 2.0.

It took me a couple of hours, but both Basic Bilingual and Bunny’s Technorati Tags are now WordPress 2.0-compatible.

A few minor tweaks have been made, most significant of which is that these two plugins can now be used for Pages in addition to normal posts.

They should work, though I haven’t troubleshooted them extensively — please ring the bell if you bump into any problems.

Kit d'installation de WordPress en français [fr]

Quelques liens et instructions très sommaires (un pense-bête, plutôt) pour installer Wordpress en français.

[en] A few links and very brief instructions to install WordPress in French "my way".

Avertissement: WordPress 2.0 sort bientôt, et la suggestion présentée ici sera très certainement caduque à  ce moment-là .

Il vous faut:

Côté réglages:

  • chmod 775 (ou 777, j’ai un doute) sur le répertoire wp-content/plugins ainsi que wp-content/themes
  • uploader un .htaccess vide, chmod 777
  • dans les options, copier-coller l’exemple donné pour les permaliens
  • activer le plugin Markdown (et les autres plugins qu’on a installés)

MediaWiki [en]

I’ve installed MediaWiki. Explanation and solution of a bug I bumped into while installing (because of UTF-8 in MySQL 4.1.x) and comments on the method for interface translation.

[fr] J'ai installé MediaWiki pour récussiter le moribond SpiroLattic, tombé sous les coups du wiki-spam. Voici la solution à  un problème que j'ai rencontré durant l'installation (dû au fait que j'utilise MySQL 4.1.x avec UTF-8), et aussi une description de la façon dont est faite la localisation par utilisateur de l'interface. Très intéressant!

I recently managed to install MediaWiki to replace PhpWiki for SpiroLattic, which I took offline some time ago because the only activity it had become home to was the promotion of various ringtone, viagra, and poker sites.

MediaWiki is the wiki engine behind Wikipedia. It is PHP/MySQL (good for me, maybe not for the server) and has a strong multilingual community.

I bumped into one small problem installing MediaWiki 1.4: the install aborted while creating the tables. Unfortunately, I don’t have the error message anymore, but it was very close to the one given for this bug.

If I understood correctly, when you’re running MySQL 4.1.x in UTF-8, the index key becomes too big, and MySQL balks. The solution is to edit maintenance/tables.sql and to change the length of the index key MySQL was complaining about. In my case, the guilty part of the query was KEY cl_sortkey(cl_to,cl_sortkey(128)) — I replaced 128 by 50 and it went fine. (Don’t forget to clean out the partially built database before reloading the install page — like that you don’t have to fill it all in again.)

MediaWiki allows each user to choose his or her language of choice for the interface. That is absolutely great, particularly for a multilingual wiki! Even better than that, they let users tweak the interface translation strings directly on the wiki.

There is a page named “Special:Allmessages” which lists all the localized strings. If you’re not happy with one of the translations, just click on the string, and the wiki will create a new blank page where you can enter your translation for it, which will override the initial translation. How cool is that?

Something like that for WordPress would be great, in my opinion!