Quotidien Shaarli

Tous les liens d'un jour sur une page.

Hier - October 15, 2025

Lesson 2 - What’s Your “Good Enough”? - Scott H Young

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.

Utiliser Coolify et Nuxt en multi tenant avec des sous-domaines dynamiques

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 composableuseTenant()` extrait le sous-domaine de l’URL pour identifier le client. Une solution simple une fois la configuration Traefik bien comprise !

Lesson 1 - Why Foundations? - Scott H Young

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.

Un site anniversaire pour célébrer les 20 ans de Symfony ! | Les-Tilleuls.coop

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.

Live Components : JavaScript, moi non plus  • Lecodeestdanslepre

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.

Twig Components : comment Symfony a piqué les super-pouvoirs de React  • Lecodeestdanslepre

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.

Un bon support client fait toute la différence

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