Pratique
Développement SaaS multi-organisations et logiciel sur mesure
NextWR construit des plateformes que plusieurs organisations utilisent en même temps, chacune ne voyant que ses propres données. La frontière entre organisations, le modèle de permissions et l'API se conçoivent avant le premier écran.
Une plateforme multi-organisations, c'est un seul déploiement au service de plusieurs organisations. Chaque école, entreprise ou agence qui s'inscrit dispose de ses utilisateurs, de ses enregistrements et de sa configuration, et aucune ne peut atteindre les données d'une autre. Cela ressemble à un filtre sur une requête. En pratique, c'est une décision qui touche le modèle de données, chaque point d'API, les tâches de fond et les rapports.
NextWR place l'organisation dans le chemin d'accès plutôt que de la traiter comme une colonne ajoutée plus tard. Les enregistrements portent l'organisation à laquelle ils appartiennent, et chaque requête part de l'organisation de l'appelant et descend. Une requête incapable de nommer son organisation ne s'exécute pas. Accueillir une nouvelle organisation devient alors une ligne dans une table, pas un déploiement de plus à corriger et à migrer.
Les permissions se contrôlent à la frontière de l'API, jamais uniquement dans l'interface. Un bouton masqué n'est pas une permission : c'est un indice rendu par du code qui s'exécute sur une machine que nous ne maîtrisons pas. Chaque requête est vérifiée au regard de l'organisation et du rôle de l'appelant avant d'atteindre la moindre donnée, et l'interface reflète cet état au lieu de le décider. Les règles deviennent alors testables sans navigateur.
Autour de ce noyau viennent les éléments qui rendent une plateforme utilisable : un tableau de bord d'administration pour ceux qui l'exploitent, un modèle de réglages pour que chaque organisation diffère sans modification de code, des exports, et une API partagée par les clients web et mobiles afin qu'une règle se change en un seul endroit.
Ce qui est inclus
- Modèle de données avec l'organisation dans le chemin d'accès, et migrations
- Accès par rôle appliqué dans l'API, les cas négatifs testés en premier
- Tableau de bord d'administration pour les personnes qui exploitent la plateforme
- Une API REST partagée par les clients web et mobiles
- Configuration par organisation, pour que les clients diffèrent sans modification de code
- Déploiement, sauvegardes et supervision sur une infrastructure qui appartient au client
Hors périmètre
- Identité de marque, création de logo et rédaction publicitaire
- Publicité payante et production de contenu
- Logique comptable, de paie ou fiscale, que nous ne sommes pas qualifiés à porter
Questions fréquentes
Pouvez-vous reprendre une plateforme déjà en service ?
Oui, en commençant par une lecture écrite de l'existant : où la frontière entre organisations est réellement appliquée, ce que couvrent les tests, et ce qui casserait en premier. Cette lecture est un travail facturé et elle reste au client, que nous poursuivions ou non.
Pourquoi multi-organisations plutôt qu'une instance par client ?
Des instances séparées paraissent plus simples le premier jour et deviennent ingérables au dixième client : dix bases à migrer, dix déploiements à corriger, dix endroits où un défaut peut se cacher. L'organisation dans le modèle de données coûte une semaine au début et évite la réécriture ensuite.
Projets qui l'utilisent
SaaS multi-organisations
Plateforme de gestion scolaire
Une plateforme multi-organisations pour écoles et entreprises : classes, groupes, élèves, parents, enseignants et matières, chaque opération étant limitée à une seule organisation.
Caisse et menu QR
Plateforme pour restaurants
Gestion de restaurant avec caisse, menu numérique accessible par code QR, commandes, adhésions, gestion multi-établissements et portefeuilles multidevises.
Architecture
Appliquer les permissions multi-organisations dans l'API
L'isolation entre organisations est facile à décrire et facile à rater d'une façon qui reste invisible jusqu'au jour où un client voit une ligne appartenant à quelqu'un d'autre.
Dites-nous ce que vous construisez.
Écrivez en anglais, en français, en roumain ou en arabe. Chaque message reçoit une réponse écrite sous un jour ouvré.