Bienvenue sur mon Internet!

SysAdmin et NetAdmin sous GNU/Linux.
J'aime bidouiller, apprendre et partager mes connaissances.

4 ans d'auto-hebergement

Le domaine bruno-tatu.com existe depuis 4 ans :

$ whois bruno-tatu.com |grep -i date|head -n2
   Updated Date: 2019-01-01T15:54:00Z
   Creation Date: 2015-01-18T15:27:11Z

Cela fait donc maintenant 4 ans que j’ai des sites qui tournent chez moi et qui sont accessibles sur les Internets.

Au départ ce n’était qu’une page d’accueil avec une petite description sur moi accompagné de liens vers mon twitter et d’une adresse mail de chez SFR. Aujourd’hui c’est une cinquantaine de visites par jour sur mon wiki et une quinzaine sur mon blog.

Je ne souhaite pas attirer, ni accueillir grand monde mais juste des gens intéressés parce que je fais. Ma plateforme est avant tout mon portfolio où je publie, partage, modifie et supprime ce dont je veux.

Parlons de ces premières applications auto-hébergé

Historiquement j’ai commencé par Samba et minidlna pour partager des fichiers vidéo sur le réseau local de la maison. Par la suite, j’ai installé owncloud, Dokuwiki, Awstats, et ainsi de suite. Leurs mises en place étaient très longs car j’avais une phase de tests où je modifiais le plus souvent les fichiers de configurations PHP, Nginx et MySQL.

En effet, j’utilisais à cette époque les premiers RaspberryP et la difficulté que je rencontrais régulièrement est la limitation des capacités matérielles. Je devais donc peaufiner les services pour éviter que ça rame trop et je parle notamment d’owncloud. ;)

Rien que d’y penser, j’en suis nostalgique car il mettait 16 secondes à se charger! Mon conseil : Éviter au maximum l’usage des cartes SD. D’autant plus si vous utilisez une base MySQL qui au bout de quelques mois fera apparaître des corruptions de données et donc des “bugs” coté applicatif.

J’admets qu’a plusieurs reprises j’ai eu l’envie de changer de machine avec quelque chose de plus gros et robuste alors que c’est faux! Pour un usage personnel, ça ne sert à rien d’avoir une machine ayant plus de 4Go de RAM et 4 Cores. Bien entendus tout dépend de ses besoins personnels.

Parlons un peu de la vie privé

Le but de mon serveur est d’installer et de tester diverses applications toujours dans le but d’exclure les outils propriétaires, à durée éphémère et à création sous forme abusive de comptes. Sachant que même Google Drive, Instagram, Github, Gmail, Google analytics, et d’autres sont bien pratiques, mais rien me garantis la qualité de conservation de mes données chez eux même s’ils m’assurent qu’elles doivent être supprimés.

Remarquons que je serais incapable de me souvenir de chaque compte créé sur les différentes plateformes que j’ai convoités…

Parlons des compétences requises

Il est vrai que cela demande du temps pour se documenter, analyser les erreurs, récupérer les bonnes infos qui correspondent à la version du service installé. Au départ c’était long et compliqué parce que je manquais de connaissances. J’ai alors appris en premier lieu le fonctionnement d’une machine, puis appris quelques langages comme le C puis le PHP, HTML, CSS et JavaScript. D’autres se sont ajoutés à mes compétences durant la formation en licence pro ASRALL. Aujourd’hui je m’attaque à de plus grosses infrastructures qui font l’usage d’Haproxy pour répartir la charge sur plusieurs serveurs.

En effet, l’auto-hébergement requière la passion de la bidouille. Je suis également conscient qu’il me reste encore beaucoup à apprendre et j’en conviens que tout le monde ne peut pas se permettre d’héberger ses propres services. C’est pour cela qu’il existe des groupes d’associations appelées “Chaton” tel que TuxFamily ou Marsnet. Ce sont des personnes généralement bénévoles qui mettent la plupart du temps à disposition des néophytes des logiciels alternatifs aux GAFAM.

En général, une fois que l’on y à goûter, on y ressort plus!

Parlons du matos

Par rapport à mes autres articles (je ne parle donc pas de mon NAS et de mes serveurs de tests vu qu’ils n’existent plus), mon infrastructure a évolué plusieurs fois et pour faire simple j’ai commencé sur un RaspberryPI B avec seulement 512Mo de RAM et un seul CPU cadensé à 700Mhz. Puis je suis passé au RaspberryPI 2 (double des performances) et enfin sur un vrai serveur :

  • CM : ASRock T48EM1
  • CPU : AMD G-T48E Processor à 777 Mhz (Max 1,4 Ghz)
  • RAM : 1x 2Go Kingston 1600 MHz DDR3 CAS 11
  • HDD : 3x 3To BarraCuda 2.5” 5400 tpm en RAID5
  • SSD : 1x 120Go KINGSTON W:320Mo/s R:500Mo/s
  • PSU : Cooler Master K450, 450W
  • Case : Kolink Satellite

Ce qui donne ceci physiquement :

Photo du serveur

Le tout m’a coûté dans les 500 euros dans le but que ce matériel dure au minimum une dizaine d’année voir plus si possible. Cependant, ce qui me manque actuellement est l’achat d’une seconde barrette de mémoire car les applications codé en JAVA c’est lourd (putain d’Airsonic…).

Voici les critères que j’ai établie pour choisir ces composants :

  • Le plus compacte possible pour éventuellement le placer dans un meuble TV
  • Disposer d’au moins 5To d’espace disque
  • Coûter le moins cher possible (dans la limite du raisonnable)
  • Du neuf pour être sûr que le matériel va durer longtemps.
  • Un SSD pour éviter les temps de chargement quelque soit l’application.
  • Pas besoin d’un espace de stockage rapide
  • Faible consommation énergétique et nuisance sonore.

Parlons enfin de mes applications

Pour finir, au moment où j’écris ces lignes je vous présente la suite de logiciels que j’utilise régulièrement :

  • Nextcloud (qui a remplacé Owncloud) pour synchroniser et rendre accessible mes documents sur PC et smartphone
  • Dokuwiki pour noter et partager mes connaissances
  • Awstats pour avoir un aperçu des gens qui s’intéressent à mes partages
  • Gitea (qui a remplacé Cgit) pour stocker mes morceaux de codes et projets divers
  • Postfix avec Dovecot et spamassasin pour garder le contrôle de mes mails
  • Airsonic pour écouter de la musique et des podcast n’importe où et n’importe quand
  • Jekyll (qui a remplacé Spip) pour écrire des bêtises sans prise de tête :)
  • Kanboard pour m’aider à m’oganiser et fait aussi office de prise de notes
  • Kresus pour avoir un oeil sur mes dépenses personnel.

J’ai également joué avec Grafana, Goaccess, Prosody, Pastebin, Zerobin, TinyRSS… Probablement que je les pousserais un jour en production.

Il existe de très nombreux articles et projets sur le sujet. Je vous encourage à naviguer sur le web car c’est quand même une belle aventure. :)

La vie d'un diabétique

Mon entourage m’a fait remarquer que je portais d’étranges appareils et on me posait des questions récurrentes où je répondais par des réponses bateau car ce n’est pas un sujet de discussion que je souhaite aborder bien que je ne le cache pas. Cette maladie a bousculé ma vie et celle-ci est de plus en plus présente dans notre société. Elle est surnommée “la maladie du XXIème siècle” à cause de la malnutrition causée par notre nouvelle habitude à manger mal et toujours plus sucré.

Cet article va raconter ce qu’est le diabète, comment je le suis devenu, avec un petit retour sur ma vie quotidienne et enfin les pistes d’améliorations que nous réserve l’avenir. Notons que ce sont mes interprétations et mon vécu qui peuvent être différents des autres personnes.

Avant de publier cet article, j’ai fais une courte présentation chez Evolix. Elle a bien été reçu donc elle pourrait être utile aux personnes souhaitant communiquer sur ce sujet.

Commençons par une définition :

Le diabète se caractérise par une hyperglycémie et hypoglycémie chronique. C’est-à-dire que l’on peut avoir un excès de sucre dans le sang et donc un taux de glucose élevé. Mais aussi le contraire, avec un taux de glucose trop bas. C’est le rôle au pancréas de réguler ces variations.

Tout Être humain normalement constitué ne connaît pas ce problème d’autant plus qu’il peut y avoir des complications si l’on se retrouve trop souvent et de manière prolongée dans ces états. Par exemple, les hypoglycémies causent des dommages aux neurones provoquant la perte de notre autonomie. A contrario pour l’hyperglycémie qui endommage la circulation sanguine, peut provoquer la perte de la vue et l’usage des reins. Heureusement en 1978, des biochimistes ont trouvé comment produire de l’insuline en modifiant la génétique d’une bactérie appelée Escherichia coli. Bien qu’elle ne soit pas destinée qu’à la création de l’insuline, de nombreuses recherches ont été aboutis permettant ainsi avec fiabilité son industrialisation dans le monde entier.

Contrairement au type 2 qui concerne ceux qui ont trop mangé de boissons ou d’aliments sucrés, le type 1 est une erreur génétique où les anticorps ont détruit le pancréas en pensant que c’était une anomalie. Il peut se déclencher n’importe quand au long de notre vie. Voire même pas du tout pour les plus chanceux!

Dans mon cas, je l’ai été déclaré officiellement en juillet 2016. J’ai commencé à ressentir les symptômes durant ma période d’examens de fin d’année pour obtenir mon BTS que j’ai échoué, mais réussi tant bien que mal l’année suivante. Il est possible que mes éléments déclencheurs ont été le stress accumulé et la chaleur qui m’ont beaucoup fatigué. J’avais constaté une perte de poids puis j’ai commencé à ressentir des nausées accompagnées du fameux symptôme d’aller uriner très régulièrement. Ma glycémie était supérieure à 500 mg/dL durant plusieurs jours (une personne normale doit se situer entre 070 mg/dL et 110 mg/dL). Bref, direction les urgences pour me perfuser plusieurs poches d’insulines durant quatre jours. J’y suis resté finalement qu’une semaine en hospitalisation le temps trouver le protocole à suivre et comment gérer ce nouvel handicap. Le fait que mon frère soit lui aussi diabétique a dû y participer à la décision des médecins de me libérer plutôt que prévus.

Ma vie durant les premiers mois étaient assez simple car le pancréas n’était pas encore annihilé. Cependant, plus les jours passaient et plus la gestion était compliquée au point de faire des calculs aussi difficiles que trouver la trajectoire d’une fusé pour la NASA. En effet, il y a de nombreux facteurs à prendre en compte lorsque l’on doit faire une injection d’insuline. D’autant plus que le corps, les sentiments et les habitudes de la vie quotidienne changent aux fils des années. En outre, je dois constamment me calibrer sur l’instant présent et futur.

Soyons francs sur le plan professionnel, car c’est carrément nuisible. Je peux être indisponible à un moment important sans prendre le temps d’avertir mon entourage. Je ne peux pas non plus me déplacer d’un point à un autre rapidement sans me soucier de l’évolution de ma glycémie. Lorsque j’ai une glycémie déséquilibré, c’est-à-dire que je me retrouve longtemps en hyperglycémie, j’ai des coups de fatigues qui surviennent de manière intempestives. De ces fais, je dois me forcer à apprendre et comprendre ce qu’il se passe, mais aussi trouver des astuces pour éviter au maximum ces états anormaux. J’en conviens que mes repas ne sont pas assez sein. Ils sont soit trop sucré, soit trop gras. Je suis ouvert aux propositions si vous connaissez de bons aliments qui peuvent être pris pendant les repas.

Côté vie privé, c’est déjà plus simple car je peux prendre du temps pour moi-même et corriger mes éventuels dérives. Cependant, les visites chez le diabétologue, les passages à la pharmacie et les rencontres avec mon infirmier pour vérifier que tout va bien fais partie de ma routine. En fait, on n’a pas un seul moment de repos parce que cette maladie est très envahissante. En outre, pratiquer un sport régulier permet de rester saint d’esprit. Bref vive le vélotaf mais aussi les jeux-vidéo, les manga, les films, etc!

Heureusement les technologies ont beaucoup avancé ces dernières années ce qui rend sa gestion plus simple. Des études ont montré que l’espérance de vie à significativement augmenté depuis l’apparition des lecteurs de glycémie fiable en 1980. Avant les années 70, on dépassait rarement les 60 ans sans que l’on ait une invalidité physique causé par des hypoglycémie ou des hyperglycémies. Aujourd’hui c’est au maximum 10 ans d’espérance de vie en moins qui s’envole. Il reste encore beaucoup de travail, mais il faut garder fois et encourager les chercheurs et scientifiques qui arrivent bientôt à trouver le bon moyen de substituer le pancréas. Actuellement beaucoup de sujets tournent autour du pancréas artificiel, du Glucagon par voie nasal voir même que l’on aurait un organe appelé le GABA qui pourrait produire de l’insuline! Mieux encore et à prendre avec des pincettes : il serait possible de modifier un gène pour obtenir un nouveau pancréas !?

La maladie est mondialement reconnue par de grands organismes et on peut obtenir du soutien grâce aux associations telles que l’AJD ou la FFD qui font du bon boulot en plus d’avoir des relations internationales tel que Diabète Québec. Elles ont par exemple le but de réaliser des rencontres, de se former, d’échanger des conseils, etc. A l’occasion il faudra que je m’en rapproche, car j’ai probablement des choses à apprendre d’eux et inversement.

Merci par avance pour ceux qui ont lu cet article. En échange voici quelques conseils pour les personnes souhaitant aider son entourage :

  • Lorsqu’il doit faire un déplacement, lui demander s’il a tout ce qu’il faut pour se re-sucrer ou quelque chose sur lui permettant d’aller en récupérer (de l’agent par exemple).
  • S’il y a une grosse sortie de planifié alors lui demander s’il a prévu un stock de sucre au triple de ce qu’il a l’habitude de prendre.
  • Qu’une personne de l’entourage garde quelque chose sur soit comme une compote, barre céréale, bonbons, etc.
  • TOUJOURS l’assister lorsqu’il est blessé même si c’est mineur. Rien que le stress est source d’hypoglycémie.

On ne voit pas toujours la vie en rose bien que l’on doit garder courage et miser sur l’espoir d’aller mieux demain. Je termine sur le témoignage d’une héroine vivant avec l’insulino-dépendant depuis plus de 50 ans!

La souplesse d'un blog par Jekyll

Depuis quelques mois j’observais de loin ce que proposait PostgresSQL par rapport à MySQL. Progressivement je remarquais que les versions sortaient avec des fonctionnalités toujours plus intéressantes les unes que les autres en plus d’être aussi rapide et moins consommateur en mémoire que cette dernière.

Il y a quelques jours, j’ai terminé la migration de mes applications pour qu’elles puissent utiliser Postgres et j’ai rencontré aucun problème jusqu’à ce que je coupe l’accès à MySQL à mon blog. En effet le blog était le dernier a être migrer mais j’avais priorisé la mise en place d’une instance Airsonic qui prenait pas mal de mémoire… Bref, mon blog tournait sous Spip et cet idiot à mis en cache la page de maintenance ce qui a provoqué une erreur HTTP du type 503 sans avoir le moyen de rouvrir le site! J’avais beau vider le cache depuis les dossiers, pas moyen de corriger mon souci alors qu’il avait toujours bien les accès à sa base de donnée.

Dans un coin de ma tête, je me souviens avoir remarqué un certain nombre de CMS intéressant dont ils sont plus performant et bien mieux pensé que l’usine à gaz wordpress. Ils se nomment Jekyll, Hugo, Ghost, Pelican, Hexo, Grav, etc. Ce qui m’intéresse essentiellement c’est de pouvoir maintenir facilement un blog, rédiger sans peine des articles avec la notion d’avoir un environnement séparé pour du développement et de la mise en production. Sans oublier le tout versionnée sous Git.

Concrètement et par rapport aux autres CMS, je vois subjectivement ces nombreux avantages avec Jekyll :

  • Demande peu de compétence en développement (bien que j’ai de quoi développer des sites dynamiques en PHP/JS)
  • Facilité de maintenance, configuration et installation
  • Écrire les articles en markdown
  • Le Ruby est un langage qui a fait ses preuves dans l’univers des applications web
  • L’écosystème de la gestion des modules Ruby et plugin du CMS sont respectés
  • Exportation des articles facilités grâce au markdown
  • Syntaxe et organisation du code source ainsi que les articles sont agréables
  • Parfait pour un petit blog qui ne requière pas toute une batterie de modules et d’un backoffice
  • Pas besoin d’utiliser une BDD
  • Travailler hors-ligne réalisable avec l’aide de GIT
  • Compresse automatiquement toutes les pages avec un bon SEO naturel
  • CMS utilisé par de grosses sociétés telles que Twitch, Spotify, Netflix, …

Au détriment de ces petits inconvénients :

  • L’application en elle même consomme de la mémoire
  • L’ouverture d’un port supplémentaire sur la machine
  • Les notions de sécurités sont-elles réellement prises en compte ?
  • Rechercher des modules adéquat pour répondre à ses besoins dans l’espoir qu’ils restent maintenu à jour pour les années à venir.

En outre, je ne souhaite pas déplacer souvent mon blog mais juste y écrire de temps en temps. À cette occasion j’ai rédigé un tutoriel pour installer le vôtre si le cœur vous en dit. Il vous suffira alors de ne pas oublier de supprimer mes articles présent dans les dossiers _posts et _drafts.

Vu que mon adresse mail se trouve au pied de chaque page, n’hésitez pas à m’écrire par mail pour exprimer ce que vous en pensez. ;)