
Calepinify : Développement d'un SaaS de Calepinage Moderne - Projet BTS SIO SLAM
Calepinify : Développement d'un SaaS de Calepinage Moderne - Projet BTS SIO SLAM
Introduction : Quand la Frustration Devient Innovation
En tant qu'étudiant en BTS SIO option SLAM (Solutions Logicielles et Applications Métiers), j'ai été confronté à un constat frustrant lors de mes recherches sur les outils de calepinage pour menuisiers. Les logiciels existants, bien que fonctionnels, souffrent d'un problème majeur : ils manquent cruellement de flexibilité et d'interactivité. Des interfaces rigides, aucun système de drag & drop intuitif, des workflows complexes qui ralentissent plutôt qu'accélérer le travail.
Cette frustration est devenue le point de départ de Calepinify, un projet ambitieux de création d'un SaaS (Software as a Service) moderne dédié au calepinage pour professionnels de la menuiserie et de l'agencement. Mon objectif : développer une application web qui allie puissance d'optimisation algorithmique et expérience utilisateur fluide, avec une interface visuelle moderne permettant de placer les pièces par simple glisser-déposer.
Durant mes deux années de BTS SIO SLAM, j'ai transformé cette vision en réalité : une application complète, déployée en production, avec monétisation intégrée et utilisée par de vrais professionnels. Ce projet m'a permis de mettre en pratique l'intégralité du référentiel de compétences du BTS, de la conception d'algorithmes complexes au déploiement d'une infrastructure cloud scalable.
L'éditeur de calepinage avec interface drag & drop moderne et tableau de bord intuitif
Le Problème Métier : Pourquoi Calepinify ?
Le Calepinage : Un Enjeu Crucial pour les Menuisiers
Le calepinage est l'art d'organiser la découpe de pièces sur des panneaux de matière brute (bois, MDF, contreplaqué). C'est une étape cruciale dans le travail des menuisiers, agenceurs et ateliers de fabrication. Un bon calepinage permet d'optimiser l'utilisation de la matière, de réduire les chutes et donc de diminuer les coûts tout en gagnant du temps.
Pourtant, aujourd'hui encore, de nombreux artisans réalisent leurs calepinages de manière archaïque :
- Sur papier avec règle et crayon
- Sur Excel en tentant manuellement de trouver les meilleurs placements
- Sur des logiciels CAO détournés de leur usage initial
Cette approche entraîne plusieurs problèmes critiques :
Erreurs coûteuses : Une pièce mal dimensionnée, un jeu de scie oublié, et c'est toute une plaque de matière de plusieurs centaines d'euros qui est gâchée.
Perte de temps considérable : Les calculs manuels, les recalculs après erreur, les hésitations sur les placements optimaux peuvent prendre plusieurs heures pour un projet complexe.
Manque de professionnalisme : Les plans dessinés à la main sont difficilement exploitables en production et ne donnent pas une image moderne de l'entreprise.
Les Contraintes Métier Ignorées
Le calepinage n'est pas un simple puzzle 2D. Il implique des contraintes métier spécifiques que les solutions généralistes ignorent :
- Le jeu de scie (kerf) : chaque coupe retire une épaisseur de matière (généralement 4mm). Il faut en tenir compte dans tous les calculs.
- Les marges de sécurité : espaces obligatoires sur les bords du panneau pour éviter les éclats.
- Le sens du fil du bois : certaines pièces doivent être orientées dans un sens précis pour des raisons esthétiques ou de résistance.
- La rotation des pièces : certaines pièces peuvent pivoter de 90°, d'autres non.
- L'épaisseur des panneaux : les pièces doivent être regroupées par épaisseur sur des panneaux compatibles.
La Promesse de Calepinify
Face à ce constat, j'ai voulu créer l'outil que j'aurais aimé trouver : une application web moderne qui combine :
✅ Interface drag & drop intuitive : placer les pièces à la souris comme sur une vraie table de travail
✅ Algorithme d'optimisation intelligent : génération automatique des calepinages avec taux de remplissage maximal
✅ Gestion automatique des contraintes : jeu de scie, marges, sens du fil pris en compte automatiquement
✅ Export PDF professionnel : plans de coupe avec côtes, prêts pour l'atelier
✅ Accessibilité : application web sans installation, accessible partout
La Solution : Fonctionnalités et Valeur Ajoutée
Une Interface Pensée pour l'Utilisateur
Calepinify repose sur un éditeur visuel interactif qui révolutionne la façon de créer des calepinages :
Import de données facilité : Les utilisateurs peuvent importer leurs listes de pièces via fichier CSV/Excel. Chaque ligne devient automatiquement une pièce prête à être placée, avec toutes ses propriétés (dimensions, épaisseur, rotation autorisée, côtés plaqués).
Drag & drop avec snapping magnétique : Le cœur de l'innovation réside dans la possibilité de placer les pièces par simple glisser-déposer. Des guides d'alignement bleus apparaissent automatiquement pour faciliter le placement précis. Les pièces "s'accrochent" entre elles avec une tolérance de quelques pixels, garantissant un placement au millimètre près.
Génération automatique optimisée : Pour ceux qui préfèrent gagner du temps, un bouton "Smart Generate" lance l'algorithme d'optimisation qui calcule automatiquement le meilleur placement possible en tenant compte de toutes les contraintes.
Bibliothèque de panneaux standards : Les utilisateurs peuvent sauvegarder leurs panneaux habituels (2800×2070mm, 2500×1250mm, etc.) pour les réutiliser en un clic dans tous leurs projets.
Gestion multi-projets : Organisation par projets avec dashboard centralisé, possibilité de créer plusieurs entreprises et de gérer des clients.
Système de support intégré : Ticketing avec pièces jointes pour accompagner les utilisateurs en cas de besoin.
Les Fonctionnalités Avancées
Corbeille et panier : Les pièces non encore placées restent dans une "corbeille" accessible. Un "panier" permet de mettre temporairement de côté certaines pièces.
Undo/Redo avec historique : Système d'historique de 50 états permettant de revenir en arrière (Ctrl+Z) ou d'avancer (Ctrl+Y) sans risque de perdre son travail.
Visualisation du sens du fil : Affichage optionnel des lignes de grain du bois pour vérifier l'orientation des pièces.
Lignes de coupe : Overlay visuel montrant où passeront les traits de scie.
Code couleur : Les pièces normales et les pièces tournées ont des couleurs différentes pour une identification immédiate.
Verrouillage de pièces : Possibilité de verrouiller certaines pièces pour qu'elles ne soient pas déplacées lors d'une re-génération automatique.
Placement de pièces par glisser-déposer avec guides d'alignement magnétiques et visualisation en temps réel
Export Professionnel pour l'Atelier
L'objectif final d'un calepinage est de produire un plan exploitable en production. Calepinify génère des PDF A4 paysage professionnels comprenant :
- Un tableau récapitulatif avec le nom, la quantité, la largeur et la hauteur de chaque pièce
- Une vue graphique du panneau à l'échelle avec le contour, le sens du fil et les pièces dessinées
- Des côtes en millimètres sur chaque pièce pour faciliter le travail
- Un code couleur pour identifier les pièces tournées
- Le nom de chaque pièce au centre pour éviter les confusions
Ces documents sont directement imprimables et utilisables en atelier, éliminant toute ambiguïté lors de la découpe.
Valeur Ajoutée Mesurable
Les premiers retours utilisateurs font état de gains significatifs :
📊 Jusqu'à -35% de temps sur la préparation des plans de découpe
📊 Réduction drastique des erreurs grâce aux calculs automatiques
📊 Taux de remplissage moyen de 85-87% avec l'algorithme d'optimisation
📊 Professionnalisation de l'image avec des plans PDF modernes
Calepinage optimisé avec taux de remplissage de 87% - génération automatique en moins de 2 secondes
Choix Technologiques : Pourquoi Cette Stack ?
Le choix des technologies n'a pas été fait au hasard. Chaque outil a été sélectionné pour répondre à des besoins précis de performance, de scalabilité et de facilité de développement.
Frontend : Next.js 16 + React 19
Next.js 16 avec l'App Router s'est imposé comme le framework idéal pour ce projet. Pourquoi ?
- Server Components + Client Components : possibilité de créer une landing page marketing performante avec SSR (Server-Side Rendering) pour le SEO, tout en gardant un éditeur interactif côté client pour la réactivité.
- Turbopack : temps de compilation ultra-rapides en développement (démarrage en moins de 2 secondes).
- API Routes intégrées : pas besoin d'un serveur séparé pour la logique backend légère.
- Build standalone optimisé : crucial pour le déploiement Docker avec des images légères.
React 19 apporte les dernières optimisations de rendu, indispensables pour gérer un éditeur drag & drop fluide avec des dizaines de pièces affichées simultanément.
Tailwind CSS 4 + shadcn/ui permettent de construire rapidement un design system cohérent et moderne, avec des composants accessibles (Radix UI) prêts à l'emploi.
Backend : Supabase (PostgreSQL + Auth + Storage)
Plutôt que de développer un backend custom, j'ai opté pour Supabase, un Backend-as-a-Service open-source qui fournit :
PostgreSQL robuste : base de données relationnelle éprouvée, avec des fonctionnalités avancées comme les transactions ACID et les index.
Row Level Security (RLS) : isolation automatique des données au niveau de la base. Chaque utilisateur ne voit que ses propres projets, sans avoir à vérifier manuellement dans le code.
Supabase Auth : authentification email/password avec vérification d'email, réinitialisation de mot de passe, gestion des sessions. Tout est géré automatiquement.
Supabase Storage : stockage de fichiers pour les logos, watermarks et pièces jointes des tickets de support.
Le choix de Supabase a permis de gagner plusieurs semaines de développement en évitant de coder toute la couche authentification et base de données from scratch.
Monétisation : Stripe
Pour transformer Calepinify en véritable business, l'intégration de Stripe était incontournable. Stripe offre :
- Des sessions de checkout sécurisées et prêtes à l'emploi
- La gestion des abonnements récurrents avec différents plans tarifaires (Gratuit, Teams à 90€/mois, Organizations à 120€/mois, Enterprise sur mesure)
- Un portail de facturation permettant aux utilisateurs de gérer leur abonnement en autonomie
- Une conformité PCI-DSS automatique (sécurité des paiements)
L'Algorithme : Bin Packing 2D Optimisé
Le cœur métier de Calepinify repose sur un algorithme de bin packing 2D que j'ai développé entièrement. Cet algorithme résout un problème d'optimisation combinatoire : comment placer N rectangles (les pièces) dans M conteneurs (les panneaux) en minimisant le nombre de conteneurs utilisés et en maximisant le taux de remplissage ?
Approche choisie : placement en bandes horizontales/verticales avec tri par surface décroissante. Les pièces sont regroupées par épaisseur, triées par taille, puis placées ligne par ligne comme un maçon poserait des briques.
Gestion de la rotation : l'algorithme teste automatiquement les deux orientations (0° et 90°) quand la rotation est autorisée, et choisit celle qui optimise le mieux le placement.
Gestion des chutes : quand une pièce ne remplit pas toute la largeur d'une bande, l'espace restant est enregistré comme "chute" réutilisable si sa taille dépasse un seuil configurable.
L'algorithme représente 1870 lignes de logique pure avec des optimisations de performance pour traiter des centaines de pièces en moins de 2 secondes.
Déploiement : Dokploy + Docker + GitHub
Pour le déploiement, j'ai choisi une approche self-hosted avec Dokploy, une alternative open-source à Vercel qui s'installe sur un VPS.
Pourquoi self-hosted ? Contrôle total de l'infrastructure, coûts maîtrisés à long terme (contrairement aux plateformes cloud qui deviennent vite chères à l'échelle), et apprentissage complet du DevOps.
Docker multi-stage permet de créer des images optimisées :
# Configuration Next.js pour build standalone
FROM node:20-alpine AS deps
WORKDIR /app
COPY package*.json ./
RUN npm ci
FROM node:20-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build
FROM node:20-alpine AS runner
WORKDIR /app
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
EXPOSE 3000
CMD ["node", "server.js"]
Résultat : image finale de ~150MB au lieu de plus de 1GB sans optimisation.
Pipeline CI/CD automatique : chaque git push déclenche un webhook GitHub → Dokploy pull le code → build Docker → déploiement en production. Temps total : 2 à 5 minutes.
Interface Dokploy montrant le déploiement automatisé et les logs de build en temps réel
Défis Techniques Relevés
Le développement de Calepinify m'a confronté à des défis techniques passionnants qui ont nécessité recherche, expérimentation et itérations.
Défi 1 : Performance de l'Algorithme de Packing
Problème : Avec des projets complexes comportant 50 à 100 pièces, l'algorithme initial prenait plusieurs secondes, rendant l'expérience utilisateur désagréable.
Solution : Plusieurs optimisations ont été mises en place :
- Tri intelligent : les pièces sont pré-triées par surface décroissante, ce qui permet de placer les grandes pièces en premier et d'optimiser les espaces restants
- Limitation des itérations : arrêt de l'algorithme dès qu'un seuil de remplissage acceptable est atteint (85%+)
- Structures de données efficaces : utilisation de
Mapau lieu deArray.find()pour des recherches rapides
Résultat : Temps de calcul réduit à moins de 2 secondes pour 100 pièces, même sur des machines modestes.
Défi 2 : UX du Drag & Drop
Problème : Placer précisément des pièces à la souris est difficile sans feedback visuel et sans aide au positionnement.
Solution : Implémentation d'un système de snapping magnétique avec calcul en temps réel des alignements possibles. Des guides bleus apparaissent quand une pièce s'approche d'un bord ou d'une autre pièce (tolérance de 5 pixels). Le fichier alignmentHelpers.js contient la logique de détection d'alignement qui calcule les bounding boxes et les points d'accrochage.
Résultat : Placement précis au millimètre près avec une expérience fluide et agréable.
Défi 3 : Génération PDF Professionnelle
Problème : Créer des documents PDF exploitables en atelier avec dimensions exactes, sens du fil, et code couleur.
Solution : Utilisation de la bibliothèque jsPDF côté client pour générer les PDF. Calcul d'échelle automatique pour que le panneau tienne sur une page A4, dessin des pièces avec rectangles colorés, ajout de texte pour les dimensions et les noms.
Résultat : PDF de qualité professionnelle, directement imprimables, avec toutes les informations nécessaires à la découpe.
Défi 4 : Sécurité Multi-Utilisateurs
Problème : Garantir que chaque utilisateur ne voit et ne modifie que ses propres données.
Solution : Utilisation de Row Level Security (RLS) au niveau PostgreSQL. Les politiques SQL sont définies une fois pour toutes :
CREATE POLICY "Users see only their projects"
ON projects FOR SELECT
USING (auth.uid() = user_id);
Résultat : Isolation totale des données au niveau de la base, sans code métier à maintenir pour les vérifications d'accès.
Défi 5 : CI/CD et Déploiement Automatisé
Problème : Comment déployer rapidement et sans interruption de service à chaque mise à jour ?
Solution : Pipeline automatisé avec GitHub webhooks + Dokploy + Docker. À chaque commit sur la branche main, le processus se déclenche automatiquement : pull du code, build de l'image Docker en 3 étapes, remplacement du conteneur existant.
Résultat : Déploiement en 2 à 5 minutes après chaque commit, sans intervention manuelle.
Genèse du Projet & Parcours BTS SIO SLAM
L'Origine : Un Besoin d'Outil Flexible
Tout a commencé par une frustration personnelle. En explorant les solutions de calepinage existantes dans le cadre de mes recherches pour le BTS SIO, j'ai été frappé par leur manque de modernité et de flexibilité. Les logiciels disponibles proposent des interfaces rigides, des workflows complexes, et surtout : aucun drag & drop intuitif. Il faut généralement saisir des dimensions dans des formulaires, cliquer sur des boutons pour placer les pièces, sans vraiment "voir" ce qu'on fait.
Cette approche me semblait totalement dépassée. À l'ère du numérique où on peut déplacer des éléments par simple glisser-déposer sur n'importe quelle application moderne, pourquoi les menuisiers devraient-ils se contenter d'outils vieillissants ?
Ma vision était claire : créer un outil visuellement moderne, avec une interface de type "canvas" où l'on pourrait placer les pièces comme sur une vraie table de travail, avec des guides d'alignement, du snapping automatique, et toute la puissance d'un algorithme d'optimisation en arrière-plan.
Première Année BTS SIO SLAM : Les Fondations
La première année de BTS SIO a été consacrée à l'apprentissage des fondamentaux nécessaires au projet :
Programmation web moderne : Maîtrise de JavaScript ES6+, découverte de React et de son écosystème, compréhension des concepts de composants et de state management.
Architecture frontend : Apprentissage de Next.js, exploration de l'App Router et des différences entre Server Components et Client Components.
Bases de données : Modélisation relationnelle, SQL, normalisation, index, contraintes d'intégrité. Découverte de PostgreSQL et de Supabase.
Algorithmes et structures de données : Cours théoriques sur les algorithmes de tri, les structures de données (listes, arbres, graphes), introduction aux problèmes d'optimisation combinatoire.
Parallèlement, j'ai commencé à prototyper l'éditeur drag & drop. Les premiers POC (Proof of Concept) étaient basiques : un simple canvas HTML5 où l'on pouvait déplacer des rectangles. Mais c'était un début.
La difficulté principale de cette période était de comprendre les contraintes métier de la menuiserie sans être moi-même menuisier. J'ai passé du temps à lire des forums professionnels, à regarder des tutoriels YouTube d'artisans, à comprendre ce qu'était le jeu de scie, pourquoi le sens du fil importait, comment les panneaux étaient dimensionnés.
Deuxième Année : La Concrétisation
La deuxième année a été celle de la montée en compétence technique et du développement intensif.
Algorithmes complexes : Développement de l'algorithme de bin packing 2D en partant de zéro. Recherche académique sur les approches First Fit, Best Fit, Strip Packing. Tests de différentes stratégies, benchmarking des performances, optimisations itératives.
Stack complète : Intégration de toutes les briques technologiques : Next.js pour le frontend, Supabase pour le backend, Stripe pour la monétisation, Docker pour le déploiement.
Fonctionnalités avancées :
- Implémentation du snapping magnétique avec calcul en temps réel
- Système d'undo/redo avec historique persistant
- Génération de PDF avec jsPDF et calcul d'échelle
- Gestion multi-projets et multi-utilisateurs
- Panel d'administration avec statistiques et graphiques
Déploiement en production : Apprentissage du DevOps : configuration d'un VPS Debian, installation de Dokploy, création de Dockerfiles multi-stage, mise en place du pipeline CI/CD avec GitHub webhooks, configuration du HTTPS avec Let's Encrypt via Traefik.
Monétisation : Intégration complète de Stripe avec création de 4 plans tarifaires, sessions de checkout, portail de facturation, gestion des webhooks pour les événements d'abonnement.
À la fin de la deuxième année, Calepinify était fonctionnel et déployé en production, avec de vrais utilisateurs qui testaient l'application.
Compétences Développées (Référentiel BTS SIO SLAM)
Ce projet m'a permis de couvrir l'intégralité du référentiel de compétences du BTS SIO option SLAM :
Conception et développement d'applications : Architecture complète d'une application SaaS, de la base de données au frontend, en passant par l'API et les algorithmes métier.
Modélisation de bases de données : Schéma relationnel avec 8 tables principales (projects, panels, pieces, placements, predefined_panels, user_settings, tickets, ticket_attachments), relations 1:N et N:N, contraintes d'intégrité référentielle.
Programmation orientée composants : Développement de dizaines de composants React réutilisables, gestion du state avec hooks, contextes, optimisation des re-renders.
Algorithmes et structures de données : Développement d'un algorithme de bin packing 2D performant (1870 lignes), utilisation de structures de données adaptées (Map, Set, Array), optimisations de complexité.
Sécurité applicative : Authentification avec Supabase Auth, gestion des sessions, cookies httpOnly, Row Level Security pour l'isolation des données, validation des entrées utilisateur.
DevOps et déploiement : Conteneurisation Docker, build multi-stage, pipeline CI/CD automatisé, monitoring de production, gestion des logs.
Gestion de projet : Roadmap fonctionnelle, priorisation des features, documentation technique, tests utilisateurs.
Veille technologique : Recherche constante sur les meilleures pratiques React/Next.js, algorithmes d'optimisation, nouveautés de l'écosystème JavaScript.
Défis Personnels et Apprentissages
Au-delà des compétences techniques, ce projet m'a permis de développer des qualités essentielles :
Comprendre un domaine métier inconnu : La menuiserie était un univers totalement nouveau pour moi. J'ai dû apprendre le vocabulaire, les contraintes, les usages, pour créer un outil vraiment adapté aux besoins.
Autonomie totale : Personne ne m'imposait l'architecture ou les choix techniques. J'ai dû faire mes propres recherches, comparer les solutions, prendre des décisions et assumer leurs conséquences.
Résolution de problèmes complexes : De nombreux obstacles techniques ont nécessité des jours de recherche et d'expérimentation. L'optimisation de l'algorithme, le snapping magnétique, la génération de PDF : autant de défis qui m'ont poussé à sortir de ma zone de confort.
Créer une UX intuitive : Un algorithme performant ne sert à rien si l'interface est rebutante. J'ai appris l'importance du design thinking, de l'itération avec des utilisateurs, du feedback visuel.
Résultats & Impact
Métriques Techniques
Le projet Calepinify représente :
📊 ~180 fichiers de code source
📊 1870 lignes dédiées à l'algorithme d'optimisation
📊 Image Docker de 150MB (vs 1GB+ sans optimisation)
📊 Temps de chargement < 3 secondes en moyenne
📊 Déploiement en 2-5 minutes via CI/CD automatisé
Vue d'ensemble du dashboard admin avec métriques de performance et gestion de projets
Métriques Fonctionnelles
L'application propose :
✅ 4 plans tarifaires : Gratuit, Teams (90€/mois), Organizations (120€/mois), Enterprise (sur mesure)
✅ Gestion multi-entreprises native
✅ Algorithme d'optimisation avec taux de remplissage jusqu'à 87%
✅ Export PDF professionnel avec côtes et visualisations
✅ Interface drag & drop fluide et intuitive
✅ Système de support intégré avec ticketing
Plan de calepinage professionnel généré en PDF avec tableau récapitulatif, côtes et visualisation du panneau
Impact Personnel et Professionnel
Validation du BTS SIO : Ce projet a été au cœur de ma formation et constitue une démonstration concrète de mes compétences en développement d'applications.
Première application SaaS complète : De l'idée initiale au déploiement en production avec utilisateurs réels et monétisation, j'ai mené ce projet de bout en bout.
Compréhension holistique du développement web : Au-delà du code, j'ai acquis une vision complète : architecture, sécurité, DevOps, UX, business model.
Portfolio professionnel : Calepinify est devenu la pièce maîtresse de mon portfolio, démontrant ma capacité à concevoir et livrer un produit complet.
Perspectives d'évolution : Le projet continue à évoluer avec une roadmap ambitieuse incluant import CAO, collaboration temps réel, et application mobile.
Évolutions Futures & Conclusion
Roadmap des Prochaines Fonctionnalités
Le développement de Calepinify ne s'arrête pas là. Plusieurs évolutions majeures sont prévues :
Import DXF/DWG : Permettre aux utilisateurs d'importer des plans CAO existants pour une intégration encore plus poussée avec leur workflow.
Collaboration en temps réel : Utilisation de WebSockets pour permettre à plusieurs utilisateurs de travailler simultanément sur le même projet.
Application mobile pour tablettes : Version optimisée pour iPad/Android pour utiliser Calepinify directement en atelier.
IA pour suggestions d'optimisation : Analyse des historiques de projets pour suggérer automatiquement des améliorations basées sur les patterns utilisateur.
Intégration avec machines CNC : Export de fichiers G-code pour piloter directement les machines de découpe numérique.
Leçons Apprises
Ce projet de deux ans m'a enseigné des leçons fondamentales pour tout développeur :
L'architecture compte dès le début : Les choix architecturaux initiaux (Next.js, Supabase, structure modulaire) ont facilité l'évolution du projet. Une mauvaise architecture aurait rendu les développements futurs pénibles.
Les contraintes métier enrichissent la solution : Plutôt que de les voir comme des obstacles, les contraintes de menuiserie (jeu de scie, sens du fil, épaisseurs) ont donné de la profondeur au projet et m'ont poussé à développer des solutions innovantes.
L'UX fait toute la différence : Un algorithme parfait ne vaut rien sans une interface agréable. Le drag & drop et le snapping magnétique sont devenus les fonctionnalités les plus appréciées.
Le déploiement self-hosted est accessible : Contrairement aux idées reçues, monter une infrastructure de production avec Docker et CI/CD n'est pas si complexe, et offre un contrôle total à moindre coût.
Conclusion : De l'Idée au SaaS en Production
Calepinify est bien plus qu'un simple projet étudiant. C'est une application SaaS complète, déployée en production, monétisée, et utilisée par de vrais professionnels. C'est aussi le fruit de deux années d'apprentissage intensif durant mon BTS SIO SLAM, où j'ai pu mettre en pratique l'intégralité des compétences du référentiel.
Ce projet démontre qu'avec de la passion, de la persévérance et une méthodologie rigoureuse, il est possible de transformer une frustration en solution concrète. De l'algorithme d'optimisation au déploiement Docker, en passant par l'intégration Stripe et la création d'une UX moderne, chaque aspect de Calepinify a été une opportunité d'apprendre et de progresser.
Aujourd'hui, je suis fier de pouvoir dire que j'ai créé un outil qui résout un vrai problème, qui fait gagner du temps aux professionnels, et qui continue d'évoluer avec de nouvelles fonctionnalités.
Si vous êtes menuisier, agenceur, ou simplement curieux de voir l'application en action, n'hésitez pas à me contacter. Calepinify est en constante évolution, et vos retours sont précieux pour façonner l'outil de demain.
Technologies utilisées : Next.js 16 • React 19 • Tailwind CSS 4 • Supabase (PostgreSQL + Auth) • Stripe • Docker • Dokploy • react-dnd • jsPDF • Recharts
Déploiement : VPS Debian • CI/CD automatisé (GitHub + Dokploy) • Traefik • Let's Encrypt
Compétences BTS SIO SLAM : Conception d'applications • Modélisation BDD • Algorithmes • Sécurité • DevOps • Gestion de projet
