Tutoriels & Articles
Retrouvez mes derniers articles sur le développement web, Laravel, WordPress et Craft CMS.
Installer Craft CMS 6 alpha avec DDEV, PHP 8.5 et Laravel
J'ai testé l'installation de Craft CMS 6 alpha avec DDEV, en suivant la nouvelle direction Laravel du CMS. Voici mon retour d'expérience, les points à surveiller et ce que cette évolution m'inspire.
Comment j'ai transformé Invoice Ninja en plateforme complète de relation client
Retour d'expérience sur la construction de modules métier autour d'Invoice Ninja: maintenance applicative, portail client, WebSockets, React, Laravel et stratégie de mise à jour.
ACF Pro vs Modern Fields pour un site WordPress client en 2026
Comparez ACF Pro et Modern Fields pour choisir le bon outil de champs personnalisés selon le projet WordPress, Gutenberg, FSE et la maintenance.
Structurer une application métier Laravel Inertia autour de dossiers et statuts
Concevez une application métier Laravel et Inertia avec dossiers, statuts, validations, actions, journal d'activité et recherche exploitable.
Auditer un site WordPress client côté sécurité, performance et SEO
Checklist d'audit WordPress pour reprendre un site client: extensions, thème, sécurité, performance, SEO, sauvegardes et plan de maintenance.
Construire un backoffice e-commerce Laravel Filament pour suivre stock et commandes
Créez un tableau de bord Filament simple pour piloter une boutique Laravel: commandes, chiffre d'affaires, alertes de stock et actions rapides.
Créer une page service Laravel à Lille utile pour le SEO et la conversion
Structurez une page service locale pour cibler Laravel à Lille sans contenu dupliqué: intention, preuves, maillage, CTA et signaux de confiance.
Reprendre un projet Laravel existant avec une checklist technique fiable
Méthode de reprise Laravel: audit rapide, dépendances, migrations, logs, queues, sécurité, tests et plan d'action pour stabiliser sans tout réécrire.
Créer des pages SEO locales propres avec sitemap et maillage interne
Structurez des pages locales utiles pour cibler une ville et un service sans tomber dans le contenu dupliqué ou artificiel.
Créer un CPT WordPress pour des réalisations avec ACF et SEO propre
Créez un type de contenu WordPress pour présenter des réalisations client: champs ACF, archive, template détail, maillage interne et SEO propre.
Créer un espace presse WordPress propre avec CPT, ACF et templates maintenables
Structurez un espace presse WordPress avec type de contenu dédié, champs ACF, templates clairs, SEO et maintenance sans dépendance fragile.
Rotation d'IP Failover sur Linux : Le Guide Production
Configurez des IPs failover Linux pour piloter le trafic sortant: routage, règles réseau et pièges de production.
Webhooks idempotents dans Laravel avec verrous Redis (tutoriel pratique)
Construisez un webhook Laravel idempotent avec signature, déduplication, verrous Redis et traitement en file.
Construire un endpoint JSON sur mesure dans Craft CMS (sans plugin)
Exposez un endpoint JSON performant dans Craft CMS sans plugin: filtres, pagination, CORS, ETag et cache HTTP.
Audit Eloquent minimal avec Observers et JSON
Mettez en place un audit Eloquent sans package: observers, table dédiée, contexte utilisateur et masquage des données sensibles.
Construire un système de filtres/tri d’API réutilisable dans Laravel (sans package)
Construisez un système réutilisable pour filtrer et trier une API Laravel avec Eloquent, relations, dates et pagination.
Générer des factures PDF en masse avec FilamentPHP via une Bulk Action asynchrone
Ajoutez une bulk action Filament pour générer des factures PDF en arrière-plan avec jobs, batchs et notifications.
Gérer une relation Many-to-Many avec métadonnées dans FilamentPHP
Gérez une relation many-to-many avec champs de pivot dans Filament: attach, detach, édition, tri et filtres.
Outbox transactionnelle Laravel: publier des événements externes sans perte
Implémentez une outbox transactionnelle Laravel pour publier des événements externes sans pertes ni doublons.
Webhooks entrants robustes avec Laravel: HMAC, idempotence et jobs
Recevez des webhooks Laravel robustes avec signature HMAC, idempotence en base et traitement asynchrone par jobs.
Bâtir un circuit breaker léger pour l’HTTP Client Laravel (Cache + RateLimiter)
Apprends à protéger tes appels externes avec un circuit breaker pour Laravel HTTP Client: Cache, RateLimiter, verrous atomiques et tests inclus.
Bloc Gutenberg dynamique sans build: un indicateur d’état de service rendu côté serveur
Apprenez à créer un bloc Gutenberg WordPress SSR sans build: interroger un endpoint JSON, cache PHP minimal, éditeur réactif via ServerSideRender
Chiffrement transparent d’attributs Eloquent avec un Custom Cast
Chiffrement Eloquent Laravel: cast personnalisé pour crypter/décrypter téléphone et IBAN, sans toucher à la logique métier, recherche via hash auxiliaire
Construire une directive v-longpress robuste et accessible en Vue 3
Directive v-longpress Vue 3 : implémentez un long press fiable avec pointer et clavier, modificateurs, durée, tolérance et nettoyage. Guide pas à pas.
Disjoncteur et limite de concurrence pour Http::client() dans Laravel (circuit breaker + bulkhead)
Implémentez un circuit breaker et un bulkhead (limite de concurrence) sur Laravel Http::client(), sans package, pour stabiliser vos appels API tiers.
Endpoint webhook robuste avec Laravel: signature HMAC, idempotence et traitement asynchrone
Créez un webhook Laravel sécurisé: signature HMAC, idempotence stricte et traitement asynchrone via jobs. Guide complet de la route au déploiement.
Endpoints idempotents en Laravel: clés d’idempotence, verrous et réponses rejouées
Guide endpoints HTTP idempotents Laravel: clé d’idempotence, hash de requête, verrou cache, réponses rejouées. Prêt à coder paiements, commandes, webhooks.
Éviter les écrasements concurrents avec l’optimistic locking Eloquent
Implémente l’optimistic locking Eloquent (verrou optimiste) pour éviter les mises à jour concurrentes. Trait réutilisable, gestion du 409, retry et tests.
FilamentPHP : Bulk Action asynchrone avec barre de progression (export CSV)
Export CSV asynchrone FilamentPHP avec progression en temps réel. Action de masse avec Livewire, queue Laravel et notification de téléchargement.
Générer des images Open Graph dynamiques via un endpoint REST WordPress (avec cache disque et invalidation)
Créez des images Open Graph dynamiques pour WordPress via un endpoint REST, avec cache disque, invalidation automatique et fallback GD/Imagick. Tutoriel.
Importer un CSV robuste dans Filament: mapping, prévisualisation, validation et import asynchrone
Import CSV Filament clé en main: mapping des colonnes, prévisualisation validée et import asynchrone en file d’attente. Un flux scalable, sûr et UX-friendly.
Paginer des gros volumes sans OFFSET: keyset pagination avec Laravel cursorPaginate
Optimisez la pagination Laravel avec cursorPaginate: keyset sans OFFSET, tri déterministe, index composite et liens next/prev. Tutoriel rapide.
Recevoir des webhooks de façon robuste avec Laravel: HMAC, idempotence, retries
Webhooks Laravel sécurisés: HMAC, idempotence, déduplication, queue et backoff. Traitez chaque événement sans doublon, rapidement et en toute sécurité.
Rendre un bloc Gutenberg dynamique avec Timber/Twig (SSR + cache)
Créez un bloc Gutenberg dynamique sous WordPress avec Timber/Twig en SSR. Guide complet: block.json, render_callback, médias, et cache performant.
Uploads directs vers S3 avec URLs signées dans Laravel (PUT + vérification serveur)
Uploads S3 directs avec URLs signées dans Laravel (PUT) : génère l’URL, upload navigateur, vérifie côté serveur avant persistance. Rapide et sécurisé.
Webhooks idempotents dans Laravel: signature HMAC, horodatage et verrous atomiques
Apprenez à sécuriser des webhooks idempotents Laravel: signature HMAC, horodatage, verrou Redis et Job en file. Tests Pest pour éviter les doublons.