Quotidien Shaarli
Aujourd'hui - April 12, 2026
Cette page explique comment créer un sélecteur de plage de dates en CSS, principalement grâce à la syntaxe :nth-child(n of selector). L’auteure montre comment cette méthode permet de cibler des éléments spécifiques parmi un groupe, comme le deuxième élément d’une classe donnée, plutôt que le deuxième enfant global. Un exemple concret illustre la construction d’un calendrier où l’utilisateur peut sélectionner une plage de dates, avec une gestion partielle en JavaScript pour ajuster dynamiquement les dates choisies. L’approche combine CSS moderne et un peu de logique JavaScript pour une interaction fluide.
ONNX (Open Neural Network Exchange) est un standard ouvert lancé en 2017 par Microsoft et Meta, conçu pour faciliter le déploiement des modèles de machine learning en rendant les modèles portables et indépendants des frameworks d'origine. Il fonctionne en convertissant le code d'un modèle (comme PyTorch ou TensorFlow) en un graphe statique d'opérations mathématiques standardisées, stocké dans un fichier .onnx, puis exécuté par ONNX Runtime, un moteur optimisé pour maximiser les performances sur différents matériels.
L'intérêt principal d'ONNX réside dans sa capacité à résoudre des problèmes concrets de production, comme l'incompatibilité entre les environnements d'entraînement et de déploiement, ou les contraintes des cibles légères (mobile, embarqué). Il permet également d'optimiser les performances d'inférence en fusionnant des couches et en réduisant la latence, tout en restant plus léger que les frameworks traditionnels.
Bien qu'il existe d'autres formats comme TorchScript ou GGUF, ONNX se distingue par sa polyvalence, couvrant aussi bien les modèles classiques que les architectures de vision, ce qui en fait un choix stratégique pour un déploiement unifié et efficace.
La SymfonyLive Paris 2026 a mis en avant des évolutions concrètes pour Symfony, avec un accent sur la CLI, l'infrastructure et l'intégration de l'IA. Le premier jour a notamment révélé le nouveau composant Symfony Terminal, un toolkit TUI (Text User Interface) permettant de créer des interfaces en ligne de commande avec Twig, des widgets et des styles CSS en PHP pur, reposant sur les PHP Fibers pour une gestion fluide des interactions. Des annonces ont également porté sur le chiffrement des données avec Doctrine tout en conservant leur rechercheabilité, ainsi que sur des optimisations de performance comme le composant JsonStreamer pour l'hydratation d'entités depuis des DTO.
L'événement a aussi souligné l'importance de FrankenPHP, présenté comme un outil clé pour standardiser les environnements de développement via les Development Containers, désormais intégré par défaut dans Symfony Docker. Une nouvelle release d'Ember, un outil d'observabilité pour FrankenPHP, a été annoncée, offrant un niveau de monitoring inédit pour les applications utilisant cette technologie.
Enfin, la conférence a abordé des sujets comme la migration vers Symfony Scheduler, les défis de scalabilité des tâches planifiées, et l'utilisation de code agents PHP pour automatiser des tâches, avec une démonstration mettant en avant l'importance du contexte et de la planification dans l'efficacité des agents.
L’auteur dénonce l’acceptation passive d’un monde où l’IA et les technologies addictives sont imposées comme inévitables, illustré par des exemples comme Google qui prône plus d’IA pour des populations précaires ou des événements universitaires sponsorisés par des marques favorisant des comportements néfastes. Il critique l’hypocrisie des entreprises technologiques, comme Meta, dont les produits sont conçus pour maximiser l’addiction, notamment chez les adolescents, avec une complicité assumée de leurs dirigeants.
Ploum remet en cause l’attitude des institutions, comme les universités ou les enseignants, qui normalisent l’usage des smartphones et des outils numériques sans en questionner les effets néfastes, préférant enseigner une "utilisation raisonnable" plutôt que de dénoncer ces pratiques. Il compare cette situation à des formations sponsorisées par des industries nuisibles, soulignant l’aveuglement collectif face à des modèles économiques exploitant la distraction et la dépendance.
Enfin, il pointe du doigt l’échec des régulations comme le RGPD, détournées en outils de lassitude (bannières de cookies) conçus pour décourager la résistance des utilisateurs. L’auteur conclut que la société, y compris ses élites, agit en réalité comme si elle méritait d’être manipulée, validant ainsi les stratégies des géants technologiques qui la traitent en masse de "crétins".
L’article présente une solution pour gérer des conteneurs avec Podman et des Quadlets, combinée à une approche GitOps via Materia, en remplacement d’un environnement Docker classique. L’auteur, contraint d’abandonner Talos (un OS optimisé pour Kubernetes) sur un nouveau fournisseur, a opté pour une Debian 13 avec Docker, mais a découvert les avantages de Podman : architecture daemonless (sans démon root), mode rootless (sous l’utilisateur), et intégration native avec systemd pour une gestion simplifiée des conteneurs et des logs.
L’outil podlet est utilisé pour convertir des fichiers docker-compose.yml en fichiers Quadlets (fichiers .container pour systemd), facilitant la migration. Par exemple, un fichier compose.yaml pour Traefik est transformé en configuration systemd, permettant une gestion automatisée des conteneurs, des redémarrages et des mises à jour via des timers. Les secrets sont gérés séparément pour plus de sécurité.
Pour automatiser davantage, l’auteur propose une intégration avec Materia, un outil GitOps, afin de déployer et synchroniser les configurations depuis un dépôt Git. Une crontab peut déclencher des mises à jour régulières, tandis que des attributs spécifiques par hôte permettent une personnalisation fine. Cette approche combine simplicité, automatisation et sécurité, tout en évitant les contraintes des solutions Kubernetes traditionnelles.
GitLab propose des solutions pour optimiser les pipelines CI/CD face à des défis complexes comme les monorepos, les microservices ou les déploiements multi-environnements. L’article met en avant cinq cas d’usage concrets où la logique des pipelines GitLab (pipelines parents-enfants, exécution DAG, génération dynamique, etc.) améliore l’efficacité et la maintenabilité. Par exemple, pour un monorepo, GitLab permet de déclencher uniquement les sous-pipelines concernés par un changement, réduisant ainsi les temps d’exécution inutiles.
L’approche repose sur des fonctionnalités composables, comme les parent-child pipelines et les dépendances flexibles via needs, qui évitent les goulots d’étranglement liés aux pipelines linéaires traditionnels. Chaque sous-pipeline peut être géré indépendamment, facilitant la collaboration entre équipes tout en centralisant la visibilité des résultats.
Enfin, l’article souligne que cette modularité permet de résoudre des problèmes réels, comme l’optimisation des tests ou des déploiements, sans sacrifier la lisibilité ou la performance. Les exemples de configuration fournis illustrent comment adapter ces outils à des scénarios spécifiques, tout en restant adaptables à des besoins évolutifs.