Argos Panoptès, l’interview

Pour Framaspace, Framasoft a fait développer un outil de supervision de sites web nommé Argos Panoptès (ou juste Argos pour aller plus vite).

Développé par Alexis Métaireau, développeur entre autres du générateur de site statique Pelican, et de l’outil de gestion de dépenses à plusieurs « I Hate money » (repris dans l’app cospend sur Nextcloud), le besoin a été défini par Luc Didry, l’administrateur système de Framasoft.

Luc et Alexis répondent à nos questions dans cet interview, pour plus d’information concernant Argos vous pouvez consulter l’article dédié.

Bonjour à tous les deux 🙂 Ici on connaît déjà Luc puisque c’est notre admin sys préféré, mais Alexis, peux-tu nous dire qui tu es pour le framablog ?

Alexis : Bonjour, Framasoft, et merci pour la discussion ! Et bien, c’est parti pour l’exercice de la présentation alors.

Je suis un développeur de bientôt 40 ans, intéressé par les dynamiques collectives, le logiciel libre et la protection des données personnelles, depuis quelques années maintenant. Par le passé j’ai pu publier et maintenir quelques outils comme Pelican, un générateur de sites statiques et I hate money, pour gérer les dépenses partagées. J’ai travaillé quelques années pour Mozilla sur la partie synchronisation et chiffrement des données (Firefox Sync, Kinto) et sur quelques autres outils.

J’ai quitté le développement « pro » entre 2018 et 2023. Durant ces années j’ai eu la chance / le privilège de pouvoir monter une brasserie sur Rennes avec un ami. Nous avons essayé de faire vivre les valeurs de la collaboration (plutôt que celles de la compétition). Cela est resté très proche des valeurs du logiciel libre, nos recettes et les plans de nos machines étant par exemple publiés sur notre site web.

À l’été 2023 j’ai décidé de quitter la brasserie pour à la fois refaire du développement et travailler sur les outils de la prise de décision collective, et la gestion des conflits dans les collectifs. C’est à ce moment que nous sommes rentrés en contact avec Luc pour travailler sur Argos.

Pouvez-vous nous présenter l’outil Argos sur lequel vous avez travaillé ? À quel besoin répond-il pour Framaspace ?

Alexis : Argos est un outil de supervision de sites web. L’idée est assez simple: surveiller que les sites vont bien, et générer des alertes quand c’est utile, en envoyant des notifications par email ou autre.

La spécificité d’Argos est de pouvoir gérer un nombre de sites important. Framaspace, en grossissant, expose pas loin de 900 domaines au public, qui parfois tombent en panne. Je crois que le réel besoin derrière Argos était de simplifier la vie de Luc (vous saviez qu’il n’y avait qu’un seul adminsys chez Framasoft ?!!) et de lui permettre d’avoir une meilleure vision globale de l’état du service.

Les vérifications concernent les statuts du site web, mais aussi l’état des certificats SSL, par exemple, et quelques vérifications spécifiques.

Luc : On surveillait déjà plus de 200 sites via notre outil de supervision (Shinken), mais celui-ci, avec toutes les autres sondes de supervision de notre infrastructure, avait bien de la peine à repasser toutes les 5 minutes sur les sites. Ce qui faisait qu’on pouvait se rendre compte qu’un site était tombé au bout de trop de temps.

Avec Framaspace, je savais que j’aurai des centaines (et à terme des milliers) de sites à surveiller en plus, sachant qu’un site est la cible de plusieurs vérifications, comme dit par Alexis. Il fallait donc un outil dédié.

Les outils existants comme statping-ng ou Uptime Kuma présentent un défaut rédhibitoire : vouloir afficher l’état de chaque site en même temps sur l’interface web. Ça va bien quand on a quelques sites, pas quand on en a des centaines (l’outil peine à envoyer les données de centaines de sites).

C’est de là qu’est née l’idée d’Argos, qui a le bon goût de n’afficher qu’un résumé de l’état des sites par défaut.

 

4 blocs avec des statuts (inconnu, ok, avertissement, erreur) et pour chacun, un nombre correspondant.
Capture d’écran de la page de statut d’Argos

 

Si on regarde de plus près les coutures, on voit que c’est développé en langage Python avec une base de données en PostgreSQL. Laissez-moi deviner : Alexis a choisi Python et Luc a choisi PostgreSQL ?

Alexis : Ah, je vois que tu nous connais un peu, mais figure toi que même pas ! J’aurais aimé plaider coupable pour le coup, mais Luc cherchait spécifiquement quelqu’un qui savait faire du Python, et c’est comme ça qu’on s’est rencontré. J’ai proposé d’utiliser le framework FastAPI à la place de Flask parce que ça nous permettait de faire de l’asynchrone de manière plus simple, et d’utiliser les fonctionnalités de typage de Python.

Luc : Pour Framaspace, j’ai été plus ou moins obligé de faire du Python car Salt, l’orchestrateur utilisé pour déployer les espaces est en Python : je pouvais, en utilisant ce langage, l’utiliser comme une bibliothèque, sans utiliser de bidouilles sales.

Comme Argos a été créé dans le cadre de Framaspace, j’ai voulu garder le même langage de programmation, pour avoir un tout cohérent.

Python n’est pas un langage si pire que ça. Il n’est pas amusant, mais ça fait le job. Peut-être aussi que je vieillis : j’utilise de plus en plus Python pour des scripts. Peut-être qu’écrire des scripts ne m’amuse plus, et que je veux les écrire vite pour passer à autre chose.

Mème the Rock qui conduit - Et ton machin va être en Perl, comme d'hab - Non j'ai choisi Python cette fois The rock se retourne, interloqué

La question habituelle de libriste : pourquoi avez-vous choisi de développer un outil dédié, il n’existait pas d’outils libres pour de la supervision ? Quelles sont ses spécificités ?

Alexis : Je te laisse répondre Luc, c’est toi qui a affiné le besoin 🙂

Luc : Ah bah zut, j’ai déjà répondu au-dessus 😅

L’avantage d’avoir notre propre outil nous permet aussi de le tordre pour nos besoins spécifiques. Ainsi Argos envoie-t-il des notifications à notre serveur Gotify. Intégrer un tel canal de communication dans un outil existant aurait pu prendre du temps (comprendre le code, faire une PR, attendre une release…).

En lisant la doc, ça a l’air tout simple à utiliser par rapport à d’autres outils !! Comme administrateur⋅ice système du dimanche après-midi, si je veux surveiller l’état de mes sites, est-ce qu’il y a des pièges ou des choses à savoir ?

Alexis : Je pense que ça pourrait tout à fait permettre de surveiller l’état de quelques sites, bien que peut-être surdimensionné. Argos a besoin de lancer un serveur, une base de données et des agents. Est-ce bien utile pour un⋅e adminSys du dimanche ? Peut-être !

Luc : Franchement, je pense qu’il peut être utilisé aussi bien par une grosse organisation que par un·e adminSys du dimanche. La configuration est simple, l’installation pas très compliquée, et il n’a pas l’air de consommer beaucoup de ressources.

Alexis tu étais en mode prestation pour développer, comment s’est passée la relation avec Framasoft ?

Alexis : Franchement, c’était une surprise totale, et un plaisir du début à la fin. On a d’abord pu se faire quelques appels avec Luc pour clarifier les besoins, je me suis retrouvé avec une liste de fonctionnalités de base, et j’ai avancé comme ça.

Quand j’avais besoin j’ai pu échanger avec Luc qui était toujours assez réactif, et j’ai pu lever quelques blocages. J’ai beaucoup apprécié répondre à un besoin concret, en ayant l’utilisateur final au bout du fil pour clarifier les choses.

Par la suite, on a pu se faire quelques sessions ensemble, à la fois de présentation de l’outil, puis de pair-programming pour accompagner Luc sur certains aspects quand c’était utile, l’idée étant que ce soit lui qui prenne la main sur le projet.

C’était en fait ma première mission en tant que « prestataire », je crois que je suis très bien tombé !

Luc : Pareil de mon côté, c’était très agréable de bosser avec toi !

Est-ce que vous pensez que ça peut être utilisé dans d’autres contextes que Framaspace ?

Alexis : je pense que ça peut être utilisé dans d’autres contextes bien sûr. Je pense aux « fermes de sites », comme par exemple ce que peut faire NoBlogs en Allemagne, mais de manière générale c’est utile d’avoir un outil simple d’accès pour faire de la supervision. Bosser là-dessus m’a donné envie de permettre de faire de la supervision « en tant que service », pour des collectifs pour qui ce serait utile, mais… j’imagine que c’est une autre histoire.

Luc : Carrément ! Pas seulement pour des fermes de sites mais partout où on a besoin d’une supervision qui passe très régulièrement. On peut avoir des vérifications effectuées toutes les minutes, ce qui peut être utile sur des sites qui ne doivent pas tomber. Et un grand nombre de sites ne devrait pas faire peur à Argos : on peut multiplier le nombre d’agents (le logiciel qui s’occupe d’effectuer les vérifications et d’en remonter le résultat au serveur), et le choix de PostgreSQL comme base de données a (aussi) été fait parce que c’est un SGBD robuste qui peut encaisser de la charge de travail.

Et est-ce que vous imaginez une suite, avec une feuille de route ou des invitations à contribuer ?

Luc : Il y a déjà des idées de développements futurs pour améliorer Argos, mais ça n’est pas urgent : la première version est déjà tout à fait fonctionnelle.

Alexis : J’aime bien l’idée de ne pas avoir de feuille de route trop précise pour le futur, ce qui nous permet de se concentrer sur des besoins réels et de ne pas en faire une usine à gaz. Si vous l’utilisez et que vous avez des retours à faire, ou bien si vous souhaitez contribuer, n’hésitez pas. C’est pensé pour être simple à étendre, donc n’hésitez pas à jeter un œil et à proposer des changements.

Si vous avez encore des choses à dire 🙂

Alexis : Coucou Numahell, chouette de te recroiser par ici après ces quelques années 🙂

Luc : Merci à toi, Alexis, pour le temps bénévole que tu as consacré à Argos après ta prestation !

Pour aller plus loin




Argos Panoptès : la supervision de sites web simple et efficace

Un nouvel outil de supervision de sites web vient de sortir de la forge de Framasoft, tout beau, tout neuf, tout simple. Mais pourquoi ? On vous explique tout !

Le problème

Chez Framasoft, nous avons beaucoup de sites web. Vous connaissez les adresses de nos services, https://framacarte.org pour Framacarte, https://framapad.org pour les pads, etc.

Mais il y en a bien plus sous le manteau : nos outils associatifs (un Nextcloud, un Odoo, des wikis…), les versions de test des services (soit pour tester un nouvel outil, soit pour vérifier que la mise à jour se passera bien…), les sites des amis qu’on héberge (coucou Grisebouille, Affordance et les autres 👋), etc.

Comme je (nda : Luc) suis quelqu’un de plutôt méticuleux, tous nos sites sont supervisés, c’est-à-dire que nous avons un système qui vérifie périodiquement qu’ils fonctionnent bien, de façon à détecter rapidement un souci et le résoudre au plus vite.

Jusque là, nous utilisions Shinken pour toute notre supervision : aussi bien celle des sites web que celle des serveurs. Mais nous commencions à nous heurter à différents problèmes :

  • Shinken est en Python 2, une version totalement obsolète de Python, ce qui n’augure pas bien de la pérennité de l’outil (il est question d’une version en Python 3, mais qui se fait largement attendre)
  • nous avons trop de sondes (c-à-d de choses à superviser) pour que la vérification des sites se fasse suffisamment régulièrement à mon goût (je veux des tests toutes les 5 minutes, pas tous les quarts d’heure)

Nous devons migrer vers une autre solution de supervision, mais pour ça, il faut du temps que nous n’avons pas. Et Shinken fonctionne toujours, donc ce n’est pas une chose que je juge urgente.

Cependant, avec l’ouverture de Framaspace, le nombre de sites à surveiller allait nécessairement exploser (plus de 1 000 espaces à l’heure actuelle).

Il nous fallait donc une solution de supervision pour les sites pour éviter d’augmenter les problèmes de délai entre chaque vérification de site.

Anakin : « J’ai besoin d’un logiciel de supervision ». Padme, tout sourire : « Donc tu vas en prendre un qui existe ? ». Anakin ne dit rien et la regarde avec un rictus. Padme, inquiète : « Tu vas en prendre un qui existe, hein ? »

Une devise du monde Unix est « Un outil qui fait une chose et qui le fait bien ». Suivant cela, j’ai cherché des outils de supervision de sites web et de rien d’autre. J’ai trouvé statping-ng et Uptime Kuma.

Malgré leurs qualités, ces solutions souffrent du même problème : l’affichage sur la page d’accueil des résultats de toutes les sondes, avec l’historique des résultats sous forme d’une petite frise chronologique. Avec quelques sites à superviser, pas de souci. Avec plus de 100 sites, soit c’est l’affichage qui ne fonctionne plus, soit c’est le service lui-même qui peine… très fort !

Il nous fallait donc créer nous-même notre outil de supervision !

La solution

Comme la plupart des développeurs, j’ai commencé par le plus important : trouver un nom à notre logiciel ! 😅

Pour rester dans la thématique de la mythologie grecque des développements faits pour Framaspace, j’ai cherché sur le web et suis tombé sur Argos Panoptès, géant aux cent yeux, dont l’épithète Panoptès signifie « celui qui voit tout » (on se contentera de l’appeler « Argos » dans cet article)

La deuxième chose la plus importante dans le développement est… le temps disponible. Et nous n’en disposions pas. C’est pourquoi nous avons pris un prestataire, Alexis Métaireau, développeur entre autres du générateur de site statique Pelican, et de l’outil de gestion de dépenses à plusieurs I Hate money (repris dans l’app cospend sur Nextcloud), pour poser les bases d’Argos, en suivant notre cahier des charges.

Pour voir comment s’est passée notre collaboration, je vous renvoie à l’interview croisée d’Alexis et de votre serviteur.

La simplicité

Argos devait être simple pour être efficace. L’écran d’accueil est donc dépouillé du superflu et n’indique que le nombre de sites surveillés regroupés par état (inconnu, OK, attention, critique).

Capture d’écran de la page de statut d’Argos

Les mêmes informations sont aussi disponibles en JSON via un point d’API. À vous d’en faire ce que vous voulez, comme par exemple afficher une notification sur votre bureau si tout n’est pas au vert, déclencher un son… voire intégrer le résultat d’Argos dans votre solution de supervision pour tout avoir au même endroit ! L’API est auto-documentée sur le logiciel (la documentation est accessible depuis l’interface d’Argos).

La simplicité d’Argos réside aussi dans son mode d’installation : un simple pip install argos-monitoring aussi bien pour le serveur central que pour l’agent, une création d’une base de données PostgreSQL, un fichier de configuration en YAML et c’est tout. Avec ça, on a tout ce qu’il faut pour faire tourner le service.

La robustesse

Un mot : PostgreSQL. J’ai toute confiance en PostgreSQL pour encaisser une forte charge comme pourrait lui envoyer Argos.

Quelqu’un susurre « PostgreSQL » à l’oreille d’une autre personne, on voit un bras couvert de chair de poule

Plus concrètement, nous sommes passés de ±300 vérifications avant Framaspace à près de 2 000 en surveillant les espaces créés et Argos ne bronche pas.

Cela fait plusieurs mois maintenant que nous utilisons Argos en conditions réelles et passé la phase de débogage, ça se passe parfaitement bien 🥰

L’évolutivité

Vous ajoutez plein de sites et l’agent qui s’occupe de faire les vérifications et de les envoyer au serveur central ne suffit plus ? On peut ajouter autant d’agents supplémentaires que nécessaire en quelques minutes.

Vous voulez créer une nouvelle manière de vérifier que votre site fonctionne bien ? Le site de documentation est riche d’informations pour les développeur·euses et vous tend les bras 🙂

Les moyens de notifications actuels (mail et Gotify à l’heure de l’écriture de cet article) ne vous conviennent pas ? Le code, en Python, est très propre et il est très simple d’ajouter… à peu près n’importe quel moyen de communication, d’un webhook Mattermost à un SMS via une plate-forme quelconque.

Conclusion

Nous avons maintenant une solution de supervision spécialisée simple et efficace, flexible de par la simplicité de son code et qui nous donne déjà entière satisfaction.

Moins de fonctionnalités, moins de code. Moins de code, plus facile à modifier. Plus facile à modifier, plus facile à modifier.

Si Argos est déjà pleinement fonctionnel, il ne tient qu’à nous (et à la communauté !) de l’améliorer. Il y a déjà quelques tickets, majoritairement pour améliorer la documentation, mais pas que.

Est-ce qu’Argos Panoptès sera adopté par les administrateurices systèmes, du dimanche ou pas ? On verra bien !

Liens

Pour celleux qui se demandent pourquoi une queue de paon en image d’illustration de cet article : la déesse Héra a préservé, sur une queue de paon, les cent yeux d’Argos Panoptès après sa mort.




Sauvegardez !

Régulièrement, un accident qui entraine la perte de données importantes nous rappelle l’importance des sauvegardes. L’incendie du centre de données d’OVH à Strasbourg le 10 mars dernier a été particulièrement spectaculaire, car de nombreuses personnes et organisations ont été touchées, mais des incidents de ce genre sont fréquents, quoique moins médiatisés. Un ami vient de m’écrire pour me demander mon numéro de téléphone car il a perdu son ordiphone avec son carnet d’adresses, un étudiant a perdu son ordinateur portable dans le métro, avec tout son mémoire de master dessus, et met une petite annonce dans la station de métro, une graphiste s’aperçoit que son ordinateur, avec tous ses travaux dessus, ne démarre plus un matin, une ville a perdu ses données suite au passage d’un rançongiciel, une utilisatrice de Facebook demande de l’aide car son compte a été piraté et elle ne peut plus accéder à ses photos de famille… Des appels au secours sur les réseaux sociaux comme celui-ci ou celui-là sont fréquents. Dans tous ces cas, le problème était l’absence de sauvegardes. Mais c’est quoi, les sauvegardes, et comment faut-il les faire ?

Le principe est simple : une sauvegarde (backup, en anglais) est une copie des données effectuée sur un autre support. Le but est de pouvoir récupérer ses données en cas de perte. Les causes de perte sont innombrables : vol de l’ordinateur portable ou de l’ordiphone (ces engins, étant mobiles, sont particulièrement exposés à ces risques), effacement par un logiciel malveillant ou par une erreur humaine, panne matérielle. Les causes possibles sont trop nombreuses pour être toutes citées. Retenons plutôt ce principe : les données peuvent devenir inaccessibles du jour au lendemain. Même si vous n’utilisez qu’un ordinateur fixe, parfaitement sécurisé, dans un local à l’abri des incendies (qui peut vraiment prétendre avoir une telle sécurité ?), un composant matériel peut toujours lâcher, vous laissant dans l’angoisse face à vos fichiers irrécupérables. Ne pensons donc pas aux causes de perte, pensons aux précautions à prendre.

(Au passage, saviez-vous que Lawrence d’Arabie avait perdu lors d’un voyage en train un manuscrit qu’il avait dû retaper complètement ? Il n’avait pas de sauvegardes. À sa décharge, avant le numérique, faire des sauvegardes était long et compliqué.)

La règle est simple : il faut sauvegarder ses données. Ou, plus exactement, ce qui n’est pas sauvegardé peut être perdu à tout instant, sans préavis. Si vous êtes absolument certain ou certaine que vos données ne sont pas importantes, vous pouvez vous passer de sauvegardes. À l’inverse, si vous êtes en train d’écrire l’œuvre de votre vie et que dix ans de travail sont sur votre ordinateur, arrêter de lire cet article et aller faire tout de suite une sauvegarde est impératif. Entre les deux, c’est à vous de juger de l’importance de vos données, mais l’expérience semble indiquer que la plupart des utilisateurices sous-estiment le risque de panne, de vol ou de perte. Dans le doute, il vaut donc mieux sauvegarder.

Comment on sauvegarde ?

Là, je vais vous décevoir, je ne vais pas donner de mode d’emploi tout fait. D’abord, cela dépend beaucoup de votre environnement informatique. On n’utilisera pas les mêmes logiciels sur macOS et sur Ubuntu. Je ne connais pas tous les environnements et je ne peux donc pas vous donner des procédures exactes. (Mais, connaissant les lecteurices du Framablog, je suis certain qu’ielles vont ajouter dans les commentaires plein de bons conseils pratiques.) Ensuite, une autre raison pour laquelle je ne donne pas de recettes toutes faites est que la stratégie de sauvegarde va dépendre de votre cas particulier. Par exemple, si vous travaillez sur des données confidentielles (données personnelles, par exemple), certaines stratégies ne pourront pas être appliquées.

Je vais plutôt me focaliser sur quelques principes souvent oubliés. Le premier est d’éviter de mettre tous ses œufs dans le même panier. J’ai déjà vu le cas d’une étudiante ayant bien mis sa thèse en cours de rédaction sur une clé USB mais qui avait la clé et l’ordinateur portable dans le même sac… qui fut volé à l’arrachée dans la rue. Dans ce cas, il n’y a pas de réelle sauvegarde, puisque le même problème (le vol) entraîne la perte du fichier et de la sauvegarde. Même chose si la sauvegarde est accessible depuis la machine principale, par exemple parce qu’elle est sur un serveur de fichiers. Certes, dans ce cas, une panne matérielle de la machine n’entrainerait pas la perte des données sauvegardées sur le serveur, en revanche, une fausse manœuvre (destruction accidentelle des fichiers) ou une malveillance (rançongiciel chiffrant tout ce qu’il trouve, pour le rendre inutilisable) frapperait la sauvegarde aussi bien que l’original. Enfin, si vous travaillez à la maison, et que la sauvegarde est chez vous, rappelez-vous que le même incendie peut détruire les deux. (Il n’est pas nécessaire que tout brûle pour que tous les fichiers soient perdus ; un simple début de fumée peut endommager le matériel au point de rendre les données illisibles.) Rappelez-vous : il y a plusieurs causes de pertes de données, pas juste la panne d’un disque dur, et la stratégie de sauvegarde doit couvrir toutes ces causes. On parle parfois de « règle 3-2-1 »  : les données doivent être sauvegardées en trois exemplaires, sur au moins deux supports physiques différents, et au moins une copie doit être dans un emplacement séparé. Bref, il faut être un peu paranoïaque et imaginer tout ce qui pourrait aller mal.

Donc, pensez à séparer données originelles et sauvegardes. Si vous utilisez un disque dur externe pour vos sauvegardes, débranchez-le physiquement une fois la sauvegarde faite. Si vous utilisez un serveur distant, déconnectez-vous après la copie.

(Si vous êtes programmeureuse, les systèmes de gestion de versions gardent automatiquement les précédentes versions de vos programmes, ce qui protège contre certaines erreurs humaines, comme d’effacer un fichier. Et, si ce système de gestion de versions est décentralisé, comme git, cela permet d’avoir facilement des copies en plusieurs endroits. Toutefois, tous ces endroits sont en général accessibles et donc vulnérables à, par exemple, un logiciel malveillant. Le système de gestion de versions ne dispense pas de sauvegardes.)

Ensuite, ne faites pas d’économies : il est très probable que vos données valent davantage que les quelques dizaines d’euros que coûte un disque dur externe ou une clé USB. Toutefois, il vaut mieux des sauvegardes imparfaites que pas de sauvegardes du tout. Simplement envoyer un fichier par courrier électronique à un autre compte (par exemple celui d’un ami) est simple, rapide et protège mieux que de ne rien faire du tout.

Enfin, faites attention à ce que la sauvegarde elle-même peut faire perdre des données, si vous copiez sur un disque ou une clé où se trouvent déjà des fichiers. C’est une des raisons pour lesquelles il est recommandé d’automatiser les sauvegardes, ce que permettent la plupart des outils. L’automatisation n’a pas pour but que de vous fatiguer moins, elle sert aussi à limiter les risques de fausse manœuvre.

backup chaque jour !
« Five Days’ Backup » par daryl_mitchell, licence CC BY-SA 2.0

À quel rythme ?

La règle est simple : si vous faites des sauvegardes tous les jours, vous pouvez perdre une journée de travail. Si vous en faites toutes les semaines, vous pouvez perdre une semaine de travail. À vous de voir quel rythme vous préférez.

Et le cloud magique qui résout tout ?

Quand on parle de sauvegardes, beaucoup de gens répondent tout de suite « ah, mais pas de problème, moi, tout est sauvegardé dans le cloud ». Mais ce n’est pas aussi simple. D’abord, le cloud n’existe pas : il s’agit d’ordinateurs comme les autres, susceptibles des mêmes pannes, comme l’a tristement démontré l’incendie d’OVH. Il est d’ailleurs intéressant de noter que beaucoup de clients d’OVH supposaient acquis que leurs données étaient recopiées sur plusieurs centres de données, pour éviter la perte, malgré les conditions d’utilisation d’OVH qui disaient clairement que la sauvegarde était de la responsabilité du client. (Mais qui lit les conditions d’utilisation ?)

Parfois, la croyance dans la magie du cloud va jusqu’à dire que leurs centres de données ne peuvent pas brûler, que des copies sont faites, bref que ce qui est stocké dans le nuage ne peut pas être perdu. Mais rappelez-vous qu’il existe d’innombrables causes de perte de données. Combien d’utilisateurs d’un service en ligne ont eu la mauvaise surprise de découvrir un matin qu’ils n’avaient plus accès à leur compte parce qu’un pirate avait deviné leur mot de passe (ou détourné leur courrier ou leurs SMS) ou parce que la société gestionnaire avait délibérément fermé le compte, en raison d’un changement de politique de leur part ou tout simplement parce que le logiciel qui contrôle automatiquement les accès a décidé que votre compte était problématique ? Il n’est pas nécessaire que la société qui contrôle vos fichiers perde les données pour que vous n’y ayez plus accès. Là aussi, c’est une histoire fréquente (témoignage en anglais) et elle l’est encore plus en cas d’hébergement gratuit où vous n’êtes même pas un client.

Ah, et un autre problème avec la sous-traitance (le terme correct pour cloud), la confidentialité. Si vous travaillez avec des données confidentielles (s’il s’agit de données personnelles, vous avez une responsabilité légale, n’oubliez pas), il n’est pas prudent de les envoyer à l’extérieur sans précautions, surtout vers les fournisseurs états-uniens (ou chinois, mais ce cas est plus rare). Une bonne solution est de chiffrer vos fichiers avant l’envoi. Mais comme rien n’est parfait dans le monde cruel où nous vivons, il faut se rappeler que c’est moins pratique et surtout que cela introduit un risque de perte : si vous perdez ou oubliez la clé de chiffrement, vos sauvegardes ne serviront à rien.

Tester

Un adage ingénierie classique est que ce qui n’a pas été testé ne marche jamais, quand on essaie de s’en servir. Appliqué aux sauvegardes, cela veut dire qu’il faut tester que la sauvegarde fonctionne, en essayant une restauration (le contraire d’une sauvegarde : mettre les fichiers sur l’ordinateur, à partir de la copie).

Une bonne discipline, par exemple, est de profiter de l’achat d’une nouvelle machine pour essayer de restaurer les fichiers à partir de la copie. Vous serez peut-être surpris·e de constater à ce moment qu’il manque des fichiers importants, qui avaient été négligés lors de la sauvegarde, ou bien que la sauvegarde la plus récente n’est… pas très récente. Ou bien tout simplement que la clé USB où vous aviez fait la sauvegarde a disparu, ou bien ne fonctionne plus.

Conclusion

Il faut sauvegarder. Je l’ai déjà dit, non ? Pour vous motiver, posez-vous les questions suivantes :

  • Si, un matin, mon ordinateur fait entendre un bruit de casserole et ne démarre pas, saurais-je facilement restaurer des données sauvegardées ?
  • Si toutes mes données sont chez un hébergeur extérieur et que je perds l’accès à mon compte, comment restaurerais-je mes données ?
  • Si je travaille sur un ordinateur portable que je trimballe souvent, et qu’il est volé ou perdu, où et comment restaurer les données ?

Si vous préférez les messages en vidéo, j’ai bien aimé cette vidéo qui, en dépit de son nom, n’est pas faite que pour les geeks.