T-Bird Paris : une boutique en ligne
Le site e-commerce d’une boutique parisienne, construit avec un agent IA de développement : catalogue, paiement, livraison, administration — et son exploitation au quotidien.
- Next.js
- TypeScript
- PostgreSQL
- Stripe
- Boxtal
- Resend
- Vercel
- GitHub Actions
- Sentry
- Git
- Claude Code
Contexte
T-Bird Paris est une boutique de vêtements et d’accessoires biker et americana, dans le 6ᵉ arrondissement. Elle n’avait pas de site. J’ai construit sa boutique en ligne avec un agent IA de développement (Claude Code). Après quelques semaines de pré-ouverture protégée par un mot de passe, le site est ouvert au public depuis le 22 septembre 2026, à l’adresse tbird68.fr.




Voir la visite guidée : le site et l’espace boutique en images
Ce que j’ai fait
Jusqu’à l’ouverture
- Catalogue produits, stocks par taille, promotions et avis clients
- Tunnel de commande et paiement en ligne sécurisé (Stripe)
- Livraison en point relais ou à domicile, avec étiquettes d’expédition créées automatiquement (Boxtal)
- Comptes clients avec vérification de l’adresse email, et connexion Google
- Emails de confirmation et de suivi de commande
- Une interface d’administration pensée pour des propriétaires peu à l’aise avec le numérique : gros boutons, textes lisibles, confirmation avant toute suppression
- Déploiement sur Vercel, base de données PostgreSQL hébergée (Neon), historique complet sous Git
- Nom de domaine, référencement sur Google (Search Console) et pages légales : mentions légales, CGV, politique de confidentialité
- Ouverture au public après un achat test réel de bout en bout : paiement, étiquette d’expédition, puis remboursement
- Le lendemain de l’ouverture, un audit du site en ligne (sécurité, affichage sur mobile, référencement, obligations légales), puis la correction des points relevés
Juste après l’ouverture (22 – 30 septembre 2026)
Vente et clients
- Un même article en plusieurs coloris, avec son stock par couleur et par taille
- Codes promo, ventes privées, opérations commerciales programmées depuis l’admin (soldes, Black Friday…) et alertes promo par email
- Apple Pay et Google Pay
- Achat sans compte, avec proposition de créer un compte après l’achat
- « Prévenez-moi » quand un article épuisé revient en stock
- Réserver un article pour le payer et le retirer en boutique, avec un jour de passage à choisir
- Suppression de son compte par le client lui-même
Boutique et logistique
- Suivi des colis : la commande passe seule en « Expédiée » quand le transporteur prend le colis, et la boutique est alertée en cas d’incident
- « Vendu en boutique » : retirer du site un article vendu au magasin, pour ne jamais le vendre deux fois
- Annuler une commande rembourse le client automatiquement, avec un motif et un email d’excuses
- Brouillons d’articles enregistrés pendant la saisie, publiés quand la fiche est complète
- Un mode d’emploi de l’espace boutique pour les propriétaires, consultable dans l’admin et imprimable
Visibilité
- Articles présents dans les fiches gratuites Google Shopping (flux Merchant Center, une ligne par couleur et par taille)
- Référencement des fiches : fil d’Ariane, données enrichies pour Google, « Vous aimerez aussi », image d’aperçu pour les partages
- Vidéo YouTube de la boutique, chargée seulement au clic : aucun traceur sans accord
- Mesure d’audience sans cookie, donc sans bandeau de consentement
- Redirection des pages de l’ancien site tbird68.com
Exploitation
- Sauvegarde de la base de données chaque nuit, chiffrée (AES-256) et gardée 30 jours
- Surveillance du site toutes les heures, avec un email en cas de panne
- Suivi des erreurs en production (Sentry)
- Mises à jour des bibliothèques proposées chaque mois (Dependabot), et vérifications automatiques (tests, TypeScript) avant chaque fusion
- Site plus rapide sur mobile : polices hébergées par le site, photos principales chargées en priorité
En octobre 2026
Ventes et service client
- Livraison dans neuf pays d’Europe en plus de la France, au prix réel du transporteur, après la demande d’un client belge
- Retours, échanges et avoirs : le client annonce son retour en ligne, la boutique l’enregistre en un bouton, et le remboursement, la remise en stock et l’email partent seuls
- Échange par la poste : la nouvelle taille est mise de côté pour le client, puis envoyée dès que l’article revient
- Avis clients : un seul email « Votre avis » une semaine après la livraison, avis possible sans compte, tous les avis réunis en bas de l’accueil
Faire connaître la boutique
- Une page « Faire venir des clients » dans l’espace boutique : cinq gestes à cocher chaque semaine, des suggestions tirées du site, des idées à piocher
- « Nos coups de cœur » sur l’accueil, et des statistiques simples : les articles les plus regardés, ceux qu’on n’ouvre presque jamais
- Vitrines : des pages façon magazine que les propriétaires composent eux-mêmes (photos d’un bord à l’autre, textes, vidéos, articles), en voyant la page se construire pendant qu’ils écrivent
- Le Journal : des articles signés par les propriétaires, avec le même outil
- Une annonce en grand à l’arrivée sur le site pour un arrivage ou une promotion, avec trois animations au choix, dont la une d’un journal qui arrive en tournoyant, comme dans les vieux films
Espace boutique
- Les écrans du quotidien repensés pour le téléphone, avec un accueil « Aujourd’hui » qui montre ce qu’il y a à faire
- Les réglages sensibles (paiement, transporteurs, TVA, pages légales) mis à part, hors de portée d’une fausse manipulation
- Rester connecté 30 jours sur son appareil, au lieu de retaper le mot de passe chaque semaine
Exploitation
- Correctifs de sécurité appliqués le jour de leur publication (Next.js)
- Moins de calcul côté serveur : pages gardées en cache et rafraîchies seulement quand un article change
Construire avec une IA : qui fait quoi
L’agent IA
- Écrit le code et propose une structure
- Explique ses choix quand je le lui demande
- Corrige ce que je lui signale
- Tient à jour la documentation des pièges connus
- Audite le site en ligne quand je le lui demande
Moi
- Recueillir le besoin de la boutique et trancher
- Tester chaque fonction dans le navigateur, sur ordinateur et sur mobile
- Relire, refuser, faire recommencer
- Gérer les comptes : hébergement, paiement, base de données, emails
- Décider de ce qu’on corrige, et de ce qui revient à la boutique
Je n’ai pas écrit ce code à la main, et je ne le prétends pas. Mon travail est ailleurs : savoir ce que veut le client, vérifier que ça marche vraiment, et remarquer quand quelque chose cloche.
Difficultés rencontrées
Six problèmes réels, repérés puis corrigés :
Les paiements n’étaient jamais confirmés. Le mot de passe de pré-ouverture protégeait tout le site, y compris l’adresse que Stripe appelle pour signaler un paiement réussi. Stripe était redirigé vers la page de mot de passe : aucune commande n’était validée. Correction : une liste d’adresses accessibles sans mot de passe, réservée aux services extérieurs. C’est le même raisonnement qu’avec un pare-feu : une règle d’accès bloque aussi ce qu’on n’avait pas prévu.
Le dernier article pouvait être vendu deux fois. Deux clients qui validaient au même instant passaient tous les deux la vérification du stock. Correction : le stock est relu sous verrou dans la base de données, le temps de créer la commande.
Les mises en ligne échouaient sans prévenir. Une modification de la structure de la base était refusée pendant le déploiement : chaque nouvelle version échouait, et le site restait sur l’ancienne sans alerte visible. Correction : une vérification systématique des changements de base avant chaque envoi.
Un seul email refusé coupait toutes les alertes de la boutique. Le lendemain de l’ouverture, l’alerte d’une réservation n’est jamais arrivée. Un email vers l’adresse de contact avait été refusé une fois : le service d’envoi avait alors mis l’adresse sur sa liste de blocage, et n’y envoyait plus rien, sans aucune erreur visible côté site. Correction : retirer l’adresse de la liste, et désormais vérifier toute nouvelle redirection d’email avant de supprimer l’ancienne.
La sauvegarde de la nuit sautait parfois. GitHub ne lance pas toujours les tâches planifiées à l’heure. Correction : trois créneaux par jour (le premier qui passe fait la sauvegarde du jour), et la surveillance horaire relance la sauvegarde si la dernière date de plus de 26 heures.
Une erreur invisible, environ 500 fois par semaine. La page d’accueil était reconstruite entièrement dans le navigateur à chaque visite. L’outil de suivi des erreurs n’en montrait rien : un filtre réglé par défaut jetait ce type d’erreur avant même de l’enregistrer. En cherchant dans les événements écartés, la cause est apparue : la version gardée en cache par l’hébergeur croyait être une autre page que l’accueil, et n’affichait pas le même logo que le navigateur. Correction : la page dit elle-même qu’elle est l’accueil. Leçon : un tableau de bord vide ne prouve pas qu’il n’y a pas d’erreur, il faut aussi savoir ce qu’il filtre.
Ce que j’en retiens
Une IA écrit vite ; elle ne sait pas ce qui compte pour le client. Vérifier reste mon travail. Et on n’ouvre rien au public sans l’avoir testé.
Mettre un site en ligne n’est que le début : il faut ensuite le sauvegarder, le surveiller, le mettre à jour, et savoir où regarder quand quelque chose ne marche plus. C’est exactement le travail d’un technicien systèmes et réseaux.