Gérer une date de publication ne suffit pas : un CMS devrait toujours gérer en natif une date de création, date de modification, et une date de mise-à-jour contenu. Mais les deux dernières sont généralement fusionnées par les outils, à tort. Explications.
La date de création
La date de création (created) correspond à la date à laquelle un objet est créé dans le système de gestion de contenu. Elle est indépendante du type ou de l’état de l’objet. L’objet peut représenter n’importe quel type de contenu : une image, un article, etc. Le contenu peut avoir n’importe quel état : brouillon, public, privé, etc.
Le CMS devrait gérer cette date, pour que les personnes qui y utilisent le système puisse répondre à la question “Quand est-ce que c’est apparu dans le système ?”. La date de création est la date la plus ancienne liée à l’objet, et elle ne devrait pas être modifiable, même par un administrateur ou une administratrice.
Si cette date est modifiable depuis le système, elle devient falsifiable. N’importe quel·le administrateurice peut falsifier l’histoire depuis le système ou faire perdre cette information (peut-être définitivement). C’est pas un grand plan.
La date de publication
La date de publication (published) correspond au moment où un contenu est mis à disposition de son public, quel qu’il soit (le monde entier, les abonné·es, les collaborateurices en interne, etc.). Tous les types de contenus n’ont pas forcément une date de publication. Un contenu image n’a peut-être pas de publication.
La date de publication donne une information sur le contenu lui-même. Elle nous dit “Cet article a été publié à telle date”. Elle ne parle pas de l’objet dans le CMS, mais du bien du contenu représenté par cet objet.
La date de publication doit donc être modifiable depuis le système, parce que c’est ce qu’on attend en tant que créateurice du contenu. C’est à nous de décider quand est publié le contenu, pas au système.
En général, cette date est gérée par le CMS, et ils permettent de l’afficher aux utilisateurs finaux (le public auquel est destiné le contenu).
La date de dernière modification
La date de dernière modification (last_modified) indique quand l’objet a été modifié. C’est une date technique, pas éditoriale. Si j’ouvre un article très ancien pour lui changer une coquille, l’objet article est modifié mais le contenu éditorial n’a pas changé.
La date de dernière modif répond à la question “Quand est-ce qu’on a touché à la dernière fois à cet objet ?”. À l’instar de la date de création de l’objet, elle ne devrait pas être modifiable par les utilisateurices depuis le système. On peut la voir comme le pendant de la date de création.
Beaucoup de systèmes savent gérer cette date, c’est la date de dernière sauvegarde de l’objet. Mais souvent elle est mélangée avec la date de mise-à-jour contenu, et ça fout un bordel monstre.
La date de mise-à-jour du contenu
La date de mise-à-jour du contenu (content_updated) indique une évolution remarquable du contenu. Comme la date de publication, elle porte sur le contenu, pas sur un objet informatique. Là encore, tous les types de contenus n’ont pas besoin d’une date de mise-à-jour contenu. Mais pour un contenu texte (beaucoup du web quand même) c’est vraiment nécessaire.
Si le CMS ne gère pas cette date, elle va quand même être ajoutée, directement dans le contenu, sans être disponible pour le CMS lui-même. C’est ce qu’on voit à chaque fois qu’un post contient “mis-à-jour le” en haut de page. Les personnes ont voulu indiquer une modification substantielle du contenu, mais n’avaient pas d’autre option pour le faire.
Et finalement on a une date qui aurait mérité de déclencher une alerte, une mise à jour du flux RSS ou d’autres actions, et qui ne peut pas le faire. Parce que la date de mise-à-jour contenu constitue un signal pour l’audience, contrairement à la date de modification de l’objet.
Cette date doit donc être modifiable par les utilisateurices du système. Comme la date de publication, on s’attend à pouvoir l’afficher aux utilisateurices finales du contenu.
Illustration
Voyons comment tout ça s’articule avec un exemple. On va prendre l’exemple d’un article de blog sur lequel on travaille au cours d’une semaine de cinq jours. Chaque jour on fait une sauvegarde de l’objet, ce qui nous donne cinq dates dans le CMS, notée de T1 à T5.
Lundi, je crée un contenu “article” vide avec juste un titre. On est à T1. L’objet a une date de création (T1) et une date dernière modification (T1).
Mardi, je rédige l’article entier et je le publie. On est à T2. L’article a une date de publication (T2). Sa date de modification passe à T2.
Mercredi, je réalise qu’il y a une coquille et je corrige l’article. On est à T3. La date de modification passe à T3.
Jeudi, je reçois une critique et je modifie la conclusion de mon article. On est à T4. J’ajoute une date de mise-à-jour contenu T4. La date de modification passe à T4.
Vendredi, je m’aperçois que j’ai fait une coquille dans la conclusion. Je re-modifie l’article. On est à T5, et la date de modification devient T5.
À la fin de ma semaine, mon article a donc les dates suivantes :
- date de création : T1
- date de publication : T2
- date de mise-à-jour contenu : T4
- date de modification : T5
Avec ces quatre dates, je peux distinguer le moment où on n’a commencé à travailler sur l’objet, le moment où le contenu a été présenté au public, le moment où le contenu a été mis-à-jour, et la dernière fois où quelqu’un est passé changer quelque chose dans l’objet.
Mis sur une frise chronologique, ça donne ça :

Frise temporelle en 5 moments, notés de T1 à T5.
- Création de l’objet
- Publication du contenu
- Modification de l’objet
- Mise-à-jour du contenu
- Modification de l’objet
On peut aussi exprimer tout ça dans un tableau, ce qui permet de voir l’état de chaque type de date, selon le moment. (WordPress gère super mal les tableaux, donc je mets une alternative en-dessous).
Jour | Action | Date de création | Date de modification | Date de publication | Date de mise-à-jour contenu |
---|---|---|---|---|---|
Lundi (T1) | Je crée un contenu “article” vide. | T1 | T1 | Aucune | Aucune |
Mardi (T2) | Je rédige l’article entier et je le publie. | T1 | T2 | T2 | Aucune |
Mercredi (T3) | Je corrige une coquille. | T1 | T3 | T2 | Aucune |
Jeudi (T4) | Je modifie la conclusion de mon article. | T1 | T4 | T2 | T4 |
Vendredi (T5) | Je corrige une autre coquille. | T1 | T5 | T2 | T4 |
- Lundi (T1), je crée un contenu “article” vide.
- date de création : T1
- date de modification : T1
- date de publication : Aucune
- date de mise-à-jour contenu : Aucune
- Mardi (T2), je rédige l’article entier et je le publie.
- date de création : T1
- date de modification : T2
- date de publication : T2
- date de mise-à-jour contenu : Aucune
- Mercredi (T3), je corrige une coquille.
- date de création : T1
- date de modification : T3
- date de publication : T2
- date de mise-à-jour contenu : Aucune
- Jeudi (T4), je modifie la conclusion de mon article.
- date de création : T1
- date de modification : T4
- date de publication : T2
- date de mise-à-jour contenu : T4
- Vendredi (T5), je corrige une autre coquille.
- date de création : T1
- date de modification : T5
- date de publication : T2
- date de mise-à-jour contenu : T4
Conclusion
En bref, il y a besoin de quatre dates, parce qu’il y a deux choses différentes. Les objets techniques du CMS, qui ont besoin d’une date de création et de dernière modification, pour simplifier la vie de ceux qui gèrent le contenu et le CMS. Les contenus qui sont représentés par ces objets techniques, qui ont besoin d’une date de publication et d’une date de modification, à la fois à l’usage des personnes qui produisent le contenu et de leur audience.
Nom | Concerne | Modifiable depuis le CMS | Utile pour |
---|---|---|---|
Date de création | Objet technique qui représente le contenu | Non | Créateurices du contenu, Admin du CMS |
Date de modification | Objet technique qui représente le contenu | Non | Créateurices du contenu, Admin du CMS |
Date de publication | Contenu | Oui | Audience du contenu, Créateurices du contenu |
Date de mise-à-jour du contenu | Contenu | Oui | Audience du contenu, Créateurices du contenu |
- Date de création
- Concerne l’objet technique qui représente le contenu
- Non modifiable depuis le CMS
- Utile pour les créateurices du contenu, l’admin du CMS
- Date de modification
- Pareil que pour la date de création
- Date de publication
- Concerne le contenu
- Modifiable depuis le CMS
- Utile pour l’audience du contenu, les créateurices du contenu
- Date de mise-à-jour du contenu
- Pareil que pour la date de publication
À l’évidence, mon propos pense principalement à partir de contenus éditoriaux (des articles, des tests, etc.) exprimés dans du texte. Ce qui ne manquera pas de susciter des réactions, qui feront que je devrai faire une mise-à-jour du contenu, que je pourrais pas marquer, parce que mon CMS la gère pas en natif. Alors que c’est un besoin de base.
Aussi, je sais que ça sert à rien de poster ça en français, mais 1) gérer une version multi-lingue de WordPress alors que je publie une fois tous les deux ans du contenu intéressant en anglais, c’est l’enfer et 2) cet article sert à me passer les nerfs, pas à changer le monde.