Ce template opinionated et prêt pour la production simplifie le démarrage d’un projet PHP en intégrant Symfony 8, SvelteKit 2 (avec Svelte 5), PostgreSQL 17 et une stack d’outils qualité (PHPStan niveau max, 10 extensions dont phpstan-symfony, phpstan-doctrine et phpat pour les tests d’architecture). L’architecture Same-Origin (via Caddy) évite les complexités CORS et simplifie l’authentification. Infrastructure gérée par OpenTofu sur Hetzner. Idéal pour les petits projets ou équipes solo.
Découvrez comment Symfony simplifie la gestion du temps dans vos applications avec son composant Clock, basé sur la norme PSR-20. L'article explique pourquoi l'accès direct au temps système (new \DateTimeImmutable()) crée des dépendances implicites difficiles à tester, et propose une solution en injectant le temps comme une dépendance explicite via ClockInterface. Un exemple concret avec un service de génération de tokens illustre comment rendre votre code plus robuste et testable. Une lecture utile pour améliorer la maintenabilité de vos projets Symfony ! 🕒
Découvrez comment implémenter une gestion robuste des passkeys et un système de récupération de compte dans Symfony avec WebAuthn. Cet article explique comment créer un tableau de bord utilisateur pour gérer ses clés d'accès (affichage, révocation), générer des codes de récupération uniques et sécurisés, et intégrer ces fonctionnalités via des événements Symfony et Doctrine. Une solution clé pour éviter les failles liées aux liens magiques par email tout en maintenant une expérience utilisateur fluide. Parfait pour renforcer la sécurité d'une application Symfony !
L'auteur partage son expérience de création d'une application de suivi d'habitudes (SmartHabit Tracker) en partant d'un template Symfony/SvelteKit préconfiguré. Le projet met en avant une approche statistique (algorithme MAD) pour des notifications intelligentes, adaptées aux habitudes réelles des utilisateurs, et une synchronisation en temps réel via Mercure. L'architecture évite Firebase au profit de solutions open source (Web Push, ntfy, APNs), avec une attention particulière portée aux tests (PHPStan, mutation testing) et à la scalabilité. Un exemple concret de l'importance des bonnes pratiques dès la conception.
Découvrez comment l'équipe de Benoit Leveque a intégré leur wiki BookStack à des assistants IA (Claude, Cursor) via un serveur MCP basé sur Symfony (symfony/mcp-bundle). L'enjeu ? Permettre aux IA d'accéder directement à la documentation interne tout en conservant une traçabilité précise des actions (qui a modifié quoi). Leur solution évite l'écueil d'un jeton API partagé (qui fausserait les logs) en faisant transiter les identifiants utilisateurs via des en-têtes HTTP dans la configuration MCP. Un exemple concret de l'intérêt du protocole MCP pour l'intégration sécurisée et contextuelle des outils d'IA.
Découvrez comment transformer une application PHP en un binaire autonome grâce à des outils comme Box (pour créer un fichier .phar) et static-php-cli (pour générer un micro binaire minimaliste). L'auteur explique comment préparer son app pour la production, compiler le PHAR, puis fusionner le micro binaire avec l'archive pour obtenir un exécutable unique, sans dépendance PHP sur la machine cible. Une solution idéale pour simplifier la distribution d'outils CLI comme DTK, un automate de workflow Symfony.
Gérer plusieurs versions d’un projet avec Git peut devenir complexe, surtout quand il faut jongler entre branches ou modifier des fichiers de configuration exclus du suivi. La solution classique (cloner plusieurs fois le dépôt) est peu pratique et gourmande en espace. Cet article explique comment utiliser les arbres de travail (worktrees) pour travailler sur plusieurs branches simultanément à partir d’un seul clone, évitant ainsi la duplication des dépôts. Une méthode efficace pour simplifier le workflow Git, avec des astuces pour basculer facilement entre les dossiers.
Cet article compare deux méthodes pour étendre l'API Kubernetes : les CRD (Custom Resource Definitions) et les APIService. Les CRD permettent de définir des ressources personnalisées directement gérées par Kubernetes (stockage, validation via OpenAPI), tandis que les APIService délèguent la gestion à un serveur HTTP externe via le kube-aggregator. L'auteur explique que dans 90% des cas, les CRD sont la solution la plus simple et recommandée, illustrant la différence avec un exemple concret de création d'une ressource Cafe. Un bon guide pour choisir la bonne approche selon ses besoins ! ☕️
L’article présente image-optimizer, un package PHP open source (via Composer) qui automatise la conversion des images (PNG/JPG) vers des formats modernes (AVIF, WebP) et génère des variantes responsive, réduisant significativement leur poids (jusqu’à 50% pour l’AVIF). Basé sur l’extension Imagick/ImageMagick, il s’intègre facilement dans les workflows Laravel, Symfony ou PHP vanilla. Une configuration simple permet de définir les dossiers sources/destinations, les qualités, les densités (retina) et les largeurs adaptatives. La commande vendor/bin/image-optimizer génère les images optimisées, avec des options comme --folder ou --force. L’article inclut un exemple de balise <picture> pour exploiter ces formats dans le HTML. Un gain de performance clé pour les sites web ! 🚀
Ce package PHP open source, installé via Composer, simplifie l'optimisation des fichiers de polices (TTF → WOFF2) en supprimant les glyphes inutiles et en compressant les fichiers. Idéal pour les projets web, il réduit drastiquement le poids des polices (ex. Roboto passe de 450 Ko à ~18 Ko) tout en conservant les caractères nécessaires. Installation facile avec composer require --dev uxcode-fr/font-optimizer, puis une commande CLI (vendor/bin/font-optimizer) génère les versions optimisées dans /public/fonts/. Configurable via un fichier PHP ou composer.json, il supporte aussi les polices variables et les Unicode personnalisés. Un must pour booster les performances Lighthouse ! 🚀
LiteParse est un outil open-source de parsing de documents (PDF, etc.) optimisé pour la vitesse et la légèreté, offrant un parsing spatial précis avec des boîtes de délimitation, sans dépendre du cloud ni de modèles LLM propriétaires. Il prend en charge plusieurs formats de sortie (JSON, texte), l'OCR intégré (Tesseract.js) ou externe (EasyOCR, PaddleOCR), et génère même des captures d'écran. Disponible en binaire autonome ou via npm, il fonctionne hors ligne sur Linux, macOS et Windows. Idéal pour les pipelines locaux, mais pour des documents complexes (tableaux, scans), LlamaParse (version cloud) est recommandé.
Claude Code Cheat Sheet – Une référence complète pour maîtriser les raccourcis clavier, commandes slash, MCP servers et fonctionnalités avancées de Claude Code (v2.1.84). Découvrez les nouveautés comme la gestion des agents en arrière-plan, la recherche dans les transcripts, ou l’intégration de l’IA via /remote-control. Idéal pour optimiser votre workflow avec des outils comme les hooks, les plans automatisés ou l’édition en temps réel. Parfait pour les développeurs cherchant à exploiter pleinement cet assistant IA local.
🚀 llmfit est un outil en ligne de commande qui analyse votre matériel (RAM, CPU, GPU) pour vous recommander les meilleurs modèles de LLM (Large Language Models) compatibles, en évaluant leur performance selon des critères de qualité, vitesse, adaptation et contexte. Disponible en mode TUI interactif ou CLI classique, il prend en charge les configurations multi-GPU, les architectures MoE, la quantification dynamique et divers backends locaux (Ollama, llama.cpp, MLX, Docker, etc.). Installation simple via Homebrew, Scoop, ou script shell. Idéal pour optimiser l'exécution de modèles IA sur votre machine. 🔗
GitButler est un outil de gestion de modifications Git optimisé pour les workflows de développement modernes, notamment avec l'IA. Il permet de travailler sur plusieurs branches en parallèle ou empilées, offre un "undo" illimité, des intégrations d'agents IA pour automatiser les commits/PR, et une édition simplifiée des commits. Disponible en version desktop (Linux) et CLI, il se distingue par son interface intuitive et ses fonctionnalités collaboratives (intégration GitHub/GitLab, orchestration d'agents IA comme Claude). Les retours utilisateurs soulignent son efficacité pour éviter les maux de tête liés aux branches et aux workflows complexes.
L’article explique que le système de réactivité de Vue 3, basé sur des Proxy ES6, devient un goulot d’étranglement avec de gros volumes de données car il transforme récursivement chaque objet et propriété en élément réactif, ce qui peut créer des centaines de milliers de proxies, bloquer le thread principal et faire exploser l’usage mémoire (par exemple un JSON de quelques Mo pouvant être multiplié en mémoire). Il en résulte des gels du navigateur et des performances dégradées, notamment lors du rendu de grandes listes, et l’article propose d’éviter la réactivité profonde par défaut en adoptant des stratégies comme la réactivité partielle, le stockage non réactif de données volumineuses ou des patterns de chargement et transformation plus ciblés afin de limiter le coût CPU et mémoire.
Dans ce second volet de leur série sur le déploiement On-Premise, JoliCode explique comment automatiser et simplifier la création et la publication des images Docker en production grâce à Castor, un outil de gestion de tâches PHP. L’article détaille une task Castor (production:build) qui vérifie la branche Git, les modifications non commitées, construit les images et les pousse vers un registre privé, tout en gérant les tags de version (format YYYY.MM.DD). L’objectif est de rendre le processus de déploiement plus fluide et autonome pour les clients. Un exemple de code et des explications sur l’intégration avec GitLab CI sont également fournis.
La BD illustre que l’« alternative » aux grandes plateformes numériques ne viendra pas d’un simple remplacement par des acteurs équivalents, mais d’un changement de modèle, en opposant une logique centralisée et marchande (domination des GAFAM, captation des données et dépendance des utilisateurs) à une approche fondée sur les communs numériques, le logiciel libre et la décentralisation, qui redonne du pouvoir aux utilisateurs et privilégie des services conçus pour l’intérêt collectif plutôt que pour la rentabilité
Découvrez 10 astuces méconnues pour optimiser votre utilisation de ChatGPT, comme exploiter les branch conversations pour explorer des sujets sans perdre le fil initial, ou utiliser des prompts précis (ex: "extremely lazy person here") pour obtenir des réponses plus concises. Le mode vocal permet aussi d’enregistrer des mémos ou des réflexions, tandis que la personnalisation des réponses (via les paramètres) affine les résultats selon vos besoins. Un guide pratique pour tirer le meilleur parti de l’IA !
Ce guide complet explique comment installer Home Assistant OS en VM sur Proxmox pour une domotique performante et fiable. L'auteur compare les avantages de Proxmox (ressources ajustables, snapshots, réplication, isolation) face aux limites d'un Raspberry Pi ou d'un Docker classique. Il justifie son choix de HAOS en VM (plutôt qu'en container) pour bénéficier des add-ons natifs, des backups intégrés et des mises à jour supervisées. Les prérequis (Proxmox 7/8, image QCOW2, 4 vCPU/4 Go RAM, ZFS) et les étapes clés sont détaillés, avec une astuce pour automatiser la création via un script. Idéal pour un homelab ou une domotique scalable.
L’auteur partage son expérience de refonte de son homelab après une panne matérielle et une organisation chaotique des conteneurs LXC. Son infrastructure, basée sur un NUC Minisforum MS-01 sous Proxmox et un NAS Synology, hébergeait un LXC monolithique regroupant une trentaine de services Docker (dont des doublons comme SearXNG ou BentoPDF), rendant la maintenance complexe. Après une panne nocturne et une carte mère défectueuse, il a profité de la situation pour réorganiser ses conteneurs en appliquant le principe "un LXC, une responsabilité fonctionnelle", améliorant isolation, lisibilité et maintenabilité. Un retour d’expérience concret pour éviter la dérive des infrastructures.