Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Mon livre « Cyberstructure »

Ève

C'est vraiment bien d'indiquer la date dans les commentaires des fichiers de configuration

Première rédaction de cet article le 12 janvier 2009


Souvent, je regarde les fichiers de configuration d'une machine qui a plusieurs administrateurs système et je vois un commentaire du genre :

# Modification temporaire, tant qu'on n'a pas davantage d'espace disque
do_something=false

et, là, je suis perplexe. Depuis combien de temps est-ce « temporaire » ? Des années, peut-être. La date du fichier ne me renseigne pas car il a pu être modifié à d'autres endroits. Pourquoi tout le monde ne met-il pas la date de la modification lorsqu'il ajoute un tel commentaire ?

C'est un des mes conseils favoris aux administrateurs système. Lorsqu'on modifie la configuration du système et que cette modification est de nature temporaire, il faudrait toujours mettre une date. Par exemple :

# Modification temporaire (2004-05-23), tant qu'on n'a pas d'avantage
# d'espace disque
do_something=false

Cette fois, plus aucun doute, on sait ce qu'il en est et on peut apprécier si le problème est encore d'actualité.

Un cas où les modifications sont fréquemment temporaires est celui des pare-feux. On doit souvent les modifier en urgence, pour répondre à une menace spécifique, et il est important de ne pas laisser trainer de telles règles éternellement. Un exemple dans un fichier de configuration Shorewall, blacklist, est le blocage complet d'une machine qui attaque notre système :

# Accès SSH répétés 2009-01-12
192.0.2.6

Les adresses IP étant réaffectés relativement souvent, il ne faut pas laisser trainer une telle configuration, sous peine de bloquer le malheureux qui a récupéré 192.0.2.6. D'où l'importance de la date.

Sous quel format mettre la date ? Sur les machines ayant des administrateurs système de diverses nationalités, il vaut mieux utiliser la norme internationale, ISO 8601 (ou plutôt son sous-ensemble plus simple défini dans le RFC 3339). On écrira donc 2008-04-09 et pas 09-04-2008 (ou, bien pire, la notation états-unienne 04-09-2008 qui est ambigüe : parle t-on du 4 septembre ou du 9 avril ?).

Regarder sa montre et taper la date est un peu pénible et surtout sujet aux erreurs. Pour faciliter sa tâche, l'administrateur système peut compter sur des outils comme Emacs. J'ai par exemple ce code dans mon ~/.emacs :

(defun today ()
  "Insert the current date"
  (interactive "*")
  (insert (format-time-string
           "%Y-%m-%d" ; ISO format
           (current-time))))

(global-set-key [f7] 'today)

et il suffit alors, en éditant un fichier de configuration, de taper F7 pour avoir la date exacte et correctement formatée.

Et si on gère ses fichiers de configuration dans un VCS ? Ceux-ci gardent trace de la date, après tout. En effet, on n'a alors pas besoin de l'indiquer, à condition que le VCS fournisse des outils de voyage dans le temps simples et puissants.

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)