46 liens privés
Il s'agit de portions de textes ajoutés à une URL utilisés par des systèmes de tracking (Google Analytics par exemple) à des fins d'analyse : d'où vient le trafic, le type de canal, etc.
Voici la liste des conférences présentées lors du SymfonyLive Paris 2025, avec un résumé pour chacune :
-
Keynote de Fabien Potencier :
- Fabien a retracé l'histoire de l'initiative DX de Symfony et a démontré la flexibilité de Symfony avec des exemples comme "Symfony Hello" et "Symfony Solo".
-
Le composant Symfony Mapper – Antoine Bluchet :
- Présentation du nouveau composant ObjectMapper de Symfony, qui facilite la transformation de données entre différentes structures dans les applications Symfony.
-
API Platform sans Doctrine – Jérôme Tamarelle :
- Jérôme a montré comment optimiser les performances d'API Platform en utilisant des fonctionnalités JSON de PostgreSQL pour réduire le nombre de requêtes SQL.
-
Développer avec API Platform 4 – Mathias Arlaud :
- Mathias a expliqué les évolutions d'API Platform, notamment l'utilisation de DTO et la découplage du modèle de données en base et la représentation en API.
-
Passkeys pour une authentification fluide et sécurisée – Rémi Janot :
- Rémi a présenté WebAuthn, une API permettant l'authentification sans mot de passe traditionnel, en utilisant des authentificateurs comme les lecteurs d'empreintes digitales.
-
Rôles & permissions : développer une marque blanche avec du feature flipping – Florian Bogey :
- Florian a détaillé l'utilisation des rôles et permissions dans Symfony pour gérer une application multi-clients en marque blanche, avec un système de feature flipping.
-
Symfony UX : Points forts de 2024 et perspectives d’avenir – Simon André :
- Simon a analysé l'adoption des composants UX par la communauté Symfony et a présenté les futures améliorations et changements.
-
Atteindre la qualité d’une SPA avec HTMX et Twig – Damien Alexandre :
- Damien a montré comment utiliser HTMX pour créer des applications web dynamiques et réactives sans trop de JavaScript, en utilisant des attributs dans Twig.
-
Développer plus vite avec FrankenPHP – Kévin Dunglas :
- Kévin a présenté FrankenPHP, une combinaison performante d'un runtime PHP, d'un serveur Web et d'un serveur SSE, pour améliorer les performances de développement.
-
Asynchrone avec Symfony Messenger et Mercure – Grégoire Pineau :
- Grégoire a expliqué comment combiner Symfony Messenger et Mercure pour des traitements asynchrones et des notifications en temps réel, améliorant ainsi la performance et l'expérience utilisateur.
-
Du Lego de composants pour un bundle Gotenberg – Hubert Lenoir, Adrien Roches :
- Les conférenciers ont présenté l'utilisation de Gotenberg pour la génération de PDF et ont mis en lumière des fonctionnalités avancées de PHP et Symfony.
-
Tirez profit de Messenger pour améliorer votre architecture – Tugdual Saunier :
- Tugdual a montré comment utiliser le composant Messenger en synchrone pour améliorer l'architecture d'une application, en utilisant des messages pour faire circuler des appels à des services.
-
Keynote – Nicolas Grekas :
- Nicolas a présenté les nouvelles fonctionnalités à venir dans Symfony, notamment dans les versions 7.4 (LTS) et 8, comme le support de HTTP/3 dans le HttpClient.
Ces conférences ont couvert divers aspects de Symfony, de l'amélioration des performances à l'optimisation de l'architecture, en passant par la sécurité et les nouvelles fonctionnalités.
L'article explique comment transformer des blocs de code if-else
en utilisant le patron Strategy avec Symfony pour éviter un code complexe et difficile à maintenir. L'auteur montre comment séparer les implémentations dans des classes distinctes et utiliser le conteneur de services de Symfony pour gérer les dépendances de manière efficace. Le résultat est un code plus propre et facile à lire, utilisant des expressions match
pour mapper les types d'actifs aux classes API appropriées.
Dans ce journal, l'auteur explore NixOS, une distribution Linux lancée en 2006, qui se distingue par sa configuration déclarative centralisée dans un fichier unique. Elle permet une gestion immuable des paquets et facilite le retour à des versions antérieures. Tous les paquets sont stockés dans /nix/store
, permettant plusieurs versions d'un même logiciel. Bien que puissante, NixOS peut être complexe pour les débutants en raison de sa documentation chaotique. Elle est idéale pour ceux recherchant une configuration système robuste et reproductible, malgré une courbe d'apprentissage raide. NixOS est souvent comparée à Fedora Silverblue et OpenSUSE MicroOS pour ses fonctionnalités avancées.
L'article explique ce qu'est un monolithe modulaire et quand il doit être préféré à une architecture de microservices.
L'article explique pourquoi et comment optimiser les coûts liés à l'utilisation de Argo CD pour le déploiement continu sur Kubernetes.
L'idempotence est un concept clé en informatique et en mathématiques, particulièrement crucial dans la conception de systèmes fiables. Une opération idempotente produit le même effet, peu importe le nombre de fois qu'elle est exécutée. Par exemple, soumettre un formulaire plusieurs fois ne devrait générer qu'un seul résultat, et une requête de paiement ne devrait débiter le compte de l'utilisateur qu'une seule fois, même en cas de réessais réseau. Pour implémenter l'idempotence, des techniques comme l'utilisation de jetons uniques, des verrous pessimistes ou optimistes, et des index uniques dans les bases de données sont employées. Ces méthodes assurent que les opérations répétées n'altèrent pas l'état du système de manière indésirable, garantissant ainsi la cohérence et la fiabilité des applications.
L'auteur commence par expliquer le fonctionnement du détecteur de pluie électro mécanique des années 70, et termine par l'explication du détecteur actuel, basé sur les infra rouges.
L'article explore les nouvelles capacités de la fonction attr()
en CSS, qui permet désormais d'utiliser des valeurs autres que du texte, comme des couleurs, des nombres, et des pourcentages. Cette fonctionnalité, bien que non supportée par tous les navigateurs, offre une flexibilité accrue pour styliser des éléments HTML en fonction de leurs attributs. L'auteur présente divers cas d'utilisation, tels que l'assignation de colonnes dans une grille CSS, la gestion des délais d'animation, et la définition de couleurs dynamiques, tout en soulignant les avantages en termes de séparation des préoccupations et de réduction des conflits CSS.
Résumé de cet excellent article : les entreprises ne sont pas nos amies pour la protection de la vie privée, et il faut réellement privilégier les solutions libres
Ce dépôt contient des liens vers l'ensemble des diapositives des présentations du SymfonyLive Paris 2025
Le deuxième jour du SymfonyLive Paris 2025 a abordé divers sujets : Laura Durieux a souligné les contributions des femmes dans l'histoire de la technologie. Grégoire Pineau a présenté Symfony Messenger et son intégration avec Mercure pour des retours en temps réel. Damien Alexandre a exploré l'utilisation d'HTMX pour améliorer les performances des applications web. Hubert Lenoir et Adrien Roches ont introduit Gotenberg, un outil de génération de PDF fiable. Tugdual Saunier a montré comment Symfony Messenger peut améliorer l'architecture des applications. Matthias Arlaud a détaillé les évolutions d'API Platform, notamment l'adoption des attributs. Enfin, Nicolas Grekas a présenté les nouvelles fonctionnalités de Symfony 7.3, incluant des améliorations dans plusieurs composants. L'événement a célébré les 20 ans de Symfony et mis en avant les contributions de la communauté.
Le SymfonyLive Paris 2025 a rassemblé des centaines de développeurs pour célébrer les 20 ans de Symfony. Fabien Potencier a souligné les progrès du framework, notamment l'amélioration de la documentation et de l'expérience utilisateur. Antoine Bluchet a présenté le nouveau composant "Object Mapper" pour simplifier le mapping d'objets. David Buchmann a expliqué l'utilisation avancée du JSON dans PostgreSQL avec Doctrine. Rémi Janot a discuté des passkeys pour une authentification sécurisée via WebAuthn. Simon André a retracé les succès de Symfony UX, avec une adoption croissante et de nouvelles fonctionnalités prévues. Florian Bogey a abordé la gestion des permissions et le déploiement progressif avec le feature flipping. Jérôme Tamarelle a montré comment optimiser les requêtes dans API Platform en utilisant MongoDB. Enfin, Kévin Dunglas a conclu en présentant FrankenPHP, qui améliore les performances de Symfony en environnement de développement grâce à un mode "watcher".
Un outil pour manipuler des fichiers CSV en ligne de commande
Microsoft a annoncé la migration du compilateur TypeScript de JavaScript vers Go, promettant une amélioration de performance de 10x. Cependant, cette amélioration concerne uniquement la vitesse de compilation du compilateur TypeScript, et non la performance d'exécution du code TypeScript lui-même. Le passage à Go permet de mieux gérer les tâches intensives en CPU grâce à ses goroutines et son modèle de concurrence natif, contrairement à l'architecture mono-threadée de Node.js. Cette migration soulève des questions sur la compatibilité future avec les navigateurs et l'écosystème des plugins TypeScript, mais elle illustre l'importance d'adapter les choix technologiques aux besoins spécifiques des projets en évolution
Comment ne pas être impacté par la limite de 10 téléchargements d'image par heure depuis le registre public Docker Hub
Le changement de contexte, ou la nécessité de passer rapidement d'une tâche à une autre, est identifié comme le principal obstacle à la productivité des développeurs. Chaque interruption, même mineure, peut coûter jusqu'à 23 minutes de travail productif et dégrade la qualité du code en brisant la concentration. L'article explore les raisons pour lesquelles les développeurs sont particulièrement affectés, notamment en raison de la complexité des tâches de programmation qui nécessitent une mémoire de travail élevée. Des stratégies sont proposées pour minimiser ces interruptions, telles que la planification de périodes de travail ininterrompues et l'utilisation d'outils de communication asynchrones, afin d'améliorer la productivité et le bien-être des équipes de développement.
L'article met en lumière les erreurs fréquentes commises lors de la création de diagrammes d'architecture technique. Parmi celles-ci, on trouve la réalisation de diagrammes théoriques plutôt que concrets, le mélange de niveaux d'abstraction, la surcharge d'informations, l'utilisation de flèches non étiquetées, des compositions trompeuses, l'absence de contexte, et le manque de texte explicatif accompagnant les diagrammes. Pour éviter ces écueils, il est recommandé de se concentrer sur des représentations spécifiques et claires, de séparer les niveaux d'abstraction, de réduire le nombre de préoccupations simultanées, d'étiqueter les relations, de fournir un contexte adéquat, et d'accompagner les diagrammes de descriptions détaillées.
L'article présente le fichier composer.json
comme un élément central du développement moderne en PHP, en le comparant à un buffet à volonté où l'on accumule diverses dépendances. Il détaille les composants essentiels, tels que PHP 8.2, Doctrine ORM, et EasyAdminBundle, qui simplifient le développement en évitant l'écriture manuelle de SQL ou la création d'interfaces administratives. L'article met également en avant des outils de sécurité comme Scheb 2FA et Nelmio Security Bundle, ainsi que des utilitaires spécifiques comme Endroid QR Code et HTMLPurifier. Il souligne l'importance des bundles Symfony, tels que Asset Mapper et Monolog, qui facilitent la gestion des ressources et le logging. Enfin, il mentionne des outils de test comme PHPUnit et PHPStan, ainsi que des polyfills pour assurer la rétrocompatibilité. Le fichier composer.json
est décrit comme un sac à dos rempli d'outils indispensables pour un développement PHP efficace et sécurisé.
L'article explique comment Composer, un outil de gestion des dépendances PHP, peut transformer un projet PHP désorganisé en un environnement de développement propre et efficace. Avant Composer, les développeurs téléchargeaient manuellement des bibliothèques, souvent obsolètes et mal intégrées, ce qui entraînait des projets chaotiques et difficiles à maintenir. Composer simplifie l'installation et la gestion des dépendances via des commandes simples, garantissant que les bibliothèques sont à jour et compatibles. Il utilise des fichiers comme composer.json
et composer.lock
pour gérer les versions et assurer la cohérence des environnements de développement. L'article souligne également l'importance de ne pas utiliser composer update
de manière imprudente et met en avant des fonctionnalités avancées comme l'autoloading et la gestion des versions multiples. En somme, Composer est présenté comme un outil indispensable pour moderniser et professionnaliser le développement PHP.