Étude de cas
OptiVision : un ERP Odoo en marque blanche pour opticiens
, 6 min de lecture

OptiVision ERP est l'ERP Odoo 16 en marque blanche que ShipFastDev a conçu pour les opticiens et les magasins de lunetterie : un catalogue avec les caractéristiques des montures, des verres et des lentilles de contact, une caisse, la gestion des stocks et un reporting des ventes par catégorie, le tout au nom et au logo du magasin. Il repose sur Odoo Community et deux modules sur mesure. Il n'est pas public ; une démonstration est possible lors d'un appel.
Ce que l'opticien peut faire
- Tenir un catalogue lunetterie. Montures, verres correcteurs, lentilles de contact, solaires, accessoires et produits d'entretien, chaque article disposant d'un onglet « Détails opticien » à côté des onglets habituels d'Odoo (ventes, achats, stock).
- Décrire les montures : matière, style, couleur, largeur de la monture, pont, longueur des branches, largeur et hauteur des verres.
- Décrire les verres et les lentilles : type de verre (unifocal, bifocal, progressif), matière, indice et plages de correction ; traitements (protection UV, filtre lumière bleue, antireflet, photochromique) ; rayon de courbure, diamètre, teneur en eau et perméabilité à l'oxygène pour les lentilles ; et valeurs de prescription (SPH, CYL, AXE, ADD, prisme).
- Indiquer les exigences d'un produit : ordonnance requise ou non, verre correcteur ou non, montage en atelier nécessaire, durée de garantie.
- Partir de vraies marques. Les données d'exemple comprennent des marques de montures (Ray-Ban, Oakley, Gucci, Tom Ford, Persol), des verriers (Essilor, ZEISS, Hoya) et des marques de lentilles (Acuvue, CooperVision, Bausch + Lomb).
- Encaisser au comptoir avec le point de vente d'Odoo, les produits étant classés en montures, verres, lentilles, solaires, entretien et accessoires. Selon la documentation d'Odoo, son Point de Vente fonctionne sur tout appareil doté d'un navigateur, même en cas de coupure temporaire de connexion.
- Voir ce qui se vend. Une analyse des ventes présente le chiffre d'affaires par catégorie, par exemple les verres correcteurs face aux montures et aux solaires.
- Scanner les codes-barres pour les ajustements de stock, les préparations et les réceptions, avec une douchette USB ou l'appareil photo d'un téléphone.
Ce qui a été construit
- Odoo 16 Community sous Docker. Odoo et PostgreSQL tournent avec Docker Compose, accompagnés d'une configuration Nginx de production. Le stock et le réapprovisionnement reposent sur l'application standard Inventaire d'Odoo.
- Un module opticien. Un module sur mesure ajoute les champs lunetterie, un modèle de marques, un modèle de clés d'API, les vues opticien et les données d'exemple. Comme tout module Odoo, il déclare ses dépendances et ses données dans un manifeste : il s'installe et se met à jour indépendamment, avec une commande documentée pour la mise à jour.
- Un module de marque blanche. Un second module retire la marque Odoo de l'interface et donne au magasin sa propre page de connexion, ses couleurs, ses en-têtes et pieds de page, ses rapports PDF et ses modèles d'e-mails. Une page de réglages « Branding » regroupe le nom de la marque, le slogan, le contact support, les couleurs et les logos, et chaque société peut définir son logo de connexion, son logo d'e-mail, son logo PDF, son favicon et son texte de pied de page. Sa dernière version masque aussi les invitations à passer à la version Enterprise.
- Une API REST pour les autres applications. Elle liste les produits (filtrés par type, marque ou disponibilité), renvoie le détail d'un produit avec ses images, liste les marques, vérifie le stock par référence (SKU) et met à jour les quantités. Elle est construite avec les contrôleurs web d'Odoo. Les clés d'API se gèrent dans les réglages de l'Inventaire : une par application, en lecture seule ou en lecture-écriture, avec suivi d'utilisation (dernier appel, nombre de requêtes), régénération et désactivation.
- Des modules communautaires à la place d'Enterprise. Des modules de l'Odoo Community Association (OCA) couvrent le scan de codes-barres, leur génération et les codes-barres multiples par produit, les rapports BI en SQL ou en éditeur visuel, les exports Excel et CSV et les circuits de validation. Pour la caisse, les modules point de vente de l'OCA ajoutent la marge sur les commandes, l'affichage de la remise à l'écran et sur le ticket, la modification des lignes, les commentaires client, la sélection de lot et un client par défaut.
Comment la fiabilité est assurée
- Limitation de débit. La configuration Nginx de production autorise 10 requêtes d'API par seconde (pic de 20) et 5 tentatives de connexion par minute (pic de 5).
- En-têtes de sécurité et filtrage. HSTS, X-Frame-Options, X-Content-Type-Options et Content-Security-Policy, ainsi que des règles qui bloquent les motifs d'injection SQL, les tentatives de cross-site scripting, les scanners de vulnérabilités et la traversée de répertoires.
- Cache. Fichiers statiques mis en cache 7 jours, images 1 jour.
- Accès à l'API. Tous les points d'accès, sauf le contrôle de santé, exigent une clé ; la mise à jour du stock exige une clé avec droit d'écriture. Le contrôle de santé permet aux outils de supervision de vérifier que le service répond.
- Une check-list de mise en production. Le README liste les étapes avant le lancement : changer les mots de passe maître et de base de données, activer HTTPS, configurer le pare-feu, planifier les sauvegardes, revoir les droits des clés d'API et activer la double authentification des administrateurs. Les commandes de sauvegarde, de restauration et de mise à jour des modules sont documentées.
- Un Odoo standard en dessous. Les adaptations vivent dans des modules séparés, pas dans le code d'Odoo : le socle reste un Odoo 16 Community standard.
Dernières versions
Les quatre commits du dépôt datent tous du 25 janvier 2026 :
- Le projet initial : configuration Docker, modules opticien et marque blanche, modules OCA et documentation.
- Docker Compose expose un port Odoo supplémentaire et prévoit, en commentaire, un service Nginx de proxy inverse local.
- Le module de marque blanche passe en version 16.0.2, avec une description plus complète et des scripts et styles qui masquent les fonctions et invitations Enterprise.
- Une documentation sur l'emplacement du scanner de codes-barres OCA, l'installation des alternatives et les fonctions Enterprise qu'elles remplacent.
Quand Odoo est adapté
Pour savoir si un ERP de ce type convient à votre entreprise, voir Odoo, l'ERP des petites entreprises, et No-code ou développement sur mesure pour savoir quand le paramétrage suffit et quand des modules sur mesure se justifient. D'autres projets figurent dans le portfolio, dont l'étude de cas Driveway Morocco.
Questions fréquentes
OptiVision est-il un logiciel distinct d'Odoo ?
Non. C'est Odoo 16 Community avec deux modules sur mesure (champs opticien et marque blanche) et une série de modules OCA. Les utilisateurs voient la marque du magasin au lieu de celle d'Odoo dans le back-office, sur la page de connexion, dans les rapports et dans les e-mails.
Peut-il se connecter à une boutique en ligne ou à d'autres applications ?
Oui, par son API REST : produits, marques, vérification du stock par référence et mise à jour des quantités, chaque application ayant sa propre clé en lecture seule ou en lecture-écriture.
Faut-il Odoo Enterprise ?
Non. OptiVision tourne sur Odoo Community, et les modules OCA apportent le scan de codes-barres, le reporting, les exports et les circuits de validation qui relèveraient sinon d'Enterprise.
Peut-on le voir ?
OptiVision n'est pas public. Une démonstration est possible lors d'un appel.
Sources
- Point of Sale (documentation Odoo 16.0), Odoo S.A., consulté en octobre 2026
- Inventory (documentation Odoo 16.0), Odoo S.A., consulté en octobre 2026
- Module manifests (documentation développeur Odoo 16.0), Odoo S.A., consulté en octobre 2026
- Web controllers (documentation développeur Odoo 16.0), Odoo S.A., consulté en octobre 2026
- OCA/pos, branche 16.0, Odoo Community Association (GitHub), consulté en octobre 2026
- OCA/stock-logistics-barcode, Odoo Community Association (GitHub), consulté en octobre 2026

