Garbage Collector


The little space of a writer, tinkerer, and a coffee addict

What is GitOps ?

- 11 minutes read time

In my experience with the software delivery chain, we talk a lot about how the software is produced and delivered, but when it comes to make it live, the topic is less studied. Maybe that’s because the deployment is situated in the “Ops” domain of the DevOps timeline while the software production is on the “Dev” side. And we usually like to focus on Dev and less on Ops I suppose. Since I’ve mainly worked in the deployment part, I think it’s a very interesting topic because it’s one of the best examples to demonstrate how well the DevOps culture is implemented in a team or not. And one of the best examples in my opinion is the GitOps practice.

Something about commercial VPN services : What is a VPN ?

- 10 minutes read time

Last years, I’ve wrote a vulgarization article about the differences between a VPN and a Proxy (article in French). You may have noticed that the commercial VPN services are a common sponsor for the so-called social medias influencers. I have myself received various offers from various affiliation managers (I’m an influencer, yeay ! \o/) and I never answered them. Mostly because they simply didn’t read my contact page where I say it’s unnecessary to reach me for these kind of proposition. It’s not rudeness, au contraire, I don’t want to waste their time.

The Free Software licenses

- 13 minutes read time

Free Software licenses, here is a topic that could seems to be easy to understand, but not really when you go deeper in their details. Indeed, among the various existing licenses, the rights and obligations are not always the same and it’s always a nice debate topic among the communities to determine which one is the most “free license”.

Linux and the malwares

- 8 minutes read time

There are no viruses on Linux !

– A fool

You may have seen this endless urban legend in news comments regarding some vulnerabilities or malwares targeting Microsoft Windows. “Linux cannot be harmed by malwares”, “there are not viruses on Linux”, “you don’t need an antivirus on Linux”, blah blah blah. This magical spell was also spread on MacOS world because of its BSD derivative Unix foundations.

Linux et les malwares

- 10 minutes read time

Il n’y a pas de virus sur Linux !

– Un inconscient

Vous avez dû voir plus d’une fois cette sempiternelle légende informatique au travers de commentaires d’actualités portant sur une vulnérabilité ou un malware ciblant Microsoft Windows. “Linux est invulnérable aux malwares, “les virus ça n’existe pas”, il n’y a pas besoin d’antivirus sous Linux", blablabla. A noter qu’on entendait aussi la même incantation pour MacOS en raison de sa base Unix dérivée de BSD.

Le mot 'Qualité' est-il un gros mot dans l'IT ?

- 8 minutes read time

A la suite de mes interrogations sur la sécurité informatique, je constate quand même au fil du temps que la qualité n’est quasiment jamais au rendez-vous dans le domaine de l’IT.

Ce constat je le fais aussi bien en tant que professionnel du secteur travaillant selon les principes de la démarche DevOps et me trouvant donc à mi chemin entre le développement et l’opérationnel (historiquement, je viens de la partie Ops) qu’en tant que client utilisant le produit de services informatique d’entreprise.

Log4Shell, la sécurité informatique est-elle une option ?

- 5 minutes read time

Le week-end dernier fut quelque peu agité pour le monde de l’IT avec la publication d’une faille dans la bibliothèque Log4j découverte le 24 novembre dernier et corrigée le 6 décembre. Je ne reviendrai pas dessus, de très nombreux articles ont expliqué la problématique et sa portée, et la page Wikipedia à son sujet est une bonne base d’information. Cet événement me donne surtout envie d’exprimer mon ressenti vis à vis d’un sentiment d’indifférence envers la sécurité informatique dans les entreprises.

Mettre à jour un serveur Linux automatiquement

- 5 minutes read time

L’une des composantes de base de la sécurité informatique, c’est d’avoir son parc à jour avec les dernières versions de logiciels afin de profiter des correctifs de sécurité. Si dans le monde de l’entreprise il existe un outillage intégré ou conçu pour maintenir un parc entier, dans le cas d’un hébergement loisir ou à titre personnel cette tâche peut s’avérer peu intéressante et répétitive.

Update automatically a Linux Server

- 4 minutes read time

One of the basics in security is to have updated servers with the latest security versions. In a company, you may have access to variant automation tools for this, but for a personal usage or hobby, maintaining for server could be redundant and not very fun.

Gérer l'accès et les habilitations de Jenkins avec OpenID

- 7 minutes read time

Il ne me paraît pas nécessaire de présenter en détails Jenkins tant ce logiciel est un des habitués du milieu de l’intégration continue dans l’informatique. Lorsqu’on est une structure ayant plusieurs équipes et que l’instance Jenkins est mutualisée, on peut rapidement avoir envie de les séparer au sein d’un espace qui leur est dédié dans Jenkins pour garantir que celles-ci aient bien leur propre bac à sable et ne puissent toucher aux jobs ou paramètres d’une autre.

Manage Jenkins Access and Roles with OpenID

- 6 minutes read time

Introduce Jenkins doesn’t seem to be necessary for me as this software is one of the usual in the continuous integration domain. When you are an organization with several teams and a shared Jenkins instance, you may need to separate them into dedicated workspaces to avoid configuration or job modifications by other teams.

C'est quoi le Fediverse ?

- 15 minutes read time

Si vous avez déjà parcouru quelques billets de ce blog, vous aurez constaté que je suis très adepte des outils auto hébergés et pouvant être fédérés. D’ailleurs, ce blog avait été construit à l’origine avec Plume, un outil de blogging fédéré. Peut-être avez vous déjà entendu parler de ce qu’on appelle le Fediverse, ou bien ce mot vous est totalement étranger. Je vous propose une petite présentation de ce que c’est.

Installer un PC multimédia avec Manjaro Linux

- 8 minutes read time

Dans la mesure où j’ai toujours détesté les “box” de nos fournisseurs d’accès Internet pour leur inefficacité, et que la seule chose que m’inspire un Android TV ou équivalent est la fuite immédiate, je continue d’être à l’ancienne et d’avoir un mini PC installé derrière ma TV pour les contenus multimédia. J’avais essayé avec un Raspberry, mais je n’étais pas fan du résultat. Même un Pi4 essayé en début d’année ne me satisfaisait pas, je trouvais le résultat poussif et peu réactif.

Vivaldi, le fantôme de l'Opera

- 13 minutes read time

Si je remonte à la nuit des temps de mon expérience d’Internet, j’ai commencé sous Microsoft Windows 98 et ai donc vécu la période Internet Explorer (aujourd’hui racontée autour d’un feu de camp comme histoire d’épouvante). Par la suite, j’ai basculé sous Windows XP et son fameux Internet Explorer 6. Je pense que c’est vers 2001 que j’ai commencé à en avoir marre de ce navigateur lent et qui plantait constamment et ai commencé à chercher autre chose.

J'ai testé kDrive de Infomaniak

- 11 minutes read time

J’ai beau être un adepte de l’auto hébergement, viendra un moment où je n’aurai plus forcément envie d’avoir à maintenir tout cela. J’avais déjà entrepris ce changement pour ma boîte mail qui était auparavant hébergée sur mon propre serveur. Etant donné que j’ai une bonne expérience client avec Infomaniak depuis une quinzaine d’années pour un site web, j’ai migré ma boîte vers leur service mail. Nextcloud continuait de faire la synchro des agendas et contacts, mais finalement tout est parti dessus puisque c’est une suite proposant l’ensemble du service. (et que le serveur avait cramé)

Linux a 30 ans

- 10 minutes read time

Le 25 aout 1991, un jeune étudiant en informatique finlandais de 21 ans à l’Université de Helsinki postait sur la liste comp.os.minix du newsgroup Usenet un message disant qu’il réalisait un système d’exploitation libre depuis avril de la même année inspiré de Minix. Il avait porté Bash et GCC dessus, et le code était libre de toute origine de Minix.

Remplacer Bash par Zsh avec 'oh my zsh'

- 5 minutes read time

Sur les systèmes basés Linux ou Unix, il existe un élément de base qui s’appelle le shell. Il s’agit de l’interpréteur qui permet à l’utilisateur d’entrer différentes commandes pour qu’elles soient exécutées par le système. Par défaut sur de nombreuses distributions Linux, cet interpréteur est bash, pour Bourne-again Shell, qui visait à remplacer le Bourne-shell aussi connu sous le nom de sh.

Virtualisation matérielle et Container

- 11 minutes read time

Dans mon précédent billet sur le Cloud Computing, j’ai abordé des éléments tels que la virtualisation et les containers. Il s’agit de concepts relativement proches mais qui font parfois l’objet de houleux débats entre ce qui est de la virtualisation et ce qui n’en est pas. Ce billet vous proposera une explication de ce qu’est la virtualisation matérielle, et en quoi elle est intéressante associée à la containérisation.

Faire une galerie photo en site statique

- 7 minutes read time

Il y a quelques temps, je vous avais présenté Piwigo, une solution libre auto hébergée de galerie d’images. Suite à la réinstallation de mes outils sur un nouveau serveur, je n’avais pas vraiment envie de reprendre cet outil… Il est très bien, mais je ne voulais pas encore une fois depuis installer une base MySQL juste pour lui car je préfère PostgreSQL. Je me suis donc demandé s’il n’était pas possible de tout simplement générer ma galerie photos avec Hugo en mode site statique… Et bien oui.

Sauvegarde chiffrée sur un stockage en ligne avec rclone

- 8 minutes read time

Introduction

Il y a quelques mois, je vous proposais un article sur comment j’ai mis en place une sauvegarde chiffrée des données de mon serveur perso sur un stockage en ligne chez OVH. Le coeur du système était piloté par Duplicati, un outil de sauvegarde open source que j’apprécie bien, mais que je trouve assez peu pertinent dans le cas présent en fait. Déjà, il ne démarrait pas toujours au reboot du serveur de backup, ce qui me gênait un peu. Ensuite, j’ai eu du mal à être notifié d’une bonne exécution des sauvegardes.

Différences entre VPN et Proxy

- 7 minutes read time

Cela n’aura échappé à personne, mais depuis quelques temps nous entendons souvent parler de VPN pour “contourner la censure” ou encore de “protéger son anonymat” sur Internet. Le tout vendu par les influenceurs des médias sociaux grâce au sponsoring de certains fournisseurs qui nous promettent monts et merveilles. Mais c’est quoi un VPN ? Ca sert à quoi ? Comment ça marche ? Et c’est quoi la différence avec un proxy avec lequel on peut avoir tendance à le confondre ?

Signer ses commits Git avec PGP

- 5 minutes read time

Voici un petit article simple sur comment activer la signature de commits avec Git et PGP.

Ca veut dire quoi “signer ses commits” ?

Dans sa documentation, les auteurs de Git le disent eux-même : “Git est cryptographiquement sûr, mais pas infaillible”. Lorsqu’on récupère des objets en provenance d’Internet, une bonne pratique est de vérifier la signature cryptographique de ceux-ci. Souvent proposée sous la forme d’un hash ou checksum à comparer, cette signature est une valeur permettant de certifier que l’objet récupéré n’a pas été altéré en chemin (attaque man in the middle, réécriture des binaires à la volée, corruption pas d’bol, etc).

Blog avec Hugo et publication automatisée

- 8 minutes read time

Après avoir mis en place mon nouveau blog avec le générateur Hugo, il m’avait fallu voir comment automatiser la publication. En effet, Hugo génère dans un dossier public/ les pages web statiques et celles-ci doivent être déposées sur un serveur web pour les présenter. Voici donc ce que j’ai construit rapidement pour qu’une publication soit aussi simple qu’un git commit; git push.

Ansible : Utiliser ses API avec Python

- 3 minutes read time

Ansible : Utiliser ses API avec Python

Depuis quelques temps j’ai enfin trouvé des idées de petits outils à développer avec Python pour pouvoir apprendre à manipuler ce langage.

Utilisant beaucoup Ansible de manière professionnelle (je vous invite à lire la serie de billets écrite à ce sujet si ce n’est déjà fait), et celui-ci étant développé en Python, je m’appuie dans notre contexte sur nos inventaires pour fournir diverses informations à d’autres systèmes ou encore à des utilisateurs.

Ansible - Quelques bonnes pratiques

- 5 minutes read time

Et voici le dernier article de cette série consacrée à l’outil de déploiement Ansible. Vous y trouverez essentiellement des ressources utiles, bonnes pratiques acquises avec l’expérience, etc.

Bonnes pratiques et ressources

Quelques bonnes pratiques

La documentation officielle Ansible en propose une très bonne liste. Nous allons en reprendre quelques unes ici. J’ajouterai également celles apprises avec l’expérience.

Ansible - Les rôles

- 8 minutes read time

Pour cette quatrième partie, nous nous intéressons aux rôles Ansible.

Les rôles Ansible

Les rôles partagent de nombreux points communs avec les playbooks. En effet, ils utilisent les mêmes instructions et le même code déclaratif. La principale différence est qu’il s’agit d’un ensemble structuré de fichiers et de dossiers qui contiendront chacun une liste d’action précise.

Ansible - Un premier playbook

- 5 minutes read time

Troisième partie consacrée à l’outil Ansible, nous allons attaquer l’écriture et l’exécution de playbooks.

Un premier playbook

Nous avons pas mal parlé des exécutions ad hoc d’Ansible permettant de lancer unitairement un module et obtenir le résultat. Les Playbooks ont pour intérêt d’écrire un scénario complet d’exécution de plusieurs modules avec des conditions et des critères de succès/échec et des actions selon l’évènement déclenché. Les playbooks sont écrits en YAML et utilisent un langage déclaratif simple propre à Ansible.

Ansible - L'Inventaire

- 6 minutes read time

Deuxième partie de la série consacrée à Ansible. Cette fois nous parlerons plus en détail de l’inventaire, à quoi ça sert, comment l’organiser, comment l’exploiter, etc.

L’inventaire Ansible

L’inventaire est la liste de hosts qu’Ansible est capable de gérer. Il peut se définir de deux façons : sous forme INI ou bien en YAML. L’inventaire par défaut est celui situé dans /etc/ansible/hosts, mais celui-ci peut être un fichier appelé à la volée.