Ce billet de blog décrit la configuration d'un Mini PC en tant que serveur domestique sous NixOS, centralisant plusieurs services précédemment dispersés sur différents appareils. L'auteur, insatisfait de la complexité et du manque de cohérence de son ancien système, a opté pour une solution plus intégrée et mieux documentée. Le serveur héberge désormais des services comme Pihole, Syncthing, Jellyfin, Home Assistant et Music Assistant. Le choix de NixOS permet une gestion simplifiée et déclarative des configurations, évitant les manipulations manuelles et les configurations éparses. L'auteur partage son expérience et les avantages de cette approche, tout en mentionnant les limitations de ses anciens appareils.
L’article présente une sélection d’essais influents qui ont marqué la pensée et les pratiques de l’auteur en tant qu’ingénieur logiciel. Parmi les textes cités, on retrouve des classiques comme « Choose Boring Technology » de Dan McKinley, qui prône l’utilisation de technologies éprouvées pour éviter les risques inutiles, « Parse, Don’t Validate » d’Alexis King, qui encourage à transformer les données en types riches pour éliminer les états invalides, ou « Things You Should Never Do, Part I » de Joel Spolsky, mettant en garde contre les réécritures complètes de code. D’autres essais, comme « The Majestic Monolith » de DHH ou « The Rise of ‘Worse is Better’ » de Richard P. Gabriel, remettent en question les tendances architecturales (microservices, perfectionnisme) au profit de solutions pragmatiques et adaptées au contexte. L’auteur souligne aussi l’importance de la qualité (« Software Quality at Top Speed » de Steve McConnell) et de la valeur métier (« Don’t Call Yourself a Programmer » de Patrick McKenzie). Enfin, des conseils plus larges, comme « How To Become a Better Programmer by Not Programming » de Jeff Atwood, rappellent que les compétences techniques ne suffisent pas : comprendre le domaine, communiquer et éviter la complexité inutile sont tout aussi cruciaux. Une lecture inspirante pour repenser sa pratique du développement.
En 2026, l'utilisation d'outils d'IA comme Copilot ou ChatGPT pour générer du code crée des "zones mortes" de 5 à 15 secondes dans le flux de travail des ingénieurs, fragmentant leur journée et réduisant leur productivité. Ces micro-pauses invitent aux distractions, brisant la concentration et le travail en profondeur. L'article propose un protocole "AI Detox" pour maintenir l'état de flux et éviter le coût caché du changement de contexte, qui inclut la perte de temps et la détérioration de la qualité du code.
AuditTrailBundle est un bundle léger pour Symfony qui suit et stocke automatiquement les modifications des entités Doctrine ORM pour la journalisation des audits et la conformité. Il offre des performances élevées grâce à une architecture en deux phases (capture en onFlush, envoi en postFlush), plusieurs options de transport (Doctrine, HTTP, Queue), un suivi précis des collections, un masquage des données sensibles, un support de réversion sécurisé, un audit conditionnel et un suivi contextuel riche. Compatible avec PHP 8.4+, Symfony 7.4+ et Doctrine ORM 3.0+, il est conçu pour les audits de production avec un faible overhead d'écriture et une prise en charge de la réversion des entités.
Cet article explique comment gérer et afficher des données massives dans une application Symfony en utilisant MongoDB. L'auteur, Andreas Braun, se base sur un dataset allemand de prix de carburant, qui change fréquemment et varie selon les villes. Le dataset comprend 78 Go de données de prix et près de 10 Go de données de stations, avec des fichiers organisés par année, mois et jour. L'article décrit comment inspecter les données, les importer dans MongoDB, et concevoir un schéma efficace pour travailler avec ce volume de données. La première partie se concentre sur l'inspection des données et la conception du schéma, tandis que la deuxième partie abordera la création d'une application Symfony pour afficher ces données.
Ce partage Shaarli présente le "DDD Symfony Bundle", un outil pour intégrer le Domain-Driven Design (DDD) dans Symfony. Ce bundle offre un noyau (Kernel) prêt pour le DDD, permettant une importation automatique des configurations des différents contextes délimités (Bounded Contexts), et une intégration avec Symfony Messenger pour gérer les commandes et les requêtes via des bus dédiés. Il facilite ainsi l'autonomie des contextes délimités et maintient une architecture propre et évolutive. Le bundle est disponible sur GitHub et peut être installé via Composer.
Ce billet de blog de Chris Coyier sur Frontend Masters explique comment créer des menus contextuels popover en utilisant le positionnement d'ancrage en CSS. L'auteur montre comment utiliser des éléments HTML comme <button> et <menu> (qui est en réalité une liste non ordonnée <ul>) pour créer un menu contextuel, avec des attributs comme command, commandfor et interestfor pour gérer l'ouverture et la fermeture du menu sans JavaScript. Le positionnement du menu est géré via des styles CSS avec des ancres nommées, permettant une animation fluide lors de l'ouverture et de la fermeture. L'article inclut également des considérations pour les retombées de positionnement et des liens vers des ressources supplémentaires.
Ce projet, Rofim, a consisté en une migration et une refonte complète d'infrastructure pour passer chez un hébergeur cloud (AWS) et automatiser les processus grâce à Terraform. La mission, s'étalant sur 2 ans et demi, a inclus la migration en direct de l'application (NodeJS, Angular, MongoDB) avec un downtime minimal, la mise en place de services spécifiques comme un outil d'IA et un stockage d'imagerie médicale, et l'obtention de la certification HDS pour la sécurité des données. L'infrastructure a été automatisée via des services managés comme CodePipeline, CodeBuild, ECS, et API Gateway.
Databasus est un outil open source et auto-hébergé pour sauvegarder PostgreSQL, avec un support pour MySQL, MariaDB et MongoDB. Il permet de planifier des sauvegardes, de vérifier la santé des bases de données, de stocker les fichiers sur divers supports (S3, Google Drive, FTP, etc.), et de recevoir des notifications. Il est auto-hébergé via Docker, sécurisé avec un chiffrement de niveau entreprise, et offre une gestion des accès et des journaux d'audit pour les équipes. Compatible avec les bases de données cloud comme AWS RDS, Google Cloud SQL et Azure Database.
Shelfmark est un outil open-source pour rechercher et télécharger des livres et des audiolivres à partir de multiples sources en un seul endroit. Il offre une interface moderne et intuitive, prenant en charge divers types de sources (sites web populaires, torrents, Usenet, IRC) et des fonctionnalités avancées comme le contournement de Cloudflare et une file d'attente de téléchargement en temps réel. Facile à installer avec Docker, Shelfmark est conçu pour fonctionner de manière autonome ou en complément d'autres outils de gestion de bibliothèque comme Calibre-Web-Automated ou Booklore.
Dans cet article, l'auteur explique comment isoler des réseaux dans le cadre de la création d'une infrastructure cloud-like. Il compare deux technologies : VLAN et VXLAN. Le VLAN, bien que simple, a des limites en termes de scalabilité et d'extension géographique. Le VXLAN, plus complexe mais plus performant, encapsule les paquets Ethernet dans des paquets UDP, permettant une meilleure scalabilité et extensibilité. L'auteur choisit le VXLAN pour son projet, détaillant son fonctionnement et les méthodes de communication entre les VTEP (Multicast et Unicast).
Stanislas a développé une interface en mode texte (TUI) pour indexer et rechercher ses sessions avec des agents de codage locaux comme Claude Code, Codex, OpenCode, et Copilot. Face aux limitations des fonctionnalités de reprise de session des agents (recherche limitée, sessions liées à un répertoire), il a créé un outil permettant de rechercher dans le contenu des sessions et de les reprendre rapidement. L'outil utilise Tantivy pour l'indexation et orjson pour le parsing rapide des fichiers JSON, et offre des fonctionnalités comme la recherche incrémentale, la navigation intuitive, et des statistiques. Le projet, nommé fast-resume, est disponible pour essai.
Ce guide pratique propose des bonnes pratiques pour sécuriser un serveur Apache2 sous Debian/Ubuntu. Il couvre des aspects essentiels comme masquer la version d'Apache et de l'OS, désactiver le listing des répertoires, configurer des en-têtes de sécurité, désactiver les méthodes HTTP inutiles, et utiliser Fail2Ban pour bloquer les attaques par force brute. Des exemples de configurations et des explications détaillées sont fournis pour chaque étape, avec une conclusion rappelant l'importance de maintenir les mises à jour régulières pour une sécurité continue.
Ce partage Shaarli présente un guide détaillé pour installer et configurer Debian 13 avec l'environnement de bureau KDE, selon les préférences de l'auteur. Le processus est divisé en deux étapes principales : l'installation de base de Debian 13 KDE et le peaufinage post-installation automatisé. L'auteur partage également ses recommandations pour le passage de Windows 10 à Debian 13. Le guide couvre des aspects tels que le téléchargement de l'ISO Debian, la création d'une clé USB d'installation, les paramètres régionaux, la configuration des utilisateurs, le partitionnement des disques, et bien plus. L'objectif est d'obtenir un système Linux fonctionnel et complet pour un usage quotidien.
L'article explique comment reconnaître et briser le cycle de l'épuisement professionnel, en détaillant dix étapes concrètes. Il commence par comprendre les signes avant-coureurs de l'épuisement, puis propose des solutions comme établir des limites, prioriser le sommeil, se reconnecter à un but, cultiver des relations authentiques, et chercher un soutien professionnel si nécessaire. L'objectif est de rompre le cycle de l'épuisement en abordant ses dimensions émotionnelles, physiques et comportementales de manière holistique.
L'article de Guillaume REYNAUD explique en détail l'architecture et le déploiement du réseau FTTH (Fibre To The Home) en France. Il détaille les équipements clés comme l'OLT (Nœud de Raccordement Optique), le SRO (Sous-Répartiteur Optique) et le PCO (Point de Connexion Optique), ainsi que leurs rôles respectifs dans la transmission du signal optique. Le réseau FTTH utilise la technologie PON (Passive Optical Network), principalement GPON ou XGS-PON, et repose sur une architecture point-à-multipoint. L'article s'adresse aux professionnels des télécommunications mais aussi aux particuliers, offrant une vue d'ensemble complète du réseau FTTH, des équipements centraux jusqu'au domicile de l'abonné.
Cet article présente une approche moderne d'observability applicatif centrée sur les traces (trace-first). L'auteur explique comment il a remplacé une majorité de logs et métriques par des traces, en utilisant des spans configurées dans l'application avec des attributs métiers et des événements pour ajouter du contexte. Il partage une application de démo en Python implémentant du tracing de bout en bout, avec une architecture classique et une API HTTP pour acheter des produits. L'application utilise SQLite, FastAPI, et des outils comme Opentelemetry Collector, Grafana, et Clickhouse pour le stockage et la visualisation des traces. L'auteur fournit des instructions pour cloner et exécuter l'application, ainsi que des exemples d'interactions via des commandes curl.
Cet article explore le concept de tracing avec OpenTelemetry, une technique puissante mais souvent sous-utilisée pour suivre les actions dans les systèmes distribués. Le tracing permet de visualiser le parcours détaillé d'une requête à travers différents services et bases de données, offrant une meilleure visibilité que les logs traditionnels. OpenTelemetry, en tant que standard ouvert, évite le lock-in des fournisseurs et permet une flexibilité dans le choix des outils de stockage et de visualisation. Les traces sont composées de spans, qui mesurent le temps d'exécution de chaque étape, et peuvent être représentées sous forme de graphiques ou d'arbres. L'article souligne l'importance de cette approche pour l'observabilité des applications modernes.
L'auteur partage son expérience de mise en place d'un environnement de préproduction pour son instance Yunohost, virtualisée à partir d'un clone de sa machine physique de production. Il explique les avantages de cette méthode, comme la conservation de tous les ajustements manuels et la possibilité de créer des machines jetables pour des tests. Il détaille les modifications nécessaires pour différencier les VM (nom de la machine, mots de passe, thèmes visuels, etc.) et les bonnes pratiques à adopter, comme l'import régulier des sauvegardes de la préproduction pour valider leur restauration. Les machines virtuelles sont lancées à la demande, ce qui permet d'économiser des ressources.
La "Networking Toolbox" est une boîte à outils complète et autonome pour les administrateurs système, proposant plus de 100 utilitaires de réseau. Elle est conçue pour fonctionner hors ligne, est optimisée pour les appareils mobiles et ne dépend d'aucune bibliothèque tierce. Les outils disponibles permettent de convertir, calculer, diagnostiquer et vérifier les configurations de serveurs. Le projet est développé avec Svelte, SvelteKit et TypeScript, et peut être déployé via Docker, des services cloud ou directement depuis le code source. Les contributions sont les bienvenues. Plus d'informations sur le dépôt GitHub : https://github.com/Lissy93/networking-toolbox.