Ce partage Shaarli présente un article de Medium expliquant comment construire rapidement un back-office avec Symfony en utilisant la Sylius Stack. L'auteur, Alexandre Buleté, décrit comment cette collection de composants Symfony permet de configurer une interface d'administration en quelques minutes, évitant ainsi de recréer des contrôleurs, des tableaux, des filtres et des modèles. L'article détaille la création d'une zone d'administration pour les utilisateurs, incluant une grille, des formulaires de création et d'édition, une page de visualisation, une entrée de menu et un pare-feu de connexion. La Sylius Stack offre une productivité accrue en permettant de décrire les écrans d'administration avec des métadonnées, tout en fournissant une interface d'administration générique. L'installation minimale inclut Doctrine, Asset Mapper, l'UI Bootstrap Admin et les traductions UI. L'article montre également comment créer une entité User en tant que Resource Sylius, en utilisant des annotations pour définir les opérations et les configurations nécessaires.
Cet article de Matt Mochalkin sur Medium explore l'utilisation des Property Hooks et de l'Asymmetric Visibility introduits avec PHP 8.4 et Symfony 7.4 pour moderniser les applications Symfony. Il montre comment ces nouvelles fonctionnalités permettent de supprimer les getters et setters boilerplate, tout en maintenant une bonne encapsulation et une intégration transparente avec Doctrine ORM, le Serializer, le Validator et les Forms de Symfony. L'auteur illustre ces concepts avec des exemples concrets de refactorisation d'entités Doctrine en entités modernes et concises.
Kevin Wenger explique dans cet article comment il a automatisé le découpage de panoramas 360° en tuiles pour son projet Respawwwn, un quiz de jeux vidéo. En utilisant Symfony et ImageMagick, il a réduit la taille initiale de chargement et le temps d'interaction de 80% en ne chargeant que les tuiles visibles à l'écran, comme le fait Google Maps. Il détaille la convention de nommage des tuiles et le code de la commande Symfony qui effectue le découpage.
Ploum explique comment utiliser git send-email pour contribuer à des projets GitHub sans passer par l'interface web, en travaillant hors ligne et avec plusieurs comptes email. Il décrit la configuration de msmtp pour gérer plusieurs comptes email et comment intégrer cela avec Git pour envoyer des patches par email. Il recommande d'utiliser une adresse email spécifique par projet pour mieux gérer le spam. Le processus implique de configurer les adresses email dans chaque dépôt Git et de corriger les erreurs de configuration avec git commit --amend --reset-author.
Ce billet explique l'impact souvent méconnu des délimiteurs Twig sur l'espace blanc dans le HTML généré, causant des problèmes de mise en page, des diffs Git bruyants et des réponses HTTP plus lourdes. L'auteur partage son expérience et détaille comment maîtriser ces délimiteurs ({{-}, {%-}, etc.) pour contrôler précisément l'espace blanc et améliorer la qualité du code. Une lecture essentielle pour les développeurs Symfony souhaitant optimiser leurs templates.
L'article critique l'organisation typique des projets informatiques, où les fichiers sont regroupés par type (Commandes, Contrôleurs, Formulaires, Entités, etc.) plutôt que par fonctionnalité. L'auteur illustre comment cette approche, bien que pratique au début, devient problématique à mesure que le projet grandit, entraînant une dispersion des fonctionnalités et un codebase difficile à maintenir. Il suggère une organisation par domaine ou fonctionnalité pour faciliter l'évolution et l'entretien du projet.
Ce billet explique comment générer des PDF à partir de HTML et CSS en utilisant Weasyprint, un outil Python. L'auteur, insatisfait par LaTeX, préfère utiliser des langages qu'il maîtrise mieux. Le tutoriel commence par un exemple simple de conversion HTML en PDF, en passant par l'ajout de styles CSS et diverses astuces pour personnaliser les documents. Il met l'accent sur l'importance des métadonnées et de l'accessibilité des PDF. J'ai découvert des astuces étonnantes : les types de page (page: xxx), la récupération du décompte (target-counter, non documentée dans la MDN !), les sélecteurs de page (:left :right), les règles de marge (@bottom-left @bottom-right), la position "running", etc.
Cet article de Richard Dern explique comment déduire 42 grandeurs météorologiques à partir des données de base fournies par une station météo. Il couvre des aspects tels que l'humidité, la pression, le vent, le rayonnement solaire, les précipitations et le confort thermique. L'auteur détaille les calculs, les unités, les hypothèses et les utilités de ces valeurs dérivées, en fournissant des exemples de conversions et des explications sur les notations utilisées. L'objectif est de rendre ces informations accessibles et compréhensibles pour une utilisation pratique, que ce soit pour le confort humain, l'horticulture, la prévision empirique ou l'aviation.
Ce tutoriel explique comment installer et configurer Postfix, un serveur de messagerie (MTA), sur un serveur dédié Debian 13. Il couvre les prérequis, l'installation, la configuration minimale du fichier main.cf, et l'envoi d'un e-mail de test. L'objectif est de permettre l'envoi de notifications système, comme celles de Rsnapshot, depuis une machine publique. La configuration proposée désactive IPv6, limite l'interface à localhost, et définit des paramètres de base pour le nom d'hôte et le domaine. Le programme postconf est utilisé pour vérifier les valeurs de configuration.
L'article explore l'utilisation pratique des outils de codage basés sur l'IA pour les développeurs responsables. Il met en lumière comment des outils comme Copilot, Cursor, Claude et ChatGPT peuvent améliorer le flux de travail en gérant des tâches fastidieuses, en aidant à naviguer dans des codebases complexes et en facilitant l'implémentation de fonctionnalités dans des langages inconnus. L'auteur partage des techniques concrètes pour utiliser ces outils de manière responsable, en insistant sur la qualité du code, la sécurité, la confidentialité et l'approbation des outils par l'employeur. L'article se concentre sur des applications pratiques, notamment la compréhension de codebases inconnus et la gestion des changements de rupture lors des mises à niveau.
Ce billet explore des techniques Git avancées pour optimiser votre workflow de développement. Il met en lumière l'importance de maintenir un historique Git logique et cohérent, en utilisant des outils comme git rebase -i pour réécrire l'histoire avant de partager vos commits. Il aborde également l'utilisation efficace du staging area avec git add -p pour créer des commits atomiques, et le workflow "fixup" pour corriger des erreurs sans encombrer l'historique. Enfin, il souligne l'importance de travailler avec des branches éphémères et de les rebaser régulièrement pour éviter les conflits et maintenir un historique propre.
L’article décrit une approche simple d’architecture logicielle pour des pipelines ETL en se basant sur une organisation en packages « input », « output » et « use case » pour structurer le code de lecture, d’écriture et de logique métier, adaptée à une mise en œuvre serverless avec AWS Step Functions et Lambda. Il souligne que la complexité vient moins des technologies qu’à bien définir les domaines métier (ex. Observabilité vs Applications) et que pour chaque domaine il vaut mieux créer une fonction dédiée tout en réutilisant du code commun via des couches Lambda (AWS Lambda layers) plutôt qu’imbriquer des traitements sans séparation claire des responsabilités.
Reprendre le contrôle de sa discothèque : un retour aux sources musicales. L'auteur, après avoir abandonné sa collection physique au profit de Spotify, décide de reprendre en main sa bibliothèque musicale. Inspiré par un post sur Mastodon, il décrit son processus pour synchroniser ses 10 000 MP3 via un cloud personnel et les écouter via l'application Symfonium sur Android. Bien que la manipulation soit simple, elle reste accessible à peu de personnes. L'auteur souligne le bénéfice émotionnel et historique de cette démarche, transformant sa bibliothèque en une collection personnelle et vivante, loin des algorithmes impersonnels des plateformes de streaming.
Un agent Azure DevOps self-hosted peut rapidement saturer son disque à cause de l'accumulation d'images Docker et de cache non nettoyés. Azure DevOps ne gère pas ces éléments, laissant la responsabilité de l'entretien à l'utilisateur. La solution proposée est un script de nettoyage automatique via cron, supprimant les images et volumes Docker de plus de 7 jours, libérant ainsi de l'espace disque. Un monitoring avec CloudWatch est également recommandé pour anticiper les saturations futures.
Cet article explore le concept des "stacking contexts" en CSS, souvent mal compris et source de problèmes de mise en page. Il explique comment certains éléments HTML sont visuellement empilés les uns sur les autres grâce à un axe z imaginaire, créant une perception de profondeur. Les "stacking contexts" sont créés par des propriétés CSS comme position (avec z-index), opacity, transform, et contain. L'auteur souligne que les éléments sont d'abord empilés par contexte, puis par ordre de z-index au sein de chaque contexte. L'article propose des approches pratiques pour "déstacker" les éléments lorsque cela est nécessaire.
PHP 8.5 introduit plusieurs nouveautés pour moderniser le langage, dont l'opérateur pipe (|>) pour chaîner les fonctions de manière lisible, les fonctions array_first() et array_last() pour manipuler les tableaux sans effets de bord, et la possibilité d'utiliser des closures dans les expressions constantes. Ces ajouts visent à rendre le code plus expressif et à éliminer les irritants du quotidien.
L'auteur partage son "CSS reset" personnalisé, expliquant pourquoi il préfère définir ses propres styles par défaut plutôt que d'utiliser ceux des navigateurs. Il détaille chaque règle CSS appliquée, comme la boîte de modèle border-box, la suppression des marges et des paddings par défaut, et la désactivation de l'ajustement automatique de la taille du texte sur mobile. Il utilise également des couches de cascade pour donner une faible spécificité à ses règles. Un partage utile pour les développeurs front-end cherchant à standardiser leurs projets.
Dans cette chronique humoristique, Gee s'excuse auprès de Flatpak, un outil de gestion de paquets pour GNU/Linux, qu'il avait critiqué par le passé. Il explique de manière accessible le fonctionnement des bibliothèques logicielles et des gestionnaires de paquets, ainsi que les défis liés à la mutualisation des dépendances. Il souligne les avantages de Flatpak pour résoudre certains problèmes de compatibilité et faciliter l'installation de logiciels non inclus dans les dépôts officiels.
L'article résume une conférence de Hoani Cross lors du Devfest Nantes 2025. Hoani partage son expérience de transition du Bullet Journal (Bujo) traditionnel à l'outil numérique Obsidian. Il explique comment Obsidian, basé sur Markdown et multiplateforme, permet de créer un "Second Cerveau" en reliant les notes via des Maps of Content (MOC), offrant une alternative aux hashtags et aux dossiers hiérarchisés. Hoani utilise Obsidian pour compiler notes, objectifs, plannings et plus, tout en soulignant les bienfaits de la prise de notes pour la mémoire et la structuration de la pensée. Il compare également Obsidian à d'autres outils comme OneNote et Notion, le préférant pour sa gratuité, ses plugins open source et la propriété des données.
L’article explique que dans le développement logiciel, l’ego des développeurs est souvent la vraie source de dysfonctionnements en équipe car il transforme les débats techniques en combats de personnalité et freine l’amélioration collective; l’egoless programming consiste à laisser le problème guider les décisions plutôt que la défense de ses propres idées, en restant ouvert aux idées des autres, en acceptant les retours sans défensivité et en dissociant sa valeur personnelle de la qualité du code, ce qui améliore collaboration, innovation et résultats produit.