Scott H Young explore dans cet article la notion de "good enough" (assez bien) appliquée aux fondations de la vie quotidienne (santé, relations, sommeil, etc.). Il souligne que pour ces aspects, la médiocrité évitée (atteindre un niveau suffisant) compte plus que la maîtrise absolue, car les bénéfices diminuent rapidement après un certain seuil. Par exemple, passer de zéro à 75 minutes d’exercice par semaine réduit significativement le risque de mortalité prématurée, tandis que doubler ce temps n’apporte qu’un gain marginal. L’auteur insiste sur l’importance de trouver un équilibre personnel, en tenant compte des coûts subjectifs (temps, énergie, sacrifices) et des bénéfices réels. Le défi réside dans le fait que les coûts perçus (comme l’effort pour faire du sport) diminuent avec la pratique régulière, rendant plus facile le maintien d’un niveau satisfaisant. Il invite à réfléchir : dans quels domaines atteignez-vous facilement un niveau "assez bien", et dans quels autres peinez-vous à atteindre même le minimum ? Une approche pragmatique pour optimiser son bien-être sans viser la perfection.
Scott H Young présente dans cet article son programme "Foundations", une formation d’un an visant à renforcer les "fondations" universelles d’une vie épanouie. Les fondations sont des pratiques essentielles (comme la forme physique, le sommeil, la productivité, l’alimentation ou les relations sociales) qui, bien que souvent négligées, influencent profondément la qualité de vie. Contrairement aux compétences spécialisées, ces fondations concernent tout le monde et nécessitent un travail délibéré, car notre environnement moderne ne les favorise pas naturellement. L’auteur explique que leur amélioration demande de la concentration et une intégration harmonieuse pour éviter qu’elles ne deviennent une liste de corvées. Le programme propose une approche structurée : commencer par une habitude clé, s’appuyer sur un curriculum ciblé et bénéficier d’un soutien communautaire. L’objectif est de transformer ces pratiques en un mode de vie durable, sans qu’elles ne pèsent comme un fardeau. Une réflexion intéressante sur l’importance de ces bases souvent invisibles, mais déterminantes.
Les Live Components de Symfony permettent de créer des interfaces réactives en PHP/Twig, sans JavaScript : une classe PHP gère la logique et l’état (avec #[LiveProp]
et #[LiveAction]
), tandis que le template Twig affiche et déclenche les actions via data-action="live#action"
et data-model
. Exemple : un menu dynamique, une recherche en temps réel (avec debounce intégré), ou des mises à jour partielles du DOM — le tout avec typage strict, validation, et optimisations (cache, requêtes limitées). Réactivité côté serveur, simplicité côté dev.
Les Twig Components permettent de créer des composants réutilisables et typés en PHP/Twig, inspirés de React/Vue, mais sans JavaScript.
Points clés :
#[AsTwigComponent]
: Déclare un composant (ex:Hero
) avec son template Twig.#[ExposeInTemplate]
: Expose des méthodes/propriétés dans le template (ex:{{ punchline }}
).- Architecture claire : Séparation logique (classe PHP) et affichage (template), avec typage strict.
- Avantages : Réutilisabilité, encapsulation, cache intégré, et fin du mélange logique/affichage.
Exemple :
#[AsTwigComponent(name: 'Hero', template: 'components/Layout/Hero.html.twig')]
class Hero {
#[ExposeInTemplate('punchline')]
public function getPunchline(): ?PunchlineEntity { ... }
}
→ Des composants modernes, mais 100% Symfony.
Les-Tilleuls.coop a conçu un site immersif pour célébrer les 20 ans de Symfony, basé sur une timeline interactive pilotée par le scroll, avec un design inspiré du logo anniversaire. Chaque section représente une année clé, avec des animations fluides pour plonger l’utilisateur dans l’histoire du framework. Les défis techniques incluaient l’optimisation des performances (chargement progressif des animations) et la gestion des décalages de scroll sous Firefox (corrigés via un ajustement manuel du positionnement). Un projet alliant narratif visuel et expertise UX/UI, pour rendre hommage à un outil central dans leur quotidien depuis 15 ans.
Ce billet explique comment configurer une application multi-tenant avec des sous-domaines dynamiques (ex: clientA.monapp.com, clientB.monapp.com) en utilisant Coolify et Nuxt. Coolify, une alternative open-source aux PAAS comme Heroku, permet de déployer des applications et services managés. L’astuce repose sur l’utilisation des wildcard domains et la modification des Container labels de Traefik pour accepter tout le trafic sur *.monapp.com
via une expression régulière (HostRegexp(
.+.monapp.com$)). Côté Nuxt, un composable
useTenant()` extrait le sous-domaine de l’URL pour identifier le client. Une solution simple une fois la configuration Traefik bien comprise !
L'auteur insiste sur la nécessité d'un bon support client : c'est lui qui fait pencher la balance du bon côté pour les retours utilisateurs... et ça fait partie de l'UX
Il s'agit d'une alternative à Adguard ou Pi-hole, un intercepteur DNS pour bloquer les requêtes vers les domaines indésirables.
Runtipi est une solution tout-en-un open source pour la gestion d'applications auto hébergées. Elle contient plus de 250 apps comme Adguard, Crowdsec, Draw.IO ou Nextcloud
Jared Norman réagit à un post Reddit sur la pratique réelle du TDD (Test-Driven Development) en entreprise, soulignant que si les tests sont souvent perçus comme une contrainte, leur valeur dépend de leur pertinence et de leur utilité. Il insiste sur trois points clés : privilégier les cas de failure utiles, éviter les tests redondants ou inutiles, et toujours avoir une raison claire d’écrire un test. Les réactions au post varient : certains développent en TDD surtout pour le backend (plus facile à tester), d’autres écrivent les tests après le code, et quelques-uns utilisent l’IA pour générer des tests—une approche que Jared critique, jugeant les outils actuels peu efficaces pour produire des tests de qualité. Il rappelle que le TDD est un outil parmi d’autres, à adapter selon le contexte (durée de vie du code, complexité, besoin de maintenance), et que l’important est d’en tirer un maximum de valeur, surtout dans des projets à long terme. En résumé, le TDD n’est pas une obligation absolue, mais une méthode qui, bien maîtrisée, peut accélérer le développement et sécuriser les évolutions futures.
L’article explique l’importance de bien taguer sa musique pour une collection organisée et cohérente, en s’appuyant sur MusicBrainz Picard, un outil open source qui automatise l’étiquetage en utilisant la base de données collaborative MusicBrainz. L’auteur illustre les défis posés par les variations de noms d’artistes, d’albums ou de genres (ex. : le groupe 7!! et ses multiples dénominations), et montre comment Picard permet de normaliser ces métadonnées. Après une présentation de l’interface et des zones clés (fichiers en vrac, regroupement par album, résultats de la base de données), il détaille le processus pas à pas : import des fichiers, regroupement, recherche automatique ou manuelle d’albums, ajustements (genres, pochettes) et sauvegarde. Des astuces avancées sont partagées, comme la gestion des versions alternatives d’albums, la configuration des langues préférées pour les noms d’artistes, ou le renommage automatique des fichiers. L’outil s’avère indispensable pour maintenir une bibliothèque musicale propre et exploitable, surtout pour les amateurs de playlists ou d’autohébergement (Nextcloud Music). Un guide pratique et complet pour optimiser la gestion de sa discothèque numérique. Lire l’article
Sean Goedecke s’inspire de Seeing Like a State de James C. Scott pour analyser la tension entre "legibility" (lisibilité) et "illegibility" (illisibilité) dans les grandes entreprises technologiques. Les organisations modernes cherchent à maximiser la lisibilité — rendre le travail mesurable, planifiable et traçable — via des outils comme les OKR ou Jira, même si cela réduit souvent l’efficacité réelle. Pourtant, elles dépendent aussi d’un travail illisible (faveurs, savoir tacite, relations informelles), essentiel mais impossible à formaliser. Cette dualité explique pourquoi les grandes entreprises, malgré leur bureaucratie, persistent à privilégier la lisibilité : elle permet la planification à long terme, la coordination avec de grands clients (comme les entreprises), et une apparence de contrôle, même au détriment de l’agilité et de la productivité individuelle. L’auteur illustre comment les zones d’illisibilité (équipes "tiger teams", canaux informels) coexistent avec les processus officiels, souvent de manière non sanctionnée mais indispensable. Une réflexion sur l’équilibre fragile entre structure et flexibilité, où la lisibilité sert surtout les intérêts stratégiques (contrats, scalabilité) plutôt que l’efficacité opérationnelle pure.
Cet article explique comment Bootc et OSTree permettent de gérer et déployer des systèmes Linux de manière moderne, immuable et reproductible. OSTree, souvent comparé à un "Git pour les filesystems", versionne et distribue des snapshots complets du système, facilitant les mises à jour atomiques et les retours en arrière. Bootc, quant à lui, permet de démarrer un système Linux directement à partir d’une image conteneur (OCI), offrant ainsi une approche similaire à celle des conteneurs pour le déploiement d’OS complets. L’auteur partage son expérience en passant de Packer et NixOS à Fedora Silverblue, puis détaille comment OSTree gère les fichiers système de manière immuable, tout en permettant des modifications locales via des overlays. Il montre aussi comment rpm-ostree
remplace les gestionnaires de paquets traditionnels pour garantir l’atomicité des mises à jour. Enfin, il illustre la création et le déploiement d’une image Bootc personnalisée, ainsi que la gestion des mises à jour automatiques via un registre d’images, soulignant l’intérêt de cette approche pour le GitOps et la gestion centralisée des serveurs. Une solution idéale pour ceux qui cherchent à automatiser et sécuriser leurs déploiements Linux. ☕
Le ForumPHP 2025 marque un tournant discret mais puissant pour l’écosystème PHP : loin d’une simple commémoration des 30 ans du langage, la conférence a mis en lumière une communauté en pleine mutation, entre innovations techniques (FrankenPHP, IA, performance, packaging binaire) et une gouvernance renforcée via la PHP Foundation. Elle souligne la maturité du langage tout en prouvant qu’il continue de repousser ses limites, porté par une dynamique collective tournée vers l’avenir.
Castor, le task runner PHP développé par JoliCode, vient d’atteindre sa version 1.0.0, marquant ainsi sa stabilité et sa maturité. L’outil se distingue par sa simplicité d’utilisation : il permet de définir des tâches automatiques via de simples fonctions PHP, sans besoin de configuration YAML ou de surcouche complexe. Avec un seul fichier castor.php
et l’attribut AsTask
, il est possible de créer et exécuter des tâches (comme composer install
, yarn install
, etc.) en une commande. Castor mise sur une API publique stable, une expérience utilisateur optimisée (autocomplétion IDE et shell, logs, documentation complète) et une intégration facile avec l’écosystème PHP (Symfony, Monolog, JoliNotif, etc.). Il propose aussi des fonctionnalités avancées comme l’exécution parallèle de processus, les notifications desktop, les commandes SSH/SCP, et même la possibilité de "repacker" un projet en un exécutable autonome. Disponible en phar ou binaire, Castor s’installe facilement et est déjà adopté par de nombreux développeurs pour automatiser leurs workflows, remplacer les Makefiles ou scripts shell, et simplifier la gestion des tâches quotidiennes. La documentation et les exemples sont riches, et le projet est open source, encouragé par une communauté active. Une alternative moderne et efficace pour l’automatisation en PHP !
L’article explique comment utiliser Robot Framework, un outil open source écrit en Python, pour automatiser les tests dans le domaine de l’embarqué. Ce framework, mature et flexible, permet de réaliser des tests d’intégration, de bout en bout et des mocks (simulations de devices, communications CAN, API, etc.), grâce à une syntaxe simple et de nombreuses bibliothèques (CAN, HTTP, MQTT, bases de données, etc.). Ses avantages incluent la génération de rapports HTML détaillés, l’export au format xUnit pour les CI/CD (GitLab, Jenkins), et une courbe d’apprentissage accessible même aux non-experts. Cependant, il peut devenir verbeux pour des scénarios complexes et dépend de Python, ce qui le rend plus lent que des tests unitaires natifs en C/C++.
L’article détaille la structure des fichiers .robot
(sections Settings
, Variables
, Test Cases
, Keywords
), la syntaxe spécifique (variables, boucles, conditions), et présente des exemples concrets : tests de communications CAN avec des mocks Python, simulation d’API via Flask, et exécution de programmes C++ embarqués. Il montre aussi comment intégrer Robot Framework dans un workflow embarqué, en combinant bibliothèques Python, commandes CLI pour lancer les tests, et intégration avec des outils comme Jenkins ou GitLab CI. Un guide pratique pour qui souhaite industrialiser ses tests embarqués tout en gardant une approche haut niveau et maintenable.
L’article How to Assess Progress: Proven Methods to Track Personal and Professional Growth (2025 Guide) explique pourquoi et comment mesurer ses progrès, que ce soit dans la vie personnelle ou professionnelle. Il souligne que suivre ses avancées transforme les intentions floues en actions claires, maintient la motivation et permet d’ajuster ses stratégies en fonction des résultats observés. L’auteur propose quatre méthodes complémentaires : la mesure quantitative (indicateurs chiffrés et cibles précises), le suivi des jalons (découpage des objectifs en étapes observables), l’évaluation qualitative (retours d’expérience, journaux de bord, retrospectives) et la réflexion personnelle (revues régulières pour identifier les leviers d’amélioration). Pour faciliter ce suivi, il recommande des outils comme les objectifs SMART, les tableaux Kanban/Gantt, les KPI et les applications digitales (Asana, Trello, Jira, etc.), tout en intégrant les innovations 2025 comme l’IA pour analyser les données en temps réel, anticiper les obstacles et personnaliser les plans d’action. L’idée centrale : combiner rigueur, flexibilité et technologie pour rendre le progrès visible, motivant et aligné avec ses ambitions à long terme.
L’article dénonce l’utilisation excessive et souvent erronée du terme « obsolescence programmée », devenu un fourre-tout pour expliquer toute panne ou ralentissement d’appareil. L’auteur rappelle que ce phénomène — illégal en France depuis 2015 — désigne une pratique délibérée et prouvée de sabotage par le fabricant, comme le cartel Phoebe dans les années 1920 ou l’affaire Batterygate d’Apple. Pourtant, la plupart des cas invoqués relèvent en réalité de l’usure normale, de l’obsolescence technique ou logicielle, ou de la négligence utilisateur. Les mises à jour logicielles, souvent montées du doigt, sont en réalité nécessaires pour la sécurité et l’innovation, même si elles rendent certains matériels obsolètes. Plutôt que de crier au complot, l’auteur propose des solutions concrètes : privilégier des produits réparables, soutenir l’open source, et accepter que la durabilité a un coût. Le vrai problème ? Une industrie qui produit parfois de la « merle » et des consommateurs en quête de puissance, de bas prix et de durabilité… sans toujours vouloir en payer le prix. Une invitation à plus de nuance et de responsabilité, tant du côté des fabricants que des utilisateurs
L’article explique de manière claire et pédagogique ce que sont les modes musicaux et comment les utiliser pour colorer une composition. Un mode est une gamme dont on change le point de départ : à partir d’une gamme majeure (comme Do majeur), on obtient 7 modes en commençant par chacune de ses notes (ex. : Ré dorien, Mi phrygien, etc.). Les modes sont classés en majeurs (ionien, lydien, mixolydien) et mineurs (dorien, phrygien, aeolien, locrien), chacun ayant une « couleur » sonore distinctive. Par exemple, le lydien (4e mode) apporte une touche féerique grâce à sa quarte augmentée, tandis que le phrygien (3e mode) est sombre et souvent utilisé en métal. L’article détaille la construction de chaque mode, leurs notes caractéristiques et des exemples concrets (comme le thème de Yoda en lydien ou Wherever I May Roam de Metallica en phrygien). Une ressource idéale pour comprendre comment les modes enrichissent l’émotion et l’ambiance d’un morceau, avec des comparaisons visuelles et auditives pour faciliter l’apprentissage. Un PDF et une vidéo sont proposés en téléchargement pour approfondir.
L’article présente une solution simple et efficace pour surveiller un homelab sans complexité. L’auteur, lassé des outils lourds comme Centreon ou Zabbix, propose un duo gagnant : Uptime Kuma pour vérifier la disponibilité des services web (via des pings réguliers et des alertes) et Bezsel pour surveiller l’état matériel et logiciel des serveurs (CPU, RAM, disques, etc.). Les deux outils se déploient facilement via Docker Compose, offrant une interface claire et des notifications en cas de problème. L’objectif ? Une supervision légère, rapide à mettre en place, idéale pour les labos personnels. Un partage utile pour ceux qui veulent éviter les "usines à gaz" tout en gardant un œil sur leur infrastructure.