Réalisations open-source, projets client et explorations personnelles. Chaque projet répond à un besoin concret — performance, automatisation ou expérience utilisateur.
Expérience vidéo immersive type TikTok / Instagram Stories intégrée à WooCommerce. Permet aux e-commerçants de mettre en avant leurs produits via des vidéos plein écran sur mobile, avec lecture YouTube optimisée et navigation swipe.
Lecture vidéo YouTube sans popup, intégrée directement en page produit
Navigation swipe sur mobile, similaire aux Stories Instagram
Zéro dépendance externe côté JS pour optimiser les Core Web Vitals
Outil en ligne de conversion et compression d'images développé pour répondre à un besoin concret : optimiser les assets web sans perte de qualité visible. Conversion WebP, AVIF, redimensionnement et optimisation automatique.
Conversion vers WebP et AVIF pour gains de poids -60 à -80%
Traitement par lot avec interface drag & drop
API REST utilisable en CI/CD ou depuis d'autres outils
Solution sur-mesure de gestion d'avis clients pour WordPress. Collecte, modération et affichage des avis avec schema markup intégré pour améliorer le SEO et le taux de clics dans les SERP.
Balisage Schema.org Review pour les rich snippets Google
Interface d'administration personnalisée dans le back-office WP
Système de modération et validation avant publication
Un seul bouton flottant qui regroupe plusieurs modules d'engagement client : consentement cookies (Google Consent Mode V2), accessibilité numérique, panier sticky et bulles vidéo type Stories Instagram sur les fiches produit. Deux implémentations, WordPress/WooCommerce et PrestaShop, même architecture et même logique de hub.
Bouton flottant unique à 3 états, architecture à registre de modules découplés du noyau
Bannière RGPD + Google Consent Mode V2, logo auto-détecté depuis l'identité du site
Bulles vidéo type Stories Instagram sur les fiches produit (jusqu'à 4 par produit, YouTube ou MP4)
Panier automatique / sticky calé sur le vrai bouton du thème, produits simples et à variations
Même logique de hub reprise sur deux écosystèmes différents, sans dépendance à un module tiers
Plugin WordPress/WooCommerce compagnon de Navi : FAQ sur les articles, pages, produits et catégories de produits, avec regroupement optionnel des questions par thème (affichage en onglets) et schéma FAQPage (JSON-LD) généré côté serveur uniquement là où le contenu est réellement visible.
Couverture articles, pages, produits et catégories de produits (product_cat), extensible via les filtres navi_faq_post_types et navi_faq_taxonomies
Admin partagée entre fiches article/page/produit et écran d'édition de catégorie, ajout/suppression de questions en JS sans rechargement
Regroupement optionnel des questions par thème : accordéon simple si un seul thème (ou aucun), onglets sinon
Shortcodes [navi_faq] (contexte courant) et [navi_faq_all] (FAQ centralisée), affichage automatique sur les pages d'archive de catégorie
Navigation clavier flèches/Home/End entre les onglets de thème, conforme au pattern ARIA Tabs
Plugin WordPress/WooCommerce qui calcule et affiche automatiquement le prix unitaire au 100 ml sur les fiches produit — obligation légale d'affichage du prix à l'unité de mesure en France pour les produits cosmétiques et d'hygiène. Compatible produits simples et variables, champ ACF dédié ou attributs WooCommerce existants.
Calcul et affichage automatique du prix au 100 ml sur produits simples et variables
Lecture du champ ACF product_capacity ou, à défaut, des attributs produit contenant un volume (ex. « 15 ml », « 100 ml »)
Compatible blocs WooCommerce et templates classiques
Traductions dynamiques (FR/EN) et style personnalisable via une feuille CSS dédiée
Automate Python qui publie les avis clients programmés sur Physiomins, sans intervention manuelle. Lit un Google Sheet planning (statut, date), puis pilote Playwright pour remplir et soumettre le formulaire d'avis en simulant une navigation humaine. Outil interne au Groupe NOVI, dépôt privé.
Lecture et filtrage dynamique d'un Google Sheet (avis planifiés, statut TODO, date du jour) via Pandas
Navigation automatisée avec Playwright, un contexte incognito par avis pour éviter les conflits de session
Détection et fermeture automatique des popups bloquants avant soumission du formulaire
Mise à jour du statut (TODO → POSTED) et export CSV local de suivi après chaque exécution
Application mobile e-commerce premium en React Native/TypeScript qui agrège nativement 4 marques du Groupe NOVI (Les Senteurs Gourmandes, Jozz Beauty, Pure Eden, Physiomins) en unifiant les API WooCommerce et PrestaShop dans une seule expérience d'achat. Dépôt privé.
Agrégation native de 4 marques (WooCommerce et PrestaShop) dans une seule application mobile
Parsing bi-moteur : lecture simultanée des API REST WooCommerce et PrestaShop
Recherche prédictive dynamique avec suggestions tendances dès 2 caractères
Paiement natif via Stripe Payment Intents, panier et authentification persistés avec Zustand
React NativeTSZustandStripeWooCommerce APIPrestaShop API
Extension Chrome interne qui affiche instantanément la fiche complète d'un produit (marque, type, contenance, description, image) depuis l'outil de gestion des dotations, sans appel API à chaque consultation. Une base products.json, générée une fois par trimestre via recherche web (API Anthropic), est distribuée à toute l'équipe. Dépôt privé.
Base produits statique générée une fois via l'API Anthropic (recherche web), distribuée sans clé API individuelle
Fiche produit affichée instantanément au double-clic, zéro appel réseau à l'usage
Reprise automatique à la régénération : seuls les nouveaux codes produits du catalogue sont traités
Script de génération idempotent, relançable sans risque sur un catalogue mis à jour
Monitoring automatisé quotidien du tunnel de commande invité de lessenteursgourmandes.fr (point relais Colissimo et livraison à domicile), via Playwright et GitHub Actions. S'arrête volontairement avant la saisie de carte bancaire — le compte marchand n'a pas de mode test — et annule automatiquement chaque commande de test créée. Dépôt privé.
Deux scénarios quotidiens (point relais Colissimo, domicile) exécutés du lundi au vendredi via cron GitHub Actions
Reconnaissance en lecture seule du checkout WooCommerce Blocks avant conception des sélecteurs, pour fiabiliser le monitoring
Arrêt volontaire à la redirection vers la passerelle de paiement — aucune carte bancaire n'est jamais saisie par le script
Nettoyage automatique : chaque commande de test est retrouvée et annulée via l'API REST WooCommerce
Email de statut à chaque run (succès/échec), rapport Playwright complet en artefact
Projet de fin de Bachelor à Bordeaux (NexaDigitalClassroom) : système de réservation complet pour une location saisonnière, en trois dépôts — API REST Node.js/Express/MongoDB, dashboard admin Next.js 15/TypeScript et application mobile iOS native en Swift/SwiftUI. Dépôts privés, API et dashboard admin déployés en production sur Vercel.
Site web professionnel développé de A à Z pour Anne Viau, psychologue clinicienne et formatrice accréditée PSSM France. Plateforme complète pour un organisme de formation certifié Qualiopi spécialisé en santé mentale et prévention des RPS.
Catalogue de 7 formations avec pages détaillées, filtres et schémas JSON-LD Course
Intégration Google Places API pour les avis en temps réel et Resend pour les emails
SEO technique complet : sitemap dynamique, Schema.org Organization / LocalBusiness / Person
Accessibilité WCAG 2.1 AA : ARIA landmarks, navigation clavier, contraste ≥ 4.5:1, tap targets ≥ 44px
Blog Markdown avec table des matières automatique, temps de lecture et breadcrumbs
Next 16TSTWFramerResendPlaces APIVercelSchema.org / JSON-LD
Portfolio personnel conçu et développé from scratch avec Next.js 15 et Tailwind CSS v4. Déploiement continu via Vercel, contenu markdown dynamique, formulaire de contact avec Resend et thème sombre/clair.
CI/CD automatique via GitHub + Vercel
Rendu markdown pour les articles de blog, avec table des matières et temps de lecture
Formulaire de contact avec confirmation email via Resend