Quotidien Shaarli
Aujourd'hui - October 8, 2025
Andy Clarke explique comment rendre les SVGs encore plus adaptatifs en utilisant les éléments <symbol>
et <use>
combinés aux Media Queries CSS, afin d’optimiser leur affichage selon les tailles d’écran. Plutôt que de se contenter du redimensionnement classique, il propose une méthode pour repositionner et redimensionner les éléments internes d’un SVG sans dupliquer le code ni alourdir la page. En définissant chaque élément graphique une seule fois dans une bibliothèque de <symbol>
, puis en les réutilisant via <use>
dans différentes mises en page (par exemple, une version portrait pour mobile et une version paysage pour desktop), il parvient à créer des SVGs qui s’adaptent intelligemment. Cette approche évite de charger plusieurs versions du même SVG et permet même d’animer des parties spécifiques. La technique repose sur l’utilisation astucieuse des attributs transform
et des sélecteurs CSS pour cibler les éléments à animer, tout en gardant une structure légère et maintenable. Un exemple concret est donné avec une illustration inspirée de Quick Draw McGraw, démontrant comment basculer entre deux dispositions selon la taille de l’écran, le tout sans JavaScript. Une solution élégante pour des SVGs à la fois performants et flexibles.
L’article explore les possibilités créatives offertes par la propriété CSS shape-outside
, qui permet de faire épouser le flux de texte aux contours d’une image ou d’une forme personnalisée, au lieu de se limiter à un rectangle classique. L’auteur illustre son propos avec des exemples concrets, comme un site web pour une artiste de country fictive, Patty Meltt. Il montre comment utiliser shape-outside
pour créer des mises en page dynamiques et immersives : text wrapping autour de portraits, d’instruments de musique, ou même de montages photo, en jouant avec les canaux alpha des images ou des clip-path
. L’article détaille aussi des astuces pour simuler un centrage d’image ou contourner les limites des rotations CSS. L’objectif ? Rendre les longs contenus visuellement plus engageants et moins statiques, en intégrant images et texte dans une composition harmonieuse. Des exemples interactifs sont disponibles dans un lab en ligne pour expérimenter ces techniques. Une lecture inspirante pour les designers et développeurs web cherchant à ajouter du mouvement et de la personnalité à leurs layouts.
Scott H. Young partage 102 leçons tirées de 102 livres lus en un an, couvrant des thèmes variés comme la forme physique, la productivité, l’argent, l’alimentation, le sommeil, les relations et l’altruisme. Parmi les points marquants : l’exercice régulier réduit le risque de mort précoce de 40 % et améliore la santé mentale ; la productivité dépend davantage du bonheur et d’un sentiment de progression que du stress ; il est impossible de battre le marché boursier à long terme, et l’épargne automatique est la clé d’une retraite sereine ; les régimes alimentaires ne fonctionnent que si on les adopte à vie ; la solitude est aussi nocive que le tabac ; et donner à des associations efficaces peut sauver des vies pour quelques milliers de dollars. L’auteur insiste aussi sur l’importance de la qualité du sommeil, de la gestion des distractions et de la rationalité dans l’altruisme. Une synthèse riche et pratique, idéale pour qui cherche à optimiser sa vie quotidienne.
L’article explique deux approches pour gérer plusieurs environnements (développement, staging, production) avec Docker : une approche inspirée de Rails, utilisant des Dockerfiles séparés (ex: Dockerfile.dev, Dockerfile.prod), et une approche idiomatique Docker basée sur les multi-stage builds. La première méthode offre une séparation claire, mais peut entraîner de la duplication de code, tandis que la seconde permet de centraliser la configuration dans un seul fichier, réduisant la redondance et facilitant la maintenance, bien qu’elle puisse devenir complexe à mesure que les builds se sophistiquent. L’auteur souligne que le choix dépend de la complexité des environnements et de l’expérience de l’équipe avec Docker.