Dev Fullstack
Tunnel de vente Soleriel
Soleriel vend des panneaux solaires en location avec option d'achat. Le tunnel de vente, cœur du business, souffrait de régressions à chaque mise en prod et n'était pas versionné. J'ai mis le legacy sous contrôle avec Git, livré une refonte complète (React, TypeScript, Serverless AWS, MongoDB) et une CI/CD robuste, tout en maintenant les ventes sur l'existant.

Soleriel devait continuer à vendre sans attendre la refonte. L'enjeu était de stabiliser les livraisons tout en construisant une v2 pérenne.
Reprendre la main sur le legacy
Le site était un WordPress ; le tunnel mélangeait PHP et trois fichiers JS de plusieurs milliers de lignes. Plutôt que de tout réécrire d'emblée, j'ai proposé d'introduire Git sur la partie funnel uniquement. Mettre Git sur un déploiement FTP n'est pas trivial : j'ai utilisé git-ftp pour synchroniser le dépôt avec le serveur distant. Une fois le versioning en place, les mises en prod sont devenues traçables et les régressions identifiables.
Refonte v2 et CI/CD
La v2 a été développée avec React, TypeScript, Vite, Tailwind, React Aria (accessibilité), React Hook Form et React Query côté front ; côté back, avec l'aide de Manon et Alex (experts AWS), une architecture Serverless (AWS Lambda) pour l'évolutivité et les coûts maîtrisés, et MongoDB pour la flexibilité des données du funnel. Pour en finir avec les régressions, j'ai mis en place une CI/CD stricte : ESLint, tests unitaires, tests E2E avec Cypress en TDD, Husky en pré-push, GitHub Actions avant déploiement sur Vercel, release-please et Commitizen pour des releases propres.
Défis techniques
Coexistence legacy et v2. Il a fallu faire évoluer le site existant en parallèle du développement de la v2 pour ne pas bloquer les ventes — un arbitrage constant entre dette technique et livraison business.
Génération du contrat PDF. En fin de tunnel, l'utilisateur signe électroniquement un PDF d'une quarantaine de pages. J'ai implémenté une Lambda utilisant Puppeteer pour générer le PDF à partir du HTML, puis envoi en base64 vers SlimPay pour la signature.
Calcul du nombre de panneaux par toiture. L'utilisateur se géolocalise et dessine le contour de sa toiture sur une carte. J'ai mis en place un polygone éditable (Google Maps, drag-and-drop) et un algorithme qui calcule le nombre de panneaux exploitables en tenant compte des formes non rectangulaires et de l'inclinaison.

Livraison dans les temps, régressions maîtrisées, et une base technique prête pour la suite. La collaboration avec les experts AWS a permis de monter en compétence sur le Serverless tout en livrant un produit fiable.