Étude de cas
Adencer : une marketplace de créateurs avec l'argent, la paperasse et les colis dedans
Une plateforme à deux faces où les marques réservent des créateurs de contenu : briefs de campagne, recherche de créateurs par mots-clés et par sens, flux de paiement sous séquestre sur Stripe, facturation française avec avoirs, et colis suivis jusqu'au point relais. 28 modèles de données, 171 points d'entrée backend.
Mon rôle
Celui-ci est la plateforme d'un client, pas la mienne. J'y ai travaillé comme développeur full stack aux côtés de l'équipe du client, de fin décembre 2025 à mi-juin 2026. Le produit leur appartient, je n'étais pas la seule personne dans ce dépôt, et je ne vais pas écrire cette page comme si je l'avais été.

La situation
Une marque qui veut qu'un créateur parle de son produit doit faire environ huit choses qui n'ont rien à voir avec le marketing : trouver la bonne personne, s'accorder sur un prix, payer sans que l'un des deux soit exposé, expédier le produit, valider le contenu avant sa publication, facturer correctement, et avoir un recours quand ça se passe mal. Adencer est la plateforme qui tient les huit au même endroit.
La contrainte
Le point dur d'une marketplace n'est jamais la page d'annonce, c'est l'argent. Une marque ne paiera pas un inconnu d'avance et un créateur ne travaillera pas sur une promesse : le paiement est donc autorisé à la réservation, capturé à l'acceptation, et seulement ensuite transféré au créateur. Chacun de ces états doit être rattrapable : une capture passée à moitié, un transfert bloqué derrière un compte de versement non vérifié, une réservation annulée alors que la carte a déjà été débitée.
La plateforme vend en France, donc la paperasse n'est ni optionnelle ni cosmétique. Les factures sont numérotées en séquence, portent le montant hors taxes et toutes taxes comprises, et une correction est un avoir qui renvoie à la facture qu'il corrige, jamais une modification de l'original. La société d'un créateur est vérifiée auprès du registre national, et un retrait exige une pièce d'identité et un justificatif de domicile avant que le moindre euro ne quitte la plateforme.
Et une bonne partie de ces collaborations passe par un produit physique, ce qui fait discrètement de la plateforme un transporteur : étiquettes, points relais, suivi, et un fil de conversation qui doit se mettre à jour tout seul quand le colis bouge réellement.
Ce que j'ai construit
Adencer est en ligne sur adencer.com. Les parties sur lesquelles j'ai travaillé :
- Des briefs de campagne portant le script, les photos produit, le code promo et sa remise, si le contenu doit être validé avant publication, et si un produit doit être expédié puis retourné.
- Deux façons de trouver un créateur : une recherche filtrée par mots-clés, et une recherche par le sens qui transforme une phrase ordinaire en vecteur et classe les profils par proximité sur un ensemble mis en cache, pour qu'une marque décrive la personne qu'elle veut au lieu de deviner le bon tag.
- Instagram et TikTok connectés en OAuth, avec des instantanés d'audience et des statistiques dérivées (taux d'engagement, moyenne de likes, meilleures heures de publication) rafraîchis périodiquement, le renouvellement des jetons géré en tâche de fond, et les résultats tracés en graphiques.
- Le flux de paiement sous séquestre de bout en bout sur Stripe : autoriser, capturer, transférer, annuler et rembourser, avec des comptes Stripe Connect pour les créateurs, des cartes enregistrées et le paiement par portefeuille, un panier qui réserve plusieurs créateurs d'un coup, et les chemins de rattrapage pour les transferts qui se bloquent.
- La facturation française : numérotation séquentielle depuis un compteur, montants hors taxes et toutes taxes comprises, PDF générés pour les deux côtés de l'accord, et avoirs qui référencent la facture qu'ils corrigent.
- Identité et conformité : recherche de la société au registre national, statut de TVA, et un parcours de retrait qui collecte une pièce d'identité et un justificatif de domicile avant de libérer un versement.
- L'expédition physique avec étiquettes imprimées, recherche de points relais et suivi, branchée sur la messagerie pour que le fil se mette à jour au fil du colis.
- Une messagerie qui est aussi le processus : contenu soumis, validé ou refusé à l'intérieur du fil, avec des messages système pour les événements qui comptent et des pièces jointes pour ceux qui en ont besoin.
- Avis et notations, un parcours de litige dont les résolutions sont de vrais remboursements et de vrais transferts, un back-office d'administration, des notifications push et des emails transactionnels.
Les chiffres
- 28modèles de données
- 171points d'entrée backend
- 63écrans
- 4états de paiement, autoriser à transférer
- 2langues, français et anglais
- 4types de comptes
Ce sont des comptages techniques, lus dans les fichiers du projet : les schémas d'entités, les dossiers de fonctions backend, les composants de pages, la liste des états de paiement et les dossiers de langues. Il n'y a sur cette page ni nombre d'utilisateurs, ni chiffre d'affaires, ni taux de commission. Ces chiffres appartiennent au client, pas à moi, et c'est à lui de les publier.
Ce que j'ai fait et ce que je n'ai pas fait
C'est le produit de quelqu'un d'autre. J'y ai été développeur full stack pendant environ six mois ; je n'étais pas la seule personne dans le dépôt et la plateforme n'est pas la mienne. Si vous lisez ceci pour décider de travailler avec moi, la version honnête est que ça montre que je sais travailler dans un gros code qui existe déjà, sur des sujets de paiement et de conformité, sans le casser. Ce n'est pas la phrase « j'ai construit Adencer », et je préfère le dire ici plutôt que vous laisser le découvrir plus tard.
La plateforme est construite sur une plateforme applicative hébergée dont le générateur écrit une grande part des commits. C'est un vrai compromis et il mérite d'être nommé : c'est ce qui permet à une marketplace aussi large d'exister avec une petite équipe, et ça veut aussi dire que ce code n'est pas l'œuvre d'une seule paire de mains. Une étude de cas qui passerait ça sous silence vous vendrait la mauvaise chose.
Ce que je ferais autrement : la fiche de réservation a atteint quatre-vingt-quatorze champs sur un seul objet, parce que chaque nouvelle capacité (expédition, report, litiges, facturation) a ajouté ses colonnes à la seule chose qu'elles touchent toutes. C'est le choix le moins cher à chaque fois et le plus cher à la dixième. Détacher l'expédition et la facturation tôt aurait coûté une semaine et en aurait économisé bien plus.
Stack technique
- React.js
- Vite
- Base44
- Tailwind CSS
- Radix UI
- Stripe
- Stripe Connect
- i18next
À voir
Vous voulez la même chose ?
Dites-moi ce que vous construisez, ou ce que vous faites encore à la main, et je vous dirai comment je m'y prendrais. Sans engagement.