Construire une vraie boutique en ligne pour POUR ELLE
POUR ELLE n'avait pas besoin d'un simple site vitrine. La cliente voulait une véritable activité commerciale : un catalogue, une gestion de commandes, une clientèle internationale, et un vrai accompagnement après achat, pas juste de belles photos sur une page.
Le choix technique : un vrai backend, pas une façade
Contrairement à un site institutionnel statique, POUR ELLE a besoin de retenir de l'état : des
comptes, des commandes, des stocks. La stack : Node.js + Express en backend, une base SQLite
locale (better-sqlite3) plutôt qu'un service de base de données hébergé, une authentification
par mot de passe hashé + session JWT, des uploads gérés par Multer, et Resend/Nodemailer pour les
emails transactionnels. Helmet, CORS et un rate limiting protègent l'API. Le frontend
(HTML/CSS/JS) est servi directement par Express depuis un dossier public/, avec un espace admin
séparé.
Résultat visible aujourd'hui sur le site (pourelle.online) : catalogue avec recherche, panier, support multi-devises (XOF, EUR, USD), livraison internationale, assistance client par WhatsApp, système d'avis, boutique bilingue FR/EN.
Les vrais défis
Trois choses ont pris le plus de temps, et ce ne sont pas celles qu'on imagine au départ :
- Rendre la boutique vraiment responsive, pas juste "ça s'affiche sur mobile", mais une expérience d'achat qui reste agréable sur un petit écran.
- Absorber les pages supplémentaires que la cliente a continué d'ajouter au fil du projet, au-delà du cahier des charges initial, un classique de tout projet client réel, qui demande de garder une architecture assez souple pour encaisser le changement sans tout casser.
- Intégrer les API des moyens de paiement, la partie qui touche à de l'argent réel est toujours celle qui demande le plus de rigueur et le moins de place à l'erreur.
Le résultat
Après plusieurs réglages avec la cliente, elle a été satisfaite du produit final. C'est le genre de projet qui rappelle qu'un site e-commerce n'est jamais "fini" à la livraison, il continue de bouger avec l'activité réelle qu'il sert.