Ces logiciels fantômes qui servent à traiter vos mails, acheminer vos documents vers une imprimante, lancer des sauvegardes automatiques et bien d’autres choses sont appelés dans le jargon informatique des « démons systèmes ». Ils travaillent en arrière-plan et ont pour vocation à faire des traitements critiques, il est donc primordial que ceux-ci soient les plus robustes possibles.
Or, la plupart du temps, les concepteurs de ces programmes n’appliquent pas les bonnes pratiques comme ils pourraient le faire avec des logiciels de gestion traditionnels, et ce pour plusieurs raisons :
- Les programmeurs travaillent souvent seul sur un démon système
- Le .NET framework fourni des API natives très peu adaptées à la mise en place de design SOLID
- Les démons systèmes sont (de premier abord) des programmes simples qui ne font que des choses répétitives.
De plus, il n’existe pas vraiment de bonnes pratiques quant à
l’exploitation d’un démon système, ainsi chaque programmeur y va de sa
créativité (enregistrement de logs dans des fichiers ou dans l’observateur
d’événements, interface de contrôle obscure, configuration sous forme de fichier
XML, INI ou base de registre, suivi des opérations à travers un fichier de
sortie, …)
Tout cela peut rendre complétement fou ceux qui sont chargés
d’installer, configurer et maintenir ces programmes, c’est pourquoi j’ai créé
« SystemHell », un Framework Open Source permettant de mettre au
point rapidement et facilement des services systèmes (démons) en .NET, avec
l’avantage de donner plus de souplesse aux administrateurs pour les installer,
les configurer et les maintenir.
Nous allons voir ensemble comment manipuler cet outil pour
mettre sur pied des démons avec une vraie qualité professionnelle.