Skip to content

Blog

Bienvene sur mon blog, là où je poste des billets de technologie, d'idées, de découverte.

Bonne lecture 📖

Les BDD 🐍 in-memory

Nous utilisons tous au quotidien des bases de données et maitrisons clairement le concept : une armoire numérique d'informations rangées d'une certaine façon pour que le libraire (le logiciel) puisse retrouver très rapidement ce qu'il souhaite et parfois faire des opérations sur ces informations avant de nous les donner. Pratiquement, ce sont des ordinateurs très souvent dans le cloud, avec lesquels nous interagissons via des applications (l'appli de Drive pour la base de données de l'entreprise de notre drive, des bases de données de profils via des applications de rencontre, ...). Quand on nous parle de base de données, nous pensons tous à ces serveurs disponible 24h/24.

Pourtant, tous les projets ne nécessitent pas un serveur ni même une disponibilité 24h/24, comme certains projets en local (ex : IA avec une base de connaissances sur notre ordinateur à nous) ou pendant des phases de développement précoce d'un projet lors de phases de test de faisabilité. C'est pour ces usages qu'existent les bases de données in-process (aussi appelée bases in-memory) !

Arch linux - Un linux ... minimaliste

Arch linux est connue pour une particularité assez folle : c'est l'une si ce n'est LA distribution Linux la plus légère, autrement dit qui nécessite le moins de mémoire et de RAM pour tourner. Bien plus qu'une fantaisie technique, Arch Linux repose sur 5 piliers :

  • La simplicité :
    • Arch Linux propose des logiciels aussi proche que possible de leur version créée par le développeur
    • Les packages comme le système lui-même sont conçu pour pouvoir être installé et mise à jour comme un logiciel d'app store, pour rendre l'usage simple
  • La modernité : Arch Linux s'efforce de maintenir les dernières versions stables de ses logiciels. Si le système se veut simple, il incorpore quand même certaines fonctionnalités qu'on retrouve sur des systèmes GNU/Linux plus standard
  • Le pragmatisme : si l'objectif est de rester simple, cette philosophie est un guide. C'est l'analyse technique basée sur des observations qui conduira la décision, pas les grandes théories
  • Centré sur l'utilisateur : Arch Linux est destiné à répondre aux besoins de ceux qui y contribuent, pas au plus grand nombre
  • Versatilité : seul un environnement en ligne de commande est fourni, avec très très peu de packages.

Syncthing - Le compagnon idéal de synchronisation des fichiers device-to-device

Le cloud est devenu inévitable dans la gestion de nos fichiers pour 2 raisons : - Protéger nos fichiers si on nous vole ou on casse un de nos appareils, - Synchroniser nos fichiers entre plusieurs appareils pour y avoir accès partout. Mais le cloud a aussi un cout, un cout plutôt important : - Un cout monétaire : louer l'espace de stockage en ligne à un fournisseur - Un cout de sécurité de nos données : les données qu'on met sur les clouds sont utilisés à des fins marketing ou pour entrainer des IA - Un cout de dépendance à un fournisseur : si demain le fournisseur nous coupe l'accès, nous perdons tous nos documents, avec pour seule capacité de récupération celle que le fournisseur voudra bien nous mettre à disposition.

ElectronJS - Le chainon manquant entre web et logiciel

ElectronJS est un framework Javascript gratuit (pour les usages personnels comme professionnels) et open source permettant de développer des logiciels cross-plateforme (fonctionnant sur tous les grands OS du marché) grâce aux technologies du web (principalement HTML, CSS & JavaScript). Au-delà d'un gadget technologique destiné aux nerds, ElectronJS est déjà largement implanté dans notre vie en servant au développement d'applications aussi géniales que Asana, Discord, Figma, 1Password, Microsoft Teams, Obsidian, Singla, WhatsApp, Slack (je vous renvoie vers la page dédiée pour avoir une liste plus complète) !

Fedora

Pas 1, mais des Fedora : le Fedora Project

Fedora c'est pas qu'un OS, c'est une suite de solutions issues du Fedora project. Le Fedora project proposes 6 solutions : - Fedora Workstation : OS s'adressant plutôt aux développeurs, un bureau Linux raffiné et simple d'utilisation - Fedora KDE Plasma Desktop (que je résumerai en Fedora KDE) : un OS simple et flexible bâti à l'aide des dernières technologies open source et personnalisable - Fedora Server : OS destiné aux serveurs - Fedroa IoT : pour l'écosystème IoT (Internet of Things) et le edge computing - Fedroa Cloud : système avec une image de base minimale pour une utilisation en cloud public ou privé - Fedroa CoreOS : système d'exploitation minimal axé sur les conteneurs et mis à jour automatiquement.

Linux Mint

Linux Mint est un OS Linux basé sur Debian et Ubuntu. La promesse de Linux Mint est simple : un OS robuste et simple, qui fonctionne bien sans trahir la liberté des utilisateurs en terme d'applications disponibles.

Zorin OS

Zorin OS est une alternative à Windows ou MacOS tournant sur Linux. Dans la même veine que Mint OS ou d'autres OS tournant sous linux, Zorin OS offre une interface très proche de celle de Windows ou MacOS, pour proposer le meilleur coté techno de Linux avec le meilleur coté visuel de MacOS et Windows.

Les avantages de Zorin OS sont les suivants :

  • ✅ Visuel léché nous donnant sans soucis l'impression d'être sur un Windows ou un MacOS,
  • ✅ OS open source (le code est donc auditable si besoin),
  • Permet d'installer des applications Windows (source) et des jeux vidéos de plateformes de jeux vidéos (source)
  • ✅ Software store pour rechercher et installer facilement ses logiciels,
  • ✅ Base linux :
  • Plus respectueux de notre vie privée (Zorin OS ne collecte aucune donnée personnelle),
  • Personnalisation infinie du visuel grâce à l'écosystème Linux.

Apache Superset - L'outil de business intelligence open source de Apache

Pour les curieux de data visualisation et/ou professionnel travaillant en lien avec des équipes business (on peut être professionnel et curieux 🙂), 2 outils règnent en maitre : PowerBI qui est l'outil de Microsoft pour la Business Intelligence (il n'y a pas BI dans le nom pour rien) & Tableau devenu très populaire il y a quelques années. Ces 2 outils sont dédiés à l'exploration graphique des données et la création de dashboards, autant pour la conception que la mise ne production incluant la gestion des accès. Tableau est un outil Salesfosforce, expliquant très probablement sa maturité et son succès face à un concurrent Microsoft.

La Fondation Apache a travaille et entretient depuis plus de 3 ans maintenant une alternative open source à ces 2 logiciels : Apache superset. Apache Superset se destine aux mêmes usages : exploration visuel et solution de dashboarding prêt pour la production.

Devbox - Pour des environnements de développement portable & isolé

Si vous êtes développeur amateur ou professionnel, vous avez déjà dû tombé sur le cauchemar de tout développeur : le logiciel marche sur une machine mais pas sur une autre. Le marché regorge de solutions de création d'environnement virtuels : de la solution langage spécifique avec uv au pyenv pour python, npm ou Yarn pour JavaScript jusqu'à des solutions de containerisation ou même de VM (machine virtuelle) en passant par Conda. Aucune solution n'est véritablement langage-agnostic, légère et robuste. Le challenger au titre le plus sérieux me semble être Conda (miniconda bien sûr, on est entre aficionados du terminal et fan d'open source, pas entre cliqueurs de bouton sur le bureau 😉).

Jetlify (anciennement Jetpack Technology) propose une solution très intéressante : Devbox !

NVIDIA crée le confidential computing

T'es-tu déjà demandé quels étaient les 3 états d'une donnée ?

Je suis à peut près sûr que non (jusqu'ici c'est normal 🙂), quel est l'intérêt de se poser ce genre de question d'ailleurs ? Si les 3 états n'ont pas franchement d'intérêt, la capacité à sécuriser une données à chaque étape en a une !

Une donnée peut avoir 3 états :

  • en stockage : stockée sur un espace mémoire. La sécurité pour cet état est bien connue et largement déployée (contrôle d'accès à la mémoire, chiffrement des données),

  • en transit : la donnée est en transit d'un endroit à un autre. Ici aussi, les moyens de sécurité sont bien connus et bien deployés,

  • en traitement : la donnée est d'utilisation par un processus (exemple : utilisation des valeurs d'une colonne pour en calculer la moyenne). Ici impossible de chiffrer les données puisqu'elles doivent être lisible pour être utilisée, toute personne qui aurait accès au système aura accès à vos données en cours de traitement finalement.

Peu d'entreprises aujourd'hui disposent de leur propres serveurs et les louent. En tant qu'individu, nous n'avons pas envie que nos données que nous confions à d'autres fuitent parce que la protection pendant leur usage est moindre. La sécurité comme une chaîne tient à son maillon le plus faible, et la protection est données en cours de traitement est le maillon fragile de la chaîne de sécurité des données du fait de l'absence de chiffrement. Pourtant des solutions existent.