Oui, il est possible de créer son propre CRM sans savoir programmer : avec le vibe coding (décrire ce qu'on veut en français et laisser une IA comme Claude écrire le code), on peut bâtir un CRM web complet (entreprises, contacts, affaires, activités), le mettre en ligne à sa propre adresse et l'installer sur son téléphone : c'est une application web progressive (PWA), donc aussi facilement accessible depuis un cellulaire, comme une vraie application, sans App Store. Selon le guide interne que nous utilisons chez Oriana Solutions, une première version fonctionnelle demande de 2 à 4 soirées et 0 $ pour commencer, grâce aux plans gratuits de GitHub, Vercel et Supabase.
Cet article reprend ce guide de 60 étapes : les outils, les 11 phases dans l'ordre, les cinq tables, les prompts à donner à Claude, les règles de sécurité, le dépannage et, surtout, les cas où il vaut mieux faire appel à un développeur. Rien n'est magique : le vibe coding remplace la frappe du code, pas la rigueur.
Réponse rapide
Pour créer un CRM sur mesure avec le vibe coding : 1) ouvrez des comptes GitHub, Vercel, Supabase et Claude; 2) créez un projet Next.js; 3) montez les cinq tables (entreprises, contacts, affaires, activités, profils) dans Supabase; 4) demandez à Claude les pages et fonctions une à une; 5) protégez l'accès (connexion, middleware et règles RLS); 6) publiez sur Vercel, branchez votre domaine et installez le CRM sur votre cellulaire : c'est une application web progressive (PWA), accessible partout sans App Store. Comptez 2 à 4 soirées pour une première version.
Résumé : les réponses en 30 secondes
Les réponses aux questions les plus fréquentes sur le CRM sur mesure et le vibe coding, avant le détail :
- ✓Peut-on créer un CRM sans savoir programmer ? Oui, pour une première version interne : le vibe coding remplace la frappe du code, pas la rigueur.
- ✓Combien de temps faut-il ? De 2 à 4 soirées pour une première version fonctionnelle, selon le guide interne d'Oriana Solutions.
- ✓Combien ça coûte ? 0 $ pour commencer, grâce aux plans gratuits de GitHub, Vercel et Supabase. Prévoyez ensuite un compte Claude payant (recommandé), un nom de domaine et, plus tard, le plan payant de Supabase.
- ✓Quels outils faut-il ? Visual Studio Code, Next.js, Supabase, GitHub, Vercel et Claude.
- ✓Quelles tables faut-il ? Cinq : entreprises, contacts, affaires, activités et profils.
- ✓Est-il accessible sur cellulaire ? Oui : c'est une application web progressive (PWA), qui s'installe sur iPhone et Android sans App Store.
- ✓Est-il sécuritaire ? Il peut l'être, avec une connexion obligatoire, un middleware, les règles RLS de Supabase, des clés secrètes protégées et des sauvegardes.
- ✓Sur mesure ou Zoho, Odoo, Salesforce, Pipedrive, HubSpot ? Un abonnement convient à un processus standard; le sur mesure devient rentable quand vos processus sont spécifiques, que l'équipe grandit ou que vous voulez brancher l'IA. Pour 5 vendeurs, un CRM sur mesure MVP se rembourse en moins d'un an contre HubSpot Professional ou Salesforce Pro Suite.
- ✓Quand faire appel à un développeur ? Quand les données sont sensibles, que des intégrations sont nécessaires, que les permissions sont fines, que les utilisateurs sont nombreux ou que personne ne peut maintenir l'outil.
Qu'est-ce que le vibe coding et pourquoi l'utiliser pour un CRM ?
Le vibe coding consiste à décrire en langage naturel ce qu'on veut construire et à laisser une IA générer le code, que l'on teste, corrige et améliore en dialoguant avec elle. Le terme s'est popularisé en 2025.
Un CRM (Customer Relationship Management, ou gestion de la relation client) est un candidat idéal, pour trois raisons. Sa structure est simple et prévisible : des entreprises, des contacts, des affaires (les ventes en cours) et des notes d'activité. Ses écrans sont classiques : des listes, des formulaires, un tableau de bord et un pipeline. Et ses besoins sont propres à chaque entreprise, ce qui rend les outils clés en main souvent trop lourds ou mal adaptés.
Pour un panorama des outils de vibe coding et de leurs limites, consultez notre comparatif Meilleurs outils de vibe coding et no-code en 2026.
Peut-on vraiment créer un CRM sur mesure sans savoir programmer ?
Oui, pour une première version interne, à condition de suivre les étapes dans l'ordre et de valider chaque résultat avant de passer à la suivante. Le guide part d'un ordinateur, d'une connexion internet et d'une adresse courriel : aucune expérience de programmation n'est requise. La règle d'or est de faire une étape à la fois, sans en sauter, même quand elle semble évidente.
Ce que vous obtenez au bout du parcours : un CRM web protégé par connexion, avec liste et fiches d'entreprises, de contacts et d'affaires, un pipeline par étapes, un tableau de bord, un journal d'activités et une application installable sur le téléphone. Ce que vous n'obtenez pas d'office : les intégrations avancées (courriel, facturation, calendrier), la gestion fine des rôles et un support technique. Nous y revenons plus bas.
| CRM vibe codé (ce guide) | CRM clé en main | CRM développé par une firme | |
|---|---|---|---|
| Coût de départ | 0 $ pour commencer (plans gratuits) | Abonnement, souvent par utilisateur | Budget de développement |
| Délai d'une première version | 2 à 4 soirées | Configuration de l'outil | Selon la portée du projet |
| Adaptation à votre façon de vendre | Totale : vous décidez de chaque champ | Limitée aux options de l'outil | Totale, conçue avec vous |
| Propriété du code et des données | Vous possédez tout | Chez le fournisseur | Vous possédez le code |
| Accès sur cellulaire | Application web progressive (PWA) : s'installe sur le téléphone, sans App Store | Application mobile ou navigateur, selon le fournisseur | Selon le projet |
| Effort et responsabilité | Élevés : vous maintenez et sécurisez | Faibles | Pris en charge par l'équipe |
| Idéal pour | Petite équipe, besoin précis, budget serré | Besoin standard, équipe qui grandit vite | Besoins complexes, intégrations, conformité |
Comparaison qualitative. Pour choisir entre un CRM clé en main et un CRM sur mesure, lisez [Salesforce ou CRM sur mesure](/blogue/salesforce-ou-crm-sur-mesure) et [Quel CRM choisir pour une entreprise au Québec](/blogue/quel-crm-choisir-entreprise-quebec).
De quels outils avez-vous besoin pour créer un CRM avec l'IA ?
Six outils suffisent, et tous ont un plan gratuit ou une version gratuite, sauf Claude, dont un compte payant est recommandé si vous voulez utiliser Claude Code directement dans l'éditeur, ce qui évite les copier-coller. Vérifiez les conditions actuelles de chaque plan avant de vous lancer, elles changent.
| Outil | Son rôle dans le projet | Coût pour commencer |
|---|---|---|
| Claude | Écrit la majorité du code à partir de vos demandes | Compte payant recommandé pour Claude Code |
| Visual Studio Code | L'éditeur où l'on voit et modifie les fichiers | Gratuit |
| Next.js, TypeScript et Tailwind | Le cadre du site, la sécurité du code et le style | Gratuit |
| Supabase | La base de données, la connexion des usagers et les règles de sécurité | Plan gratuit suffisant pour un CRM interne, selon le guide |
| GitHub | Garde l'historique du code et permet de revenir en arrière | Plan gratuit |
| Vercel | Héberge le site en ligne et le redéploie à chaque envoi de code | Plan gratuit |
| Node.js et Git | Font fonctionner le site sur votre ordinateur et enregistrent les versions | Gratuits |
Le nom de domaine (par exemple crm.votreentreprise.ca) est payé auprès de votre registraire, séparément.
Phase 1 : comment créer les comptes et installer les outils ?
Créez d'abord un compte GitHub, puis un compte Vercel et un compte Supabase en choisissant « Continue with GitHub » : cela évite un mot de passe de plus et relie déjà les services entre eux. Ouvrez aussi un compte Claude.
Installez ensuite Visual Studio Code, Node.js (prenez la version LTS, celle qui est recommandée, pas la « Current ») et Git. Ouvrez le terminal de VS Code (menu Terminal, puis Nouveau terminal) et tapez « node -v », « npm -v » et « git --version » : trois numéros de version doivent s'afficher. Si une commande répond « command not found », fermez et rouvrez VS Code, ou réinstallez l'outil.
Phase 2 : comment créer le projet Next.js ?
Créez un dossier de travail nommé Projets dans vos documents, en évitant le bureau et surtout les dossiers synchronisés par OneDrive ou iCloud, qui causent des bugs difficiles à comprendre. Placez le terminal dans ce dossier, puis lancez une seule commande qui crée tout le squelette du site : « npx create-next-app@latest crm-oriana --typescript --tailwind --eslint --app ». Répondez Yes aux questions.
Entrez dans le dossier du projet avec « cd crm-oriana » (oublier cette étape est l'une des erreurs les plus fréquentes), démarrez le site avec « npm run dev » et ouvrez http://localhost:3000. « En local » signifie sur votre ordinateur seulement. Pour arrêter le serveur, faites Ctrl+C (Ctrl même sur Mac). Modifiez enfin une première ligne dans app/page.tsx pour vivre la boucle de travail complète : modifier, sauvegarder, voir le résultat.
Phase 3 : comment sauvegarder son code sur GitHub ?
Assurez-vous d'abord que le fichier .gitignore contient la ligne « .env*.local ». Sans elle, vos clés secrètes se retrouvent publiques sur GitHub : c'est l'erreur numéro un des débutants, et elle coûte cher.
Faites ensuite un premier commit (une photo de votre code à un instant précis) avec « git add . », « git commit -m 'premier commit' » et « git branch -M main ». Sur GitHub, créez un dépôt Private nommé crm-oriana sans cocher « Add a README », puis reliez votre projet avec « git remote add origin » suivi de l'adresse du dépôt et « git push -u origin main ». Prenez ensuite l'habitude de sauvegarder après chaque bloc de travail : « git add . && git commit -m 'ajout page affaires' && git push ».
Phase 4 : comment monter la base de données Supabase ?
Dans Supabase, cliquez New project, nommez-le crm-oriana et choisissez la région la plus proche (East US ou Canada Central). Générez un mot de passe de base de données et gardez-le dans votre gestionnaire de mots de passe : il n'est plus jamais affiché.
Ouvrez ensuite le SQL Editor, collez le bloc SQL qui crée les cinq tables et active la sécurité, et cliquez Run. Vérifiez dans le Table Editor que vous voyez entreprises, contacts, affaires, activites et profils, puis ajoutez à la main une entreprise et une affaire de test. Copiez enfin, dans Project Settings puis API, le Project URL et la clé anon public. La clé service_role donne un accès total à la base : elle ne doit jamais se retrouver dans du code visible par le navigateur.
Le code SQL complet des cinq tables, avec la sécurité RLS, se trouve ci-dessous : copiez-le en entier dans le SQL Editor, puis cliquez Run.
-- Entreprises
create table entreprises (
id uuid primary key default gen_random_uuid(),
nom text not null,
secteur text,
site_web text,
cree_le timestamptz default now()
);
-- Contacts
create table contacts (
id uuid primary key default gen_random_uuid(),
entreprise_id uuid references entreprises(id) on delete set null,
prenom text,
nom text not null,
courriel text,
telephone text,
poste text,
cree_le timestamptz default now()
);
-- Affaires
create table affaires (
id uuid primary key default gen_random_uuid(),
titre text not null,
entreprise_id uuid references entreprises(id) on delete set null,
contact_id uuid references contacts(id) on delete set null,
valeur numeric(12,2) default 0,
etape text default 'Nouveau',
probabilite int default 0,
date_cloture_prevue date,
cree_le timestamptz default now()
);
-- Activités
create table activites (
id uuid primary key default gen_random_uuid(),
affaire_id uuid references affaires(id) on delete cascade,
contact_id uuid references contacts(id) on delete set null,
type text,
note text,
date_activite timestamptz default now()
);
-- Profils des utilisateurs
create table profils (
id uuid primary key references auth.users(id) on delete cascade,
nom text,
role text default 'membre'
);
-- Sécurité : personne ne lit la base sans être connecté
alter table entreprises enable row level security;
alter table contacts enable row level security;
alter table affaires enable row level security;
alter table activites enable row level security;
alter table profils enable row level security;
create policy "acces membres" on entreprises for all to authenticated using (true) with check (true);
create policy "acces membres" on contacts for all to authenticated using (true) with check (true);
create policy "acces membres" on affaires for all to authenticated using (true) with check (true);
create policy "acces membres" on activites for all to authenticated using (true) with check (true);
create policy "profil personnel" on profils for all to authenticated using (auth.uid() = id) with check (auth.uid() = id);Phase 5 : comment brancher le site sur la base de données ?
Arrêtez le serveur, installez les librairies avec « npm install @supabase/supabase-js @supabase/ssr », puis créez à la racine un fichier nommé exactement .env.local (avec le point) qui contient votre URL et votre clé anon. Next.js ne lit ce fichier qu'au démarrage : après toute modification, arrêtez et relancez le serveur, sinon vous chercherez le problème pendant une heure.
Demandez ensuite à Claude le fichier lib/supabase.ts, le pont entre votre site et la base de données, puis la page app/affaires/page.tsx. En Next.js, un dossier dans app devient automatiquement une adresse : le dossier affaires donne /affaires. Quand l'affaire de test s'affiche, c'est le premier vrai moment de satisfaction du projet.
Exemple de contenu du fichier .env.local (aucun espace autour du signe égal, aucun guillemet, une variable par ligne). Les variables qui commencent par NEXT_PUBLIC sont visibles dans le navigateur : c'est normal pour ces deux-là, la sécurité étant assurée par les règles RLS dans Supabase.
NEXT_PUBLIC_SUPABASE_URL=https://abcdefgh.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6...Phase 6 : comment gérer la connexion des usagers ?
Dans Supabase, vérifiez que le fournisseur Email est actif dans Authentication, puis créez votre utilisateur administrateur (Authentication, Users, Add user). Le guide suggère de désactiver « Confirm email » pendant le développement pour ne pas confirmer chaque compte de test.
Demandez ensuite à Claude la page de connexion app/login/page.tsx en précisant que vous utilisez l'App Router et @supabase/ssr, sinon vous risquez de recevoir du code pour une ancienne structure. Ajoutez le fichier middleware.ts, qui vérifie à chaque visite si la personne est connectée et la renvoie à /login sinon : sans lui, n'importe qui ayant l'adresse voit vos données clients. Le test est simple : en navigation privée, /affaires doit renvoyer vers /login.
Phase 7 : comment construire les fonctions du CRM ?
Construisez dans cet ordre, en testant chaque fonction avant la suivante : la liste des contacts, un formulaire de création (commencez par les affaires, le cœur du CRM), la modification et la suppression, les étapes du pipeline, le tableau de bord et le journal des activités.
Le pipeline utilise cinq étapes : Nouveau, Contacté, Proposition, Gagné, Perdu. Affichez-les en colonnes façon kanban, ou avec un simple filtre pour commencer : le filtre est plus rapide à faire et suffit souvent. Le tableau de bord affiche le nombre d'affaires ouvertes, la valeur totale du pipeline et les affaires gagnées ce mois-ci. Le journal d'activités, sur la fiche d'une affaire, permet de noter un appel, un courriel ou une rencontre : c'est précisément ce qui différencie un CRM d'un simple tableur.
Phase 8 : comment mettre son CRM en ligne sur Vercel ?
Sur Vercel, cliquez Add New puis Project, importez le dépôt crm-oriana et, avant de cliquer Deploy, ajoutez dans Environment Variables les mêmes variables que dans .env.local. Votre fichier .env.local n'est pas sur GitHub, donc Vercel ne le voit pas : oublier cette étape est la cause numéro un des déploiements qui échouent.
Après une à trois minutes, une adresse en .vercel.app fonctionne. Retenez la différence : localhost:3000 roule sur votre ordinateur, seulement quand « npm run dev » est actif, et sert à tester; l'adresse Vercel roule sur internet 24 heures sur 24, et c'est ce que votre équipe voit. Les deux utilisent la même base Supabase. Enfin, chaque « git push » sur la branche main redéploie automatiquement le site.
Phase 9 : comment brancher son propre domaine (crm.votreentreprise.ca) ?
Dans Vercel, ouvrez Settings puis Domains et ajoutez votre sous-domaine, par exemple crm.votreentreprise.ca : Vercel affiche l'enregistrement DNS à créer. Chez votre registraire, dans la section DNS, créez un enregistrement de type CNAME avec le nom « crm » et la valeur donnée par Vercel (cname.vercel-dns.com). Selon le registraire, le champ nom attend « crm » seul ou le domaine complet.
La propagation prend de quelques minutes à quelques heures. Vercel fait passer le domaine de Invalid Configuration à Valid tout seul et installe le certificat HTTPS sans que vous ayez rien à faire : le site s'ouvre alors avec le cadenas de sécurité.
Phase 10 : comment transformer son CRM en application installable (PWA) ?
Une Progressive Web App (PWA) est un site qui s'installe comme une application : une icône sur le téléphone ou le bureau, un affichage plein écran, sans barre d'adresse. Il n'y a ni App Store, ni approbation, ni version séparée à maintenir. C'est ce qui rend votre CRM facilement accessible depuis un cellulaire : vos vendeurs le consultent en rendez-vous ou en déplacement, comme n'importe quelle application.
Créez deux images carrées PNG de votre logo (192 et 512 pixels) dans le dossier public, puis demandez à Claude le fichier app/manifest.ts, que Next.js sert automatiquement. Sur iPhone, ouvrez le site dans Safari, touchez Partager puis « Sur l'écran d'accueil ». Sur Android, Chrome propose Installer l'application. Le mode hors ligne, optionnel, passe par un service worker (la librairie Serwist) : ne l'ajoutez que lorsque le reste est stable, parce que le cache complique le débogage.
Phase 11 : comment entretenir son CRM ?
Trois habitudes suffisent. Prenez des sauvegardes : dans Supabase (Database, puis Backups), téléchargez un export manuel chaque mois sur le plan gratuit et gardez-le ailleurs que dans Supabase. Surveillez le projet gratuit : selon le guide, un projet gratuit se met en pause après une semaine sans activité, et le bouton Restore project le remet en marche sans perdre les données; passez au plan payant dès que le CRM devient essentiel à l'entreprise. Travaillez par petites améliorations : une modification à la fois, test en local, commit, envoi. Si une mise en ligne casse quelque chose, l'onglet Deployments de Vercel permet de revenir à la version précédente d'un clic avec Rollback.
Quelles tables faut-il pour un CRM ?
Un CRM de base tient en cinq tables, créées d'un seul coup dans Supabase : entreprises, contacts, affaires, activités et profils. Les relations sont simples : une entreprise a plusieurs contacts et plusieurs affaires, et une affaire a plusieurs activités.
| Table | Ce qu'elle contient | Colonnes principales |
|---|---|---|
| entreprises | Les organisations avec lesquelles vous faites affaire | nom, secteur, site_web, cree_le |
| contacts | Les personnes, liées à une entreprise | prenom, nom, courriel, telephone, poste |
| affaires | Les ventes en cours, liées à une entreprise et à un contact | titre, valeur, etape, probabilite, date_cloture_prevue |
| activites | Le journal : appels, courriels, rencontres | type, note, date_activite |
| profils | Les utilisateurs du CRM et leur rôle | nom, role (membre par défaut) |
Le SQL active aussi la sécurité RLS sur les cinq tables. Demandez à Claude de générer le code SQL correspondant à ce schéma.
Quels prompts donner à Claude pour écrire le code du CRM ?
Le bon prompt précise votre technologie, demande un seul fichier à la fois et indique où le coller. Quatre réflexes changent tout : dites toujours que vous utilisez Next.js avec App Router, TypeScript, Tailwind et Supabase; demandez un fichier à la fois et l'endroit exact où le coller; quand ça ne marche pas, collez le message d'erreur au complet plutôt que de le résumer; et, une fois à l'aise, utilisez Claude Code dans VS Code, qui modifie les fichiers directement.
| Étape | Ce qu'il faut demander à Claude | À vérifier ensuite |
|---|---|---|
| Client Supabase | Écris-moi le fichier lib/supabase.ts pour un projet Next.js avec App Router et TypeScript, en utilisant @supabase/ssr. Je veux un client navigateur et un client serveur séparés. Explique-moi où coller chaque bloc. | Aucun soulignement rouge dans VS Code |
| Page des affaires | Crée app/affaires/page.tsx en Next.js App Router et TypeScript. La page lit la table affaires dans Supabase et affiche titre, entreprise, valeur et étape dans un tableau Tailwind sobre. Gère le cas où la liste est vide. | La page /affaires affiche l'affaire test |
| Page de connexion | Crée app/login/page.tsx avec courriel, mot de passe et bouton, en utilisant signInWithPassword de Supabase. Affiche l'erreur si la connexion échoue et redirige vers /affaires si elle réussit. | Une mauvaise combinaison affiche une erreur claire |
| Protection des pages | Écris le fichier middleware.ts qui protège toutes les pages sauf /login, avec @supabase/ssr pour Next.js App Router. Explique-moi ligne par ligne. | En navigation privée, /affaires renvoie à /login |
| Formulaire de création | Ajoute un formulaire de création d'affaire : titre, entreprise choisie dans une liste déroulante, valeur, étape et date de clôture prévue. Enregistre dans Supabase et rafraîchis la liste après l'ajout. | L'affaire créée apparaît aussi dans Supabase |
| Tableau de bord | Crée la page d'accueil du CRM avec trois indicateurs : nombre d'affaires ouvertes, valeur totale du pipeline, affaires gagnées ce mois-ci. Calcule tout côté serveur. | Les chiffres correspondent aux données réelles |
| Manifeste PWA | Crée app/manifest.ts pour transformer mon site Next.js en PWA installable. Nom CRM Oriana, mode standalone, icônes 192 et 512 déjà présentes dans public. | /manifest.webmanifest retourne du JSON |
| Dépannage | Colle le message d'erreur complet du terminal, puis écris : voici mon erreur, explique-moi en français simple ce qui ne va pas et comment le corriger. | Applique une seule correction à la fois, puis reteste |
Remplacez « CRM Oriana » par le nom de votre CRM.
Comment sécuriser un CRM créé avec l'IA ?
Un CRM contient des données clients : la sécurité n'est pas optionnelle, même pour un outil interne. Le code écrit par une IA doit être vérifié, testé et sécurisé comme n'importe quel autre. Voici les protections que le guide impose, dans l'ordre où elles apparaissent.
- ✓Ignorer .env.local dans Git : la ligne .env*.local dans .gitignore empêche vos clés de se retrouver publiques sur GitHub.
- ✓Garder la clé service_role secrète : elle donne un accès total à la base et ne doit jamais se retrouver dans du code visible par le navigateur.
- ✓Exiger la connexion : le fichier middleware.ts renvoie à /login toute personne non connectée.
- ✓Activer les règles RLS (Row Level Security) : la base de données elle-même refuse toute requête qui ne vient pas d'un utilisateur connecté. C'est une deuxième barrière, à ne jamais désactiver en production.
- ✓Protéger le mot de passe de la base : rangez-le dans un gestionnaire de mots de passe, car il n'est plus jamais affiché.
- ✓Sauvegarder chaque mois : exportez la base hors de Supabase.
Si vos clés se retrouvent sur GitHub
Si la ligne .env*.local manquait dans .gitignore et que vous avez poussé vos clés, régénérez-les immédiatement dans Supabase, corrigez .gitignore, puis repoussez le code. Attention aussi à la Loi 25 : un CRM contient des renseignements personnels, ce qui suppose des règles de confidentialité claires. Notre scan de conformité Loi 25 permet de faire un premier tour.
Quelles erreurs courantes et comment les régler ?
La plupart des blocages du projet ont une cause connue et une solution rapide. Voici les huit symptômes les plus fréquents du guide.
| Symptôme | Cause probable | Solution |
|---|---|---|
| command not found: npm | Node.js n'est pas installé, ou le terminal a été ouvert avant l'installation | Fermez et rouvrez VS Code au complet; sinon réinstallez Node.js version LTS |
| Le site ne s'ouvre pas sur localhost:3000 | Le serveur n'est pas démarré, ou le port est déjà pris | Vérifiez que npm run dev tourne et regardez l'adresse exacte affichée (ce peut être le port 3001) |
| Erreur EADDRINUSE | Un ancien serveur tourne encore en arrière-plan | Fermez les autres terminaux, ou utilisez le port affiché par Next.js |
| Aucune donnée ne s'affiche | RLS bloque la requête parce que personne n'est connecté | Connectez-vous via /login; vérifiez les politiques dans Supabase, Authentication, Policies |
| Invalid API key | Clé mal copiée, espace en trop, ou serveur pas redémarré | Recopiez la clé au complet, puis Ctrl+C et npm run dev |
| Ça marche en local mais pas sur Vercel | Les variables d'environnement n'ont pas été ajoutées dans Vercel | Ajoutez-les dans Settings, Environment Variables, puis Redeploy |
| Le déploiement échoue (Build failed) | Une erreur TypeScript qui n'apparaît pas en mode développement | Lancez npm run build en local pour voir la même erreur, corrigez, puis poussez à nouveau |
| Le domaine reste Invalid Configuration | Le CNAME n'est pas encore propagé, ou il est mal écrit | Attendez quelques heures; vérifiez si votre registraire attend « crm » ou le domaine complet |
Combien de temps et combien d'argent faut-il prévoir ?
Prévoyez 2 à 4 soirées pour une première version fonctionnelle et 0 $ pour commencer, puisque GitHub, Vercel et Supabase offrent chacun un plan gratuit jugé suffisant pour un CRM interne par le guide. C'est un point de départ, pas un coût total.
Certaines dépenses arrivent ensuite : un compte Claude payant si vous voulez utiliser Claude Code dans l'éditeur, le nom de domaine chez votre registraire, et le passage au plan payant de Supabase dès que le CRM devient essentiel (un projet gratuit se met en pause après une semaine sans activité). Il faut aussi compter votre temps de maintenance, qui n'apparaît sur aucune facture. Pour comparer avec un développement professionnel, consultez Combien coûte un logiciel sur mesure.
Que peut-on ajouter à son CRM avec l'IA ? Deux exemples chez Oriana
Un CRM sur mesure devient vraiment intéressant quand on y branche l'IA. Chez Oriana Solutions, nous utilisons notre propre CRM, bâti avec la méthode de ce guide, et nous y avons ajouté deux outils.
Une intégration avec l'API de Claude qui lit et crée nos offres de service. Rédiger une offre de service nous prenait environ 1 heure. Elle nous prend maintenant environ 5 minutes.
Un agent IA qui nous donne nos 3 priorités du jour. Au lieu de chercher quoi traiter en premier, nous ouvrons le tableau de bord et l'agent nous indique les trois actions du jour.
Ces deux exemples ne sont possibles que parce que le CRM nous appartient : nous décidons de ses données et de ses fonctions, sans attendre qu'un fournisseur les propose et sans payer un forfait supérieur.
Maquettes à données fictives
Les écrans de cet article sont recréés à partir de notre CRM avec des données fictives (noms, entreprises et montants inventés), pour protéger nos clients.
Sur mesure ou Zoho, Odoo, Salesforce, Pipedrive, HubSpot : lequel choisir ?
Le sur mesure est le seul modèle où vous possédez le code et les données, sans licence par utilisateur. Zoho, Odoo, Salesforce, Pipedrive et HubSpot sont des abonnements par utilisateur : ils se démarrent vite et offrent de nombreuses intégrations prêtes à l'emploi. Le bon choix dépend de la taille de l'équipe, de la spécificité de vos processus et de votre appétit pour la maintenance.
| Sur mesure (Oriana) | Zoho CRM | Odoo | Salesforce | Pipedrive | HubSpot | |
|---|---|---|---|---|---|---|
| Modèle de prix | Investissement unique, puis hébergement | Abonnement par utilisateur | Abonnement par utilisateur (toutes les applications incluses) | Abonnement par utilisateur | Abonnement par utilisateur | Abonnement par siège |
| Forfait d'entrée (par utilisateur par mois, facturation annuelle) | MVP dès 5 000 $ CA, une seule fois | 14 $ US (Standard)* | 44,20 $ CA (Standard) | 25 $ US (Starter Suite) | 19 $ CA (Lite) | 7 $ US en annuel, 20 $ US au mois (Starter) |
| Forfait intermédiaire courant | Modules ajoutés selon vos besoins | 23 $ US (Professional)* | 44,20 $ CA (même forfait Standard) | 100 $ US (Pro Suite) | 49 $ CA (Growth) | 90 $ US (Professional), plus 1 500 $ US d'intégration |
| Forfait avancé | CRM complet : 10 000 $ à 40 000 $ CA, une seule fois | 40 $ US (Enterprise)* | 68,50 $ CA (Custom) | 195 $ US (Core) | 79 $ CA (Premium) | 150 $ US (Enterprise), plus 3 500 $ US d'intégration |
| Quand l'équipe grandit | Aucune licence par utilisateur | La facture augmente avec chaque utilisateur | La facture augmente avec chaque utilisateur | La facture augmente avec chaque utilisateur | La facture augmente avec chaque utilisateur | La facture augmente avec chaque siège |
| Personnalisation | Totale : champs, écrans, règles et automatisations à votre image | Élevée, selon le forfait | Élevée, par modules | Très élevée, souvent avec un administrateur | Moyenne | Moyenne à élevée, selon le forfait |
| Propriété du code et des données | Vous possédez tout, hébergé où vous le décidez (par exemple au Canada) | Chez le fournisseur | Chez le fournisseur, ou auto-hébergé avec l'édition Community | Chez le fournisseur | Chez le fournisseur | Chez le fournisseur |
| Intégration de l'IA | Directe : Claude ou vos propres agents (offres de service, priorités du jour) | Fonctions IA du fournisseur, selon le forfait | Fonctions IA du fournisseur, selon le forfait | Fonctions IA du fournisseur (Agentforce 1 Sales affiché à 550 $) | Fonctions IA du fournisseur, selon le forfait | Fonctions IA du fournisseur, selon le forfait |
| Mise en route | MVP en 14 jours, CRM complet en 4 à 12 semaines | Quelques jours de configuration | Quelques jours à quelques semaines | Souvent plusieurs semaines | Quelques heures à quelques jours | Quelques jours, plus avec l'intégration Professional |
| Accès sur cellulaire | PWA installable sur iPhone et Android, sans App Store | Application mobile du fournisseur | Application mobile du fournisseur | Application mobile du fournisseur | Application mobile du fournisseur | Application mobile du fournisseur |
| Intégrations prêtes à l'emploi | À construire selon vos besoins | Nombreuses | Nombreux modules et connecteurs | Écosystème très large | Large catalogue | Large catalogue |
| Maintenance | À votre charge, ou confiée à Oriana | Assurée par le fournisseur | Assurée par le fournisseur (en ligne) | Assurée par le fournisseur | Assurée par le fournisseur | Assurée par le fournisseur |
| Limite principale | Demande un développement initial et un suivi | Coût par utilisateur | Coût par utilisateur, complexité des modules | Coût élevé aux forfaits avancés | Fonctions avancées selon le forfait | Coût élevé du forfait Professional |
| Idéal pour | Processus de vente spécifique, équipe qui grandit, données sensibles | Petites équipes au budget serré | Entreprises qui veulent un CRM et un ERP ensemble | Grandes équipes avec un administrateur dédié | Équipes de vente centrées sur le pipeline | Équipes qui réunissent marketing et ventes |
Prix publics relevés en septembre 2026 sur les pages officielles de Salesforce, HubSpot, Odoo et Pipedrive, dans la devise affichée ($ US ou $ CA). *Zoho : prix concordants dans plusieurs comparatifs tiers (facturation annuelle); la page officielle affiche les prix selon la localisation du visiteur. Les prix changent souvent et excluent taxes et options. Les évaluations qualitatives (personnalisation, mise en route, écosystème) sont celles d'Oriana Solutions.
Combien une équipe de 5 vendeurs peut-elle économiser avec un CRM sur mesure ?
Tout dépend du forfait auquel on se compare. Pour une équipe de 5 vendeurs, un abonnement coûte de 1 380 $ US à 11 700 $ US par année selon l'outil et le forfait, alors qu'un CRM sur mesure MVP coûte 5 000 $ CA une seule fois, plus un hébergement estimé à 30 $ par mois, sans licence par utilisateur.
Le calcul ci-dessous utilise les prix publics de septembre 2026, dans la devise affichée par chaque fournisseur ($ US ou $ CA), et le sur mesure en dollars canadiens. Le dollar américain valant habituellement plus que le dollar canadien, comparer les chiffres tels quels est prudent pour les abonnements en dollars américains. Pour l'adapter à votre équipe, multipliez le nombre de vendeurs par le prix par utilisateur, puis par 12 : c'est votre coût annuel, à comparer avec l'investissement initial d'un sur mesure et son hébergement.
| Option pour 5 vendeurs | Coût par année | Total sur 3 ans | Total sur 5 ans |
|---|---|---|---|
| Zoho CRM Professional (23 $ US par utilisateur, facturation annuelle) | 1 380 $ US | 4 140 $ US | 6 900 $ US |
| Odoo Standard (44,20 $ CA par utilisateur) | 2 652 $ CA | 7 956 $ CA | 13 260 $ CA |
| Pipedrive Growth (49 $ CA par utilisateur) | 2 940 $ CA | 8 820 $ CA | 14 700 $ CA |
| HubSpot Sales Hub Professional (90 $ US par siège, plus 1 500 $ US d'intégration) | 5 400 $ US | 17 700 $ US | 28 500 $ US |
| Salesforce Pro Suite (100 $ US par utilisateur) | 6 000 $ US | 18 000 $ US | 30 000 $ US |
| Salesforce Core (195 $ US par utilisateur) | 11 700 $ US | 35 100 $ US | 58 500 $ US |
| CRM sur mesure MVP (5 000 $ CA une fois, plus 30 $ CA par mois d'hébergement) | 360 $ CA après la première année | 6 080 $ CA | 6 800 $ CA |
Hypothèses : 5 utilisateurs, facturation annuelle, aucun ajout d'utilisateur ni de module, taxes, taux de change et options exclus. L'hébergement est estimé à 30 $ par mois (l'offre d'Oriana parle de quelques dizaines de dollars). Les évolutions du CRM sur mesure sont en sus.
Comment lire ces chiffres
Contre HubSpot Professional ou Salesforce (Pro Suite ou Core), un CRM sur mesure MVP se rembourse en moins d'un an, et l'écart atteint environ 11 600 $ à 29 000 $ sur 3 ans. Contre Odoo Standard ou Pipedrive Growth, il devient moins cher au bout de 3 ans (écart d'environ 1 900 $ à 2 700 $). Contre Zoho Professional (23 $ US par utilisateur), l'abonnement reste moins cher : le sur mesure gagne alors moins sur le prix que sur l'adaptation à vos processus et sur la propriété. Et chaque vendeur ajouté augmente la facture d'un abonnement, pas celle d'un CRM sur mesure.
Quels sont les avantages d'un CRM sur mesure que vous possédez ?
Un CRM sur mesure vous appartient, et il s'adapte à votre activité plutôt que l'inverse. Voici ce que cela change concrètement.
- ✓Vous le possédez : le code et la base de données sont à vous. Aucun fournisseur ne peut changer ses conditions ni augmenter ses prix.
- ✓Il s'adapte à votre activité : vos champs, vos étapes de vente, vos règles et vos rapports, pas ceux d'un outil générique.
- ✓Aucune licence par utilisateur : embaucher un vendeur n'augmente pas la facture logicielle.
- ✓Il s'ouvre partout, y compris sur cellulaire : c'est une application web progressive (PWA), que vos vendeurs installent sur leur téléphone comme une application, sans passer par un App Store.
- ✓Vos données restent où vous le décidez, par exemple au Canada, ce qui aide à respecter la Loi 25.
- ✓L'IA s'y branche directement : offres de service générées en minutes, priorités du jour, et tout ce que vous imaginerez ensuite.
- ✓Il évolue par petites étapes, au rythme de vos besoins, sans changer de logiciel.
Comment Oriana Solutions peut-elle vous aider avec votre CRM ?
Vous pouvez suivre ce guide vous-même, ou nous confier tout ou une partie du projet. Nous adaptons le CRM à votre activité et à vos besoins, que vous partiez de zéro ou d'un prototype.
- ✓Un MVP en 14 jours à prix fixe, dès 5 000 $ : votre pipeline, vos fiches clients et votre processus, prêts à utiliser.
- ✓Un CRM complet, généralement de 10 000 $ à 40 000 $ selon la portée : automatisations, intégrations et tableaux de bord.
- ✓La reprise de votre prototype créé avec le vibe coding, pour le sécuriser et le rendre fiable.
- ✓L'intégration de l'IA : génération d'offres de service, agent de priorités du jour et autres automatisations.
- ✓Un hébergement au Canada et une attention à la Loi 25.
Quand le vibe coding suffit-il pour votre CRM ?
Le vibe coding suffit quand le besoin est précis, l'équipe petite et les données peu sensibles, et que vous acceptez de maintenir l'outil vous-même.
- ✓Une petite équipe qui suit ses ventes et ses contacts.
- ✓Un besoin bien défini : entreprises, contacts, affaires, notes.
- ✓Un budget serré ou un besoin de valider une idée avant d'investir.
- ✓Quelqu'un qui a le temps d'apprendre, de tester et d'entretenir.
- ✓Un prototype que vous pourrez ensuite faire reprendre par des professionnels.
Quand faut-il plutôt faire appel à un développeur ?
Faites appel à un développeur dès que le CRM devient critique pour l'entreprise ou plus complexe que ses cinq tables. Le vibe coding produit vite, mais il ne remplace ni l'architecture, ni les tests, ni la responsabilité de la sécurité.
- ✕Des données sensibles ou réglementées (santé, finance, renseignements personnels en grand nombre), où une erreur coûte cher.
- ✕Des intégrations avec la facturation, le courriel, le calendrier ou un autre logiciel.
- ✕Des rôles et des permissions fins : qui voit quoi, par équipe ou par client.
- ✕Beaucoup d'utilisateurs ou un besoin de fiabilité et de support 24 heures sur 24.
- ✕Personne pour maintenir l'outil quand il casse ou quand les besoins évoluent.
Le bon réflexe
Utilisez le vibe coding pour prototyper et valider votre façon de vendre, puis faites reprendre le projet par des professionnels quand il devient essentiel. Pour choisir la bonne personne, lisez Comment choisir un développeur de logiciel sur mesure.
Plan d'action : votre CRM en quatre soirées
Ce découpage est une suggestion d'Oriana Solutions pour respecter la fourchette de 2 à 4 soirées du guide. Adaptez-le à votre rythme.
- ✓Soirée 1 : les fondations. Phases 1 à 3 : comptes, outils, projet Next.js, premier commit sur GitHub.
- ✓Soirée 2 : les données. Phases 4 à 6 : Supabase, cinq tables, connexion des usagers, middleware et RLS.
- ✓Soirée 3 : les fonctions. Phases 7 et 8 : contacts, affaires, pipeline, tableau de bord, journal, mise en ligne sur Vercel.
- ✓Soirée 4 : la finition. Phases 9 à 11 : domaine, application installable, sauvegardes et méthode de travail.
Questions fréquentes sur le CRM sur mesure et le vibe coding
Qu'est-ce que le vibe coding ?
Le vibe coding consiste à décrire en langage naturel ce que l'on veut construire et à laisser une IA, comme Claude, écrire le code. On teste ensuite le résultat, on le corrige et on l'améliore en dialoguant avec l'IA.
Peut-on créer un CRM sans savoir programmer ?
Oui, pour une première version interne. Le guide part d'un ordinateur, d'une connexion internet et d'une adresse courriel, sans expérience de programmation, à condition de suivre les 60 étapes dans l'ordre et de vérifier chaque résultat.
Combien de temps faut-il pour créer son CRM avec l'IA ?
Selon le guide, une première version fonctionnelle demande de 2 à 4 soirées si l'on suit les étapes dans l'ordre.
Combien coûte la création d'un CRM avec le vibe coding ?
Le point de départ est de 0 $, parce que GitHub, Vercel et Supabase ont chacun un plan gratuit suffisant pour un CRM interne. Prévoyez ensuite un compte Claude payant (recommandé), un nom de domaine et, plus tard, le plan payant de Supabase.
Quels outils faut-il pour créer un CRM sur mesure ?
Visual Studio Code pour écrire, Next.js pour le site, Supabase pour les données, GitHub pour l'historique, Vercel pour l'hébergement et Claude pour écrire le code, avec Node.js et Git installés sur l'ordinateur.
Quelles tables faut-il dans un CRM ?
Cinq tables suffisent pour un CRM de base : entreprises, contacts, affaires, activités et profils. Une entreprise a plusieurs contacts et plusieurs affaires, et une affaire a plusieurs activités.
Un CRM créé avec l'IA est-il sécuritaire ?
Il peut l'être si l'on applique les protections du guide : ignorer .env.local dans Git, garder la clé service_role secrète, exiger la connexion avec un middleware, activer les règles RLS dans Supabase et sauvegarder régulièrement. Le code généré par une IA doit toujours être vérifié et testé.
Qu'est-ce qu'une application web progressive (PWA) et pourquoi est-ce utile pour un CRM ?
Une application web progressive (PWA) est un site qui s'installe comme une application : une icône sur le téléphone ou le bureau, un affichage plein écran, sans barre d'adresse. Pour un CRM, cela veut dire que votre équipe le consulte facilement depuis un cellulaire, en rendez-vous ou en déplacement, sans App Store, sans approbation et sans version séparée à maintenir.
Peut-on installer son CRM sur un téléphone ?
Oui, en le transformant en Progressive Web App (PWA). Sur iPhone, on ouvre le site dans Safari et on choisit Partager puis « Sur l'écran d'accueil »; sur Android, Chrome propose Installer l'application. Aucun App Store n'est nécessaire.
Que se passe-t-il si mon projet Supabase gratuit se met en pause ?
Selon le guide, un projet gratuit se met en pause après une semaine sans activité. Il suffit de cliquer sur Restore project dans le tableau de bord : les données sont conservées. Passez au plan payant dès que le CRM devient essentiel.
Quand vaut-il mieux confier son CRM à un développeur ?
Quand les données sont sensibles, que des intégrations sont nécessaires, que les permissions sont fines, que le nombre d'utilisateurs est élevé ou que personne ne peut maintenir l'outil. Le vibe coding sert bien à prototyper, puis des professionnels peuvent reprendre le projet.
Combien une équipe de 5 vendeurs peut-elle économiser avec un CRM sur mesure ?
Contre HubSpot Sales Hub Professional ou Salesforce Pro Suite, l'écart atteint environ 11 600 $ à 12 000 $ sur 3 ans pour 5 vendeurs, et un CRM sur mesure MVP à 5 000 $ se rembourse en moins d'un an. Contre Odoo Standard ou Pipedrive Growth, le sur mesure devient moins cher au bout de 3 ans; contre Zoho Professional (23 $ US par utilisateur), l'abonnement reste moins cher, et le sur mesure vaut alors pour l'adaptation et la propriété. Les prix des abonnements changent : vérifiez-les sur les sites officiels.
CRM sur mesure ou Zoho, Odoo, Salesforce, Pipedrive, HubSpot : lequel choisir ?
Choisissez un abonnement pour un processus de vente standard, un démarrage rapide et des intégrations prêtes à l'emploi. Choisissez le sur mesure quand vos processus sont spécifiques, quand l'équipe grandit (pas de licence par utilisateur), quand vos données sont sensibles ou quand vous voulez brancher l'IA directement.
Vous préférez qu'on bâtisse votre CRM pour vous ?
Vous avez le prototype ou seulement l'idée : notre équipe conçoit un CRM sur mesure, sécurisé et adapté à votre façon de vendre, sans que vous ayez à le maintenir.
- ✓Un CRM taillé pour votre processus de vente
- ✓Sécurité, sauvegardes et conformité prises en charge
- ✓Reprise possible de votre prototype existant
Sources et références
- 1.Tarifs officiels de Salesforce (Canada) — Starter Suite 25 $ US, Pro Suite 100 $ US, Core 195 $ US par utilisateur par mois (facturation annuelle).
- 2.Tarifs officiels de HubSpot Sales Hub — Starter 7 $ US (annuel), Professional 90 $ US (annuel) avec 1 500 $ US d'intégration, Enterprise 150 $ US avec 3 500 $ US d'intégration.
- 3.Tarifs officiels d'Odoo (Canada) — Standard 44,20 $ CA et Custom 68,50 $ CA par utilisateur par mois, toutes les applications incluses (facturation annuelle).
- 4.Tarifs officiels de Pipedrive (Canada) — Lite 19 $ CA, Growth 49 $ CA, Premium 79 $ CA, Ultimate 109 $ CA par utilisateur par mois (facturation annuelle).
- 5.Tarifs de Zoho CRM — Prix en dollars américains, facturation annuelle, concordants dans plusieurs comparatifs tiers (Standard 14 $, Professional 23 $, Enterprise 40 $). La page officielle affiche les prix selon la localisation du visiteur.
- 6.Offre CRM sur mesure d'Oriana Solutions — MVP en 14 jours dès 5 000 $, CRM complet de 10 000 $ à 40 000 $, hébergement de quelques dizaines de dollars par mois.
- 7.Guide interne Oriana Solutions — Construire un CRM de A à Z : 60 étapes, annexes SQL, variables, prompts et dépannage.
- 8.Documentation Next.js — App Router, middleware.ts et manifest.ts.
- 9.Documentation Supabase — Postgres, authentification, sécurité au niveau des lignes (RLS) et sauvegardes.
- 10.Documentation Vercel — Déploiement, variables d'environnement, domaines et retour à une version précédente.
- 11.Documentation GitHub — Dépôts privés et historique du code.


Comment créer son CRM en 11 phases ?
Le guide découpe le projet en 11 phases et 60 étapes. Chaque phase se termine par un résultat vérifiable, ce qui permet de savoir si l'on peut passer à la suivante.