Référentiel fonctionnel FroggShop

Toutes les fonctionnalités FroggShop, rangées par socle

Cette page sert de référentiel commercial et technique : elle détaille les briques FroggShop disponibles, leur objectif, leur fonctionnement et les évolutions prévues dans la roadmap.

Socle, architecture et configuration

Les fondations techniques qui rendent FroggShop composable, maintenable et exploitable sur plusieurs projets. 7 fonctionnalités dans ce socle.

Socle modulaire FroggShop

Objectif : Fournir un plugin Shopware reutilisable et multi-clients.

FroggShop est organise en bundles internes autonomes, chacun avec ses services, routes, configurations, entites et documentation. Cette architecture permet de composer des fonctionnalites e-commerce sans hardcoder de logique client.

Fonctionnement

Le plugin principal charge des bundles additionnels via Shopware. Chaque bundle enregistre ses services, routes, migrations et configurations, puis expose ses fonctionnalites de maniere isolee.

Configuration centralisee des bundles

Objectif : Administrer les reglages FroggShop depuis le back-office Shopware.

Le bundle Bootstrap regroupe les configurations XML de chaque bundle dans une interface d'administration dediee. Les fonctionnalites peuvent etre activees, parametrees et exposees par bundle.

Fonctionnement

Chaque bundle contribue ses fichiers de configuration via un evenement. Le controller d'administration agrege ces donnees et les presente dans une zone FroggShop unique.

Helpers de migration

Objectif : Fiabiliser les operations d'installation et d'evolution de donnees.

FroggShop fournit des traits de migration pour gerer les system configs, CMS, state machines, custom fields et shipping methods. Ils standardisent les changements de donnees recurrents.

Fonctionnement

Les migrations appellent des helpers idempotents pour inserer ou mettre a jour des donnees Shopware sans dupliquer les enregistrements ni casser les environnements existants.

Commandes de maintenance Bootstrap

Objectif : Outiller les operations techniques recurrentes.

Des commandes permettent de maintenir les custom fields, creer des pages CMS de reference ou diagnostiquer l'environnement d'execution.

Fonctionnement

Les commandes console s'executent via Symfony/Shopware et appellent les repositories ou services FroggShop pour appliquer des actions controlees.

Documentation integree

Objectif : Centraliser les guides fonctionnels et techniques.

La documentation MkDocs couvre les bundles, les guides de developpement, les commandes utiles, les standards et les procedures de test.

Fonctionnement

Les pages Markdown sont organisees par bundle et publiees via MkDocs pour servir de reference aux developpeurs, QA et redacteurs.

Theme FroggShop

Objectif : Fournir une base storefront reutilisable.

Le bundle Theme apporte templates Twig, variables, extensions, decorations CMS et configuration d'affichage pour construire un theme Shopware coherent.

Fonctionnement

Le theme surcharge ou etend les templates Shopware, expose des variables globales et s'appuie sur la configuration theme pour adapter le rendu.

Outils transverses

Objectif : Fournir des helpers reutilisables.

FroggShop inclut des outils de logging structure, stockage de logs, chaines de loggers et helpers de dates.

Fonctionnement

Ces classes utilitaires sont injectables par les bundles pour eviter de dupliquer les mecanismes de log, stockage ou manipulation de dates.

Contenu, CMS headless et éditorial

Les briques qui donnent de l’autonomie aux équipes contenu et marketing sans sacrifier la performance. 10 fonctionnalités dans ce socle.

Blog editorial

Objectif : Publier et organiser des contenus blog dans Shopware.

Le blog gere les listings, categories, auteurs, pages detail, redirections legacy, SEO URLs, pagination, metadonnees et sitemap. Il peut etre alimente par Storyblok ou par import legacy.

Fonctionnement

Des entites blog stockent les contenus. Les controllers storefront et page loaders construisent les pages, tandis que les commandes importent ou reconstruisent les donnees SEO.

Integration Storyblok

Objectif : Connecter Shopware a un CMS headless.

FroggShop gere le rendu de pages Storyblok, la preview, les webhooks de cache, la synchronisation de contenus et les commandes de dump/restore de structure.

Fonctionnement

Les controllers appellent les services Storyblok, recuperent les stories, les transforment en rendu storefront et invalident le cache lors des webhooks ou synchronisations.

Synchronisation de structure Storyblok

Objectif : Maintenir les schemas CMS entre environnements.

Les composants Storyblok peuvent etre exportes, versionnes et restaures pour synchroniser DEV, PREPROD ou autres espaces.

Fonctionnement

Des commandes lisent la structure des composants Storyblok, l'ecrivent dans des fichiers versionnes puis peuvent la restaurer dans un autre espace cible.

Content Renderer headless

Objectif : Inserer du contenu CMS headless dans le storefront.

Le renderer permet d'injecter des contenus Storyblok ou modules CMS dans les templates, avec prise en charge Twig, modules dedies et rendu compatible cache.

Fonctionnement

FroggShop decore le renderer CMS, resout les modules headless, prepare les variables Twig et retourne du HTML exploitable dans les pages Shopware.

Shortcodes editoriaux

Objectif : Enrichir dynamiquement des contenus texte ou CMS.

Les shortcodes permettent de transformer des marqueurs editoriaux en rendus HTML ou composants, utilisables notamment dans le blog et les surfaces CMS globales.

Fonctionnement

Un expander detecte les tokens dans le contenu, delegue chaque shortcode a un handler dedie puis remplace le marqueur par le rendu final.

Header et footer dynamiques

Objectif : Piloter les zones globales du site via CMS.

Les en-tetes et pieds de page peuvent etre rendus depuis Storyblok avec strategies de cache HTML ou ESI pour conserver de bonnes performances.

Fonctionnement

Des pagelets recuperent les contenus globaux, les rendent via Storyblok et les exposent en HTML direct ou en fragment ESI selon la configuration.

Formulaires CMS generiques

Objectif : Transformer des formulaires Storyblok en interactions Shopware.

Les formulaires generiques gerent validation, captcha, rate limit, token, cache et emission d'evenements Flow Builder. Ils permettent de creer des formulaires sans developpement specifique.

Fonctionnement

Le controller recoit la soumission, recharge la definition du formulaire, valide les champs et securites, puis dispatch un evenement Flow avec les donnees nettoyees.

Robots.txt pilote

Objectif : Administrer le contenu robots.txt.

FroggShop expose une route robots.txt configurable, avec rendu dedie et possibilite de gerer les restrictions selon le contexte, notamment les domaines d'administration.

Fonctionnement

La route `/robots.txt` appelle un renderer qui assemble le contenu selon la configuration active et le contexte de domaine.

Analytics et tag management

Objectif : Configurer les scripts de mesure et marketing.

Des configurations dediees permettent d'integrer Google Analytics, Google Tag Manager ou des tags marketing depuis l'administration.

Fonctionnement

Les valeurs configurees sont lues par le storefront ou les templates pour injecter les identifiants et scripts uniquement quand ils sont actifs.

SEO editorial

Objectif : Gerer les metadonnees et donnees SEO.

FroggShop ajoute des entites et services pour gerer les donnees SEO, nettoyer les metadonnees et produire des URLs optimises pour les contenus editoriaux.

Fonctionnement

Les contenus editoriaux sont enrichis avec titres, descriptions, aliases et routes SEO. Des commandes peuvent nettoyer ou regenerer les metadonnees.

SEO catalogue, recherche et navigation

Les fonctionnalités dédiées aux catalogues complexes, aux listings indexables et aux migrations SEO. 7 fonctionnalités dans ce socle.

Recherche enrichie

Objectif : Ameliorer les suggestions de recherche Shopware.

FroggShop decore la route de suggestion produit pour ajouter produits, categories, fabricants et suggestions textuelles. Le systeme est extensible via evenements et OpenSearch.

Fonctionnement

La route native est decoree, les criteres sont enrichis, les resultats sont combines puis retournes dans un format compatible storefront.

Analyse de pertinence recherche

Objectif : Evaluer la qualite des resultats de recherche.

Des routes d'analyse permettent d'enregistrer des jugements, mesurer la pertinence et aider au reglage des resultats de recherche.

Fonctionnement

Un controller expose une interface d'analyse, sauvegarde les jugements et calcule des indicateurs de qualite sur les resultats observes.

Pages fabricant

Objectif : Creer des pages dediees aux marques ou fabricants.

FroggShop ajoute des routes storefront, loaders, extensions d'entite fabricant et SEO URLs pour exposer les pages fabricant comme pages de navigation.

Fonctionnement

Une route resout le fabricant par slug, charge les produits associes et applique les templates SEO pour produire une page indexable.

CatalogPage

Objectif : Unifier les pages de listing catalogue.

CatalogPage modelise des pages de listing categories ou fabricants, avec statut, SEO URL, sitemap, recomputation et taches planifiees.

Fonctionnement

Une entite dediee decrit la page, ses criteres et son statut. Des services recalculent sa validite, ses URLs et sa presence dans le sitemap.

Permalinks catalogue

Objectif : Administrer des pages de listing filtrees et SEO.

Les permalinks representent des listings construits a partir de filtres, visibles par sales channel, exposables en storefront et via Store API.

Fonctionnement

L'admin cree un permalink depuis une URL ou des filtres. FroggShop parse les parametres, genere une page CatalogPage associee et expose la route publique.

Redirections legacy

Objectif : Importer et resoudre des anciennes URLs.

FroggShop permet d'ajouter ou importer des redirections, avec resolution cachee pour accompagner les migrations SEO.

Fonctionnement

Les commandes alimentent une entite redirect depuis saisie ou CSV. Un resolver retrouve la cible et applique la redirection lors des requetes.

Templates SEO de navigation

Objectif : Installer les modeles SEO necessaires aux pages catalogue.

Des commandes configurent les templates SEO pour fabricants, catalog pages et autres routes de navigation.

Fonctionnement

La commande d'installation cree ou met a jour les templates SEO URL Shopware pour les routes FroggShop concernees.

Produit, catalogue et règles commerce

Les mécanismes métier qui enrichissent les produits, les paniers, les variantes, les taxes et la disponibilité commerciale. 10 fonctionnalités dans ce socle.

Personnalisation d'affichage produit

Objectif : Ajouter des informations produit configurees.

DisplayCustomization permet de definir des informations affichees sur les produits via configuration JSON et de les propager jusqu'au panier.

Fonctionnement

La configuration JSON est interpretee par un service, appliquee aux produits concernes et ajoutee aux line items via cart processor.

Disponibilite produit

Objectif : Calculer la disponibilite commerciale du catalogue.

Le bundle Product fournit une entite de disponibilite, des commandes de calcul, une scheduled task et des triggers pour maintenir l'information a jour.

Fonctionnement

Les commandes ou scheduled tasks recalculent la disponibilite a partir des donnees produit/stock/regles, puis stockent le resultat dans une entite dediee.

Informations logistiques produit

Objectif : Gerer des donnees logistiques et SKU secondaires.

Une entite dediee stocke les informations logistiques produit, exposees via Admin API, avec gestion du versioning et synchronisation Alfred.

Fonctionnement

L'information est attachee au produit via extension DAL. Les APIs admin lisent/ecrivent l'entite en respectant la version produit Shopware.

Restrictions d'affichage produit

Objectif : Restreindre la visibilite produit selon des regles.

Les restrictions s'appuient sur le Rule Builder, les criteres DAL, le cache de decision, l'indexation OpenSearch et les listeners storefront.

Fonctionnement

Des subscribers ajoutent des filtres aux criteres produit, un service decide l'acces selon les regles et les index sont enrichis pour filtrer aussi la recherche.

Gestion du stock produit

Objectif : Adapter les comportements de stock lies aux commandes.

FroggShop decore et complete les mecanismes Shopware pour tenir compte d'etats de commande ou de regles metier specifiques.

Fonctionnement

Des subscribers surveillent les transitions de commande et des decorations ajustent les operations de stock au moment opportun.

Combinaison de variantes

Objectif : Generer des variantes produit depuis l'administration.

Une route Admin API et un service dedie permettent de combiner des variantes a partir d'un produit parent.

Fonctionnement

L'API recoit le produit parent, calcule les combinaisons d'options et delegue la creation ou mise a jour des variantes au service metier.

Badges produits

Objectif : Afficher des badges promotionnels ou informatifs.

Des custom fields et services permettent d'associer des badges produits, y compris en plusieurs parties.

Fonctionnement

Les migrations ajoutent les champs, puis le service lit les valeurs produit pour fournir les badges aux templates ou integrations.

Packs produits

Objectif : Composer des produits sous forme de packs.

Le bundle Pack gere les relations entre packs et produits inclus, la visibilite, le calcul de stock consolide et la decoration du stockage de stock.

Fonctionnement

Les entites Pack relient le produit pack a ses composants. Le stock du pack est calcule depuis les stocks disponibles des produits inclus.

Taxes additionnelles

Objectif : Ajouter des taxes supplementaires aux produits et paniers.

Des entites DAL lient des taxes additionnelles aux produits, puis les services de prix les appliquent dans le calcul produit et panier.

Fonctionnement

Le calculateur de prix est decore pour ajouter les taxes configurees. Le panier est ensuite enrichi avec les montants additionnels applicables.

Precommande et panier

Objectif : Adapter les comportements panier pour les precommandes.

Des subscribers et configurations permettent de moduler les prix ou regles panier selon les cas de precommande.

Fonctionnement

Les subscribers inspectent les line items et le contexte panier, puis appliquent les ajustements configures avant le recalcul du panier.

Omnicanal, livraison et checkout

Les briques terrain pour connecter magasins, stocks locaux, points relais, adresses et parcours de commande. 12 fonctionnalités dans ce socle.

Store locator

Objectif : Exposer un annuaire de magasins.

Le bundle Store gere les entites magasin, pages listing, pages detail, recherche AJAX, SEO URLs et integrations storefront.

Fonctionnement

Les magasins sont stockes en DAL, charges par des controllers storefront et exposes via pages indexables ou endpoints de recherche.

Stock magasin

Objectif : Afficher les stocks disponibles par magasin.

FroggShop ajoute une entite stock magasin, une Store API, des routes storefront produit/checkout et des services de disponibilite locale.

Fonctionnement

Les stocks par produit/magasin sont lus via repository et exposes au storefront pour afficher disponibilite locale et options checkout.

Magasin favori

Objectif : Permettre au client de choisir un magasin de reference.

Le client peut selectionner un magasin favori, le retrouver au login et l'utiliser dans les parcours storefront.

Fonctionnement

Une relation client-magasin est persistee. Des routes permettent de la creer, la lire ou la modifier, et un subscriber la recharge au login.

Retrait magasin

Objectif : Gerer le retrait magasin pendant le checkout.

Les services de checkout verifient la disponibilite en magasin et accompagnent les parcours de retrait local.

Fonctionnement

Le checkout interroge les services Store pour verifier les stocks et proposer les magasins compatibles avec le panier.

Points relais

Objectif : Proposer la selection de relais transporteur au checkout.

Le bundle RelayPoint integre Chronopost, Colissimo et Mondial Relay, avec cache, selection panier/commande, APIs transporteur et resilience par connecteur.

Fonctionnement

Les controllers et routes Store API recherchent les relais, les connecteurs interrogent les APIs transporteur, puis le choix est sauvegarde sur le panier ou la commande.

Geolocalisation relais

Objectif : Faciliter la recherche de points relais proches.

Des routes transforment coordonnees et codes postaux pour alimenter la recherche de relais.

Fonctionnement

Les endpoints convertissent code postal en coordonnees ou coordonnees en code postal, puis ces donnees servent aux recherches transporteur.

Monitoring points relais

Objectif : Surveiller les APIs des transporteurs.

Une probe dediee s'integre au healthcheck pour detecter les problemes de disponibilite des services relais.

Fonctionnement

La probe execute des controles simples sur les connecteurs ou endpoints transporteurs et remonte un statut au healthcheck global.

Autocomplete adresse

Objectif : Aider la saisie d'adresse client.

FroggShop connecte des services comme Google Places ou adresse.data.gouv.fr pour proposer une autocompletion d'adresse.

Fonctionnement

Le controller recoit la saisie utilisateur, interroge le provider configure et renvoie des suggestions normalisees au formulaire storefront.

Validation adresse et compte

Objectif : Adapter les contraintes de compte client.

Des subscribers et configs gerent des exigences comme les champs societe, la validation adresse ou certains comportements de compte.

Fonctionnement

Les subscribers enrichissent ou modifient les contraintes de validation Shopware selon la configuration active et le contexte client.

Referentiel codes postaux

Objectif : Importer les villes et codes postaux francais.

Des entites, une commande et des messages asynchrones permettent de maintenir un referentiel postal exploitable par les formulaires.

Fonctionnement

La commande lance l'import, les messages traitent les donnees en arriere-plan et les entites postal city/zip code sont alimentees.

Redirection checkout login

Objectif : Simplifier le parcours de connexion checkout.

FroggShop peut rediriger la page de login checkout vers le parcours d'inscription ou de connexion adapte.

Fonctionnement

Un controller intercepte la route concernee et retourne une redirection vers l'etape checkout souhaitee.

Adresse de livraison panier

Objectif : Persister ou adapter l'adresse de livraison au checkout.

Le bundle Delivery decore les controllers adresse, gere des routes panier et intervient au confirm checkout.

Fonctionnement

Les controllers sauvegardent le choix d'adresse dans le panier ou le contexte, puis le subscriber le reapplique lors de la confirmation.

Compte client, avis, confidentialité et support

Les fonctionnalités qui structurent l’espace client, les avis, le consentement et les opérations support. 9 fonctionnalités dans ce socle.

Decoration des formulaires client

Objectif : Adapter les formulaires natifs Shopware.

Les formulaires contact/newsletter peuvent etre ajustes via decoration de controller.

Fonctionnement

FroggShop decore le controller natif, execute sa logique ou la complete, puis retourne une reponse compatible avec Shopware.

Commandes client enrichies

Objectif : Presenter les commandes avec livraisons structurees.

Le bundle Customer enrichit la route des commandes, les extensions order et line item, et reconstruit les livraisons pour l'espace client.

Fonctionnement

La route `OrderRoute` est decoree. Les commandes chargees sont completees par un builder qui organise livraisons, line items et donnees additionnelles.

Avis multi-providers

Objectif : Centraliser des avis provenant de plusieurs sources.

FroggShop stocke des avis generiques, sources produit et agregats, avec un service CRUD unifie et des providers extensibles.

Fonctionnement

Les providers importent ou exposent leurs avis via une interface commune. Le service central normalise les donnees et maintient les agregats.

Affichage des avis generiques

Objectif : Afficher des avis rattaches a une entite.

Une route permet de lister et filtrer les avis d'une entite donnee, pas seulement les produits natifs Shopware.

Fonctionnement

Le controller charge les avis par type et identifiant d'entite, applique les filtres puis retourne un rendu ou une reponse exploitable.

Maintenance des avis

Objectif : Nettoyer ou generer des donnees d'avis.

Des commandes facilitent le nettoyage des avis ou la creation de volumes de test.

Fonctionnement

Les commandes manipulent les repositories d'avis pour supprimer les donnees ciblees ou inserer des fixtures de test.

Integration Avis Garantis

Objectif : Brancher un fournisseur d'avis externe.

Une configuration dediee et des providers permettent d'integrer Avis Garantis dans le systeme multi-providers.

Fonctionnement

Le provider lit la configuration Avis Garantis, recupere ou transforme les avis puis les injecte dans le modele generique FroggShop.

Consentement cookies

Objectif : Ajouter des cookies et groupes personnalises.

Le bundle Privacy decore le provider de cookies Shopware et expose les cookies personnalises au consent manager.

Fonctionnement

Le provider natif est decore pour ajouter les cookies configures avant affichage de la modale ou lecture des preferences.

Journalisation du consentement

Objectif : Tracer les choix de consentement utilisateur.

Une route POST enregistre les consentements, en identifiant client connecte ou visiteur anonyme.

Fonctionnement

Le controller recoit l'etat du consentement, ajoute les informations de contexte et ecrit un log dedie pour audit ou diagnostic.

Impersonation support client

Objectif : Permettre au support de se connecter comme un client.

Le bundle CustomerService genere et verifie des tokens temporaires pour ouvrir une session client controlee, avec evenements d'audit.

Fonctionnement

Un endpoint genere un token via master token. Un second endpoint valide ce token, connecte le client cible et trace l'action.

Emails, OAuth et authentification

Les outils de connexion, d’association de compte et de maintenance des emails transactionnels. 9 fonctionnalités dans ce socle.

Import/export de mails

Objectif : Versionner et reimporter les templates d'emails.

MailUtils fournit des commandes de dump et injection de templates mails, headers et footers.

Fonctionnement

Les commandes lisent les templates depuis la base ou les fichiers, puis les exportent ou reinjectent selon l'operation demandee.

Preview et dump mails

Objectif : Faciliter les tests emails.

Des services et commandes activent le dump de mails, gerent les chemins et facilitent la verification des templates.

Fonctionnement

Le mode dump redirige ou stocke les emails generes pour permettre leur inspection sans envoi reel aux destinataires.

Logs mails

Objectif : Journaliser les emails envoyes.

Des subscribers capturent les transformations/envois mails pour faciliter le diagnostic.

Fonctionnement

Le subscriber ecoute les evenements mail, extrait sujet, destinataires et contexte, puis ecrit les informations dans le canal de log dedie.

FroggOAuth / FroggAuth

Objectif : Ajouter l'authentification sociale a l'ecosysteme FroggShop.

Le plugin FroggOAuth gere la connexion OAuth dans Shopware, avec des services externes configurables comme Google et Apple. Il fait partie des plugins installes dans l'environnement de test FroggShop.

Fonctionnement

Chaque fournisseur OAuth dispose de sa configuration et d'un service dedie. Le controller OAuth orchestre la redirection, le retour fournisseur, l'association au client Shopware et la creation des donnees OAuth rattachees au compte.

Connexion Google OAuth

Objectif : Permettre aux clients de se connecter avec leur compte Google.

FroggOAuth integre Google via `google/apiclient`, avec configuration des identifiants, redirect URLs et utilisateurs de test pendant la phase de validation.

Fonctionnement

Le service Google OAuth valide le retour fournisseur, recupere l'identite externe, puis cree ou associe le client Shopware via l'entite de liaison OAuth.

Connexion Apple OAuth

Objectif : Permettre aux clients de se connecter avec leur identifiant Apple.

FroggOAuth integre Apple avec gestion des cles publiques, validation des tokens et configuration dediee par service.

Fonctionnement

Le service Apple recupere les cles Apple, verifie le token d'identite, extrait les donnees utiles et les associe au compte Shopware comme les autres providers OAuth.

Association compte OAuth

Objectif : Lier durablement un compte externe a un client Shopware.

FroggOAuth ajoute une entite `customer_oauth_data` et une extension client pour conserver les associations entre comptes Shopware et identites OAuth externes.

Fonctionnement

Lors d'une connexion OAuth, le plugin recherche une association existante ou en cree une nouvelle. Des events permettent de personnaliser l'association et les traitements post-login.

Password placeholder OAuth

Objectif : Gerer les comptes crees via OAuth sans mot de passe classique.

FroggOAuth adapte le parcours d'inscription pour les clients OAuth et expose un evenement dedie aux placeholders de mot de passe.

Fonctionnement

La route d'inscription Shopware est decoree afin d'autoriser ou completer les informations requises pour un compte OAuth sans mot de passe saisi par l'utilisateur.

Extension Twig OAuth

Objectif : Faciliter l'integration front des boutons de connexion sociale.

FroggOAuth expose des helpers Twig pour afficher les entrees OAuth dans les templates storefront.

Fonctionnement

Les templates utilisent l'extension Twig pour recuperer les providers actifs, construire les URLs de connexion et afficher les boutons adaptes au theme.

Paiement Cawl

Les fonctionnalités liées au paiement carte, à la tokenisation, au 3DS, aux webhooks et au diagnostic. 7 fonctionnalités dans ce socle.

Cawl Payment

Objectif : Integrer le paiement carte Cawl dans le checkout Shopware.

Le plugin Cawl ajoute une methode de paiement avec widget securise iframe, tokenisation, authentification 3DS, webhooks et logs avances.

Fonctionnement

Au checkout, Cawl cree une session de tokenisation, affiche le widget carte, valide le token cote serveur, cree le paiement puis finalise la transaction selon le retour API ou webhook.

Widget carte Cawl

Objectif : Saisir les donnees carte dans une iframe securisee.

Le widget Cawl est initialise sur les pages contenant les methodes de paiement, notamment `/checkout/confirm`, et injecte les informations de tokenisation dans la page.

Fonctionnement

Un subscriber charge une session `hostedTokenization`, ajoute une extension a la page Shopware et le JavaScript initialise le tokenizer Cawl dans le conteneur du template.

Paiement Cawl avec 3DS

Objectif : Gerer les flux frictionless et les redirections 3DS.

Cawl traite les paiements avec verification du token, donnees navigateur, creation de paiement, redirection 3DS si necessaire et finalisation sur retour client.

Fonctionnement

Le `CawlCardHandler` valide le token, cree la commande, appelle l'API Cawl, redirige vers le 3DS si requis puis finalise la transaction a partir du statut de paiement.

Webhooks Cawl

Objectif : Recevoir les notifications temps reel de paiement.

Le plugin expose `/checkout/cawl/webhook` pour traiter `payment.pending_capture`, `payment.captured`, `payment.capture_requested`, `payment.failed` et `payment.cancelled`.

Fonctionnement

Le controller valide la signature HMAC, transmet l'evenement au handler, retrouve le payment token, capture automatiquement si le montant est correct et applique les transitions de transaction Shopware.

Historique et tokens de paiement Cawl

Objectif : Suivre les paiements et les identifiants d'autorisation/capture.

Cawl ajoute une entite de payment token pour conserver les informations necessaires au rapprochement entre webhooks Cawl et transactions Shopware.

Fonctionnement

Les tokens stockent les identifiants de tokenisation, autorisation, capture et transaction. Les webhooks les relisent pour appliquer les changements d'etat au bon paiement.

Logs et debug Cawl

Objectif : Diagnostiquer les paiements et webhooks.

Cawl produit des logs dedies, des contextes de log par etape, un onglet de debug commande et une commande de test webhook.

Fonctionnement

Chaque phase du paiement ecrit un contexte structure. Les erreurs de configuration, validation, montant ou webhook sont tracees pour exploitation locale ou ELK.

Configuration Cawl

Objectif : Parametrer les acces API et webhooks.

La configuration Shopware stocke endpoint API, API key, API secret, merchant ID, webhook key, webhook secret et option Ngrok pour le developpement.

Fonctionnement

Les services Cawl lisent la system config au runtime pour construire le client API, verifier les signatures et choisir les URLs selon l'environnement.

CLI, OPS, sécurité et performance

Les briques d’exploitation, de sécurité, de monitoring et d’optimisation média/cache. 8 fonctionnalités dans ce socle.

Cache HTTP et ESI

Objectif : Optimiser les performances storefront.

Le bundle Cache gere les tags, invalidations, rendu ESI et commandes de purge HTTP par URL ou tag. Il permet d'accelerer les pages tout en gardant une invalidation fine.

Fonctionnement

Les responses recoivent des tags de cache. Les fragments ESI isolent les zones dynamiques, et les commandes ou subscribers invalident uniquement les contenus impactes.

Cache des flashbags

Objectif : Rendre certaines routes cachables sans perdre les messages utilisateur.

Une politique specifique evite que les flashbags Shopware ne cassent le comportement utilisateur sur des routes avec cache HTTP.

Fonctionnement

Un subscriber et une policy identifient les routes compatibles, preservent les messages utilisateur et limitent les effets de bord du cache sur la session.

Critical Path commandes

Objectif : Piloter les transitions critiques d'etats de commande.

Le bundle Order configure des chemins d'etats prioritaires et fournit des commandes de test et validation.

Fonctionnement

La configuration de state machine decrit les transitions attendues. Les commandes simulent ou verifient que les chemins critiques restent applicables.

Domaine admin dedie

Objectif : Securiser l'acces administration via sous-domaine.

Le bundle Security documente et configure l'acces a l'administration via domaine dedie.

Fonctionnement

La configuration d'infrastructure et d'environnement isole l'admin sur un host specifique, ce qui facilite filtrage, routage et durcissement.

Securite mot de passe et login

Objectif : Renforcer ou adapter le login client.

Une decoration de LoginRoute et des configs de password security permettent d'appliquer des regles specifiques.

Fonctionnement

La route de login Shopware est decoree pour executer des controles supplementaires avant ou apres l'authentification standard.

Healthcheck applicatif

Objectif : Exposer l'etat operationnel de la plateforme.

Le bundle Monitoring expose `/health` et agrege des probes DB, Redis, OpenSearch, disque, environnement, URLs et integrations externes.

Fonctionnement

Le controller appelle un service de probes, execute chaque controle active et retourne un statut global detaille pour supervision.

Optimisation WebP

Objectif : Generer et supprimer des medias WebP.

MediaOps cree des WebP a l'ajout ou sur demande, les stocke dans une entite dediee et traite les operations en asynchrone.

Fonctionnement

Des commandes, subscribers ou messages detectent les medias eligibles, generent les variantes WebP et enregistrent le lien avec les thumbnails.

Diffusion CDN

Objectif : Servir et purger les medias via CDN.

MediaOps configure les URLs CDN, purge les caches a la mise a jour/suppression et expose des commandes d'exploitation.

Fonctionnement

Les URLs media sont adaptees selon la configuration CDN. Les purges sont declenchees par commande ou evenement de modification/suppression.

Roadmap FroggShop

Les prochaines briques visent à renforcer l’automatisation commerce, le SEO catalogue et l’intégration de référentiels externes.

Agentic commerce avancéAssistants et automatisations commerce pour aider les équipes à analyser, enrichir et piloter le catalogue.
Pages catalogues par groupement de produitsCréer des pages commerciales indexables à partir de regroupements produits pilotés métier.
Permaliens SEO automatiquesGénérer automatiquement des URLs SEO propres pour les combinaisons catalogue pertinentes.
Guide des tailles externaliséBrancher un référentiel externe de tailles et l’exposer dans les fiches produits et parcours d’achat.
Ranking produit par source externaliséePiloter l’ordre produit depuis une source métier externe : marge, stock, scoring, saisonnalité ou priorités commerciales.