Ce que vous pouvez construire
Le framework est volontairement petit — une poignée de concepts qui se combinent pour couvrir une large surface. Cette page est le catalogue de ce que les équipes construisent réellement avec lui, avec le chemin pour chacun : combien relève de la configuration, combien de code sur mesure, comment les tutoriels et recettes de cookbook existants s'y branchent.
Si vous ne savez pas si le framework convient à votre problème, cette page est le bon endroit où vérifier.
Vue d'ensemble
Le motif est le même pour chaque cas d'usage : définissez les sources de données, pointez les écrans dessus, organisez le menu, posez les permissions. Les différences sont dans les fonctionnalités qui passent au premier plan.
1. Apps d'administration internes
Le cas d'usage canonique. Vous avez une base de données (utilisateurs, produits, contrats, tickets — n'importe quoi) et vous voulez une interface propre pour que l'équipe consulte les données, les modifie, les filtre, les exporte.
Ce que le framework fait pour vous
| Fonctionnalité | Intégrée |
|---|---|
| Grille avec colonnes triables / filtrables, pagination, multi-sélection. | ✓ |
| Dialogue d'édition avec onglets, champs, validation, flux d'enregistrement. | ✓ |
| Actions Ajouter / Modifier / Supprimer avec contrôles par rôle. | ✓ |
| Export Excel de la vue filtrée courante. | ✓ |
Colonnes d'audit (created_by, created_at, updated_by, updated_at) renseignées automatiquement à l'enregistrement. | ✓ |
| Verrous d'enregistrement — deux opérateurs ne peuvent pas modifier la même ligne en même temps. | ✓ |
| Localisation — chaque libellé, chaque statut, chaque message d'erreur. | ✓ |
Ce que vous écrivez
| Tâche | Temps |
|---|---|
| Décider quelles tables votre app a besoin. | Quelques minutes. |
| Configurer le pool qui pointe vers votre base. | 2 minutes — collez l'URL JDBC, testez la connexion. |
Écrire une requête SQL de lecture par écran (SELECT ... FROM ...). | 5 à 10 minutes par écran. |
Écrire les requêtes d'écriture (INSERT, UPDATE, DELETE) pour les écrans modifiables. | 5 minutes par écran. |
| Choisir les colonnes à afficher, les onglets du dialogue, les widgets des champs. | 5 à 10 minutes par écran dans l'interface Paramètres. |
Une app d'administration typique à 10 écrans, avec un opérateur qui connaît le schéma, sort en une journée. L'essentiel du temps passe dans le SQL.
Parcours guidé
Le tutoriel Construire un CRM est exactement ça — clients, affaires, activités, avec des relations et un tableau de bord par-dessus. Six étapes guidées, de bout en bout.
Pour une fiche pratique recette sur un seul écran CRUD, voir Cookbook → CRUD sur une table existante.
2. Tableaux de bord BI
Le framework intègre des graphiques (courbe, barre, secteur, aire, nuage), des tableaux de bord (mise en page 12 colonnes avec panneaux stat / graphique / table) et une barre de filtres partagée qui propage une période ou un périmètre à chaque panneau.
Ce que le framework fait pour vous
| Fonctionnalité | Intégrée |
|---|---|
| Panneaux stat avec delta vs la période précédente et sparklines de tendance. | ✓ |
| Graphiques qui enveloppent des requêtes SQL nommées — palettes de couleurs, légendes, infobulles, empilage. | ✓ |
| Tables en petits panneaux « top 5 refusés / en attente / en retard ». | ✓ |
| Barre de filtres partagée qui propage une période, une société, une région à chaque panneau. | ✓ |
| Drill-down depuis n'importe quel panneau vers l'écran sous-jacent, pré-filtré. | ✓ |
| Export PDF du tableau de bord rendu. | ✓ |
| Élagage des permissions — les panneaux qui référencent des requêtes que l'appelant ne peut pas exécuter disparaissent silencieusement. | ✓ |
Ce que vous écrivez
| Tâche | Temps |
|---|---|
Écrire les requêtes SQL qui agrègent vos données (généralement GROUP BY par période). | Le gros du travail — 10 à 30 minutes par requête selon la complexité des jointures. |
| Câbler un graphique par requête et une stat par KPI. | 2 minutes par graphique dans l'interface Paramètres. |
| Les disposer sur la grille du tableau de bord. | 5 minutes. |
Un tableau de bord avec 4 KPI + 2 graphiques + 1 table drill-down — une demi-journée, avec l'essentiel du temps dans le SQL.
Parcours guidé
Tutoriel — CRM → Étape 4 « Tableau de bord du pipeline commercial » déroule l'opération.
3. Administration d'ERP (JD Edwards, SAP, NetSuite)
Les ERP livrent des UI natives fonctionnelles mais lentes, datées et lourdes. Le framework vous donne une interface moderne au-dessus de la base de l'ERP, sans modifier l'ERP lui-même.
Ce que le framework fait pour vous
| Fonctionnalité | Intégrée |
|---|---|
| Connexion à JDE / SAP / NetSuite via des pools Oracle ou SQL Server. | ✓ |
| Lecture des données de référence ERP — utilisateurs, adresses, articles, comptes, centres de travail. | ✓ |
| Visualisation de la sécurité — rôles, permissions, suivi des objets, journal d'audit. | ✓ |
| Supervision des traitements batch — file d'impression BIP, soumissions de jobs, planificateur. | ✓ |
| Vues par environnement — DV / PY / PD avec les mêmes écrans. | ✓ |
| Lecture seule par défaut pour la sûreté, chemins d'écriture ajoutés explicitement par écran. | ✓ |
Ce que vous écrivez
| Tâche | Temps |
|---|---|
| Définir le pool ERP — URL Oracle, schéma, identifiants. | 5 minutes (mode Oracle thin, pas d'installation cliente nécessaire). |
| Écrire les requêtes SELECT sur les tables ERP. | La partie intéressante — demande la connaissance des tables ERP. |
| Mettre les écrans en lecture seule par défaut ; opter intentionnellement pour des chemins d'écriture. | Une ligne par écran. |
Parcours guidé
Pour JD Edwards en particulier : l'application packagée Nomajde est une app Nomana-IT bâtie sur le framework et qui livre une admin JDE complète — utilisateurs F0092, security workbench, file BIP, données de référence. Installez-la, pointez-la sur votre base JDE, c'est fini. Aucun tutoriel n'est nécessaire.
La même approche fonctionne pour SAP (schéma SAPSR3), NetSuite (API suite-analytics), Microsoft Dynamics (le backend SQL on-premise).
Les apps éditeur Nomana-IT Nomasx-1 et Nomajde sont des versions productionnées de ce motif — empaquetez toute une app d'administration, mettez-la sous licence, livrez-la aux clients.
4. Intégrations
Le moteur Jobs / Nomaflow du framework + les connecteurs HTTP + les déclencheurs planifiés couvrent le besoin « plateforme d'intégration » sans outil distinct.
Ce que le framework fait pour vous
| Fonctionnalité | Intégrée |
|---|---|
| Jobs planifiés en cron avec rejeu, timeouts, verrou d'instance unique. | ✓ |
| Connecteurs HTTP / REST avec auth (Basic, Bearer, OAuth2), paramètres, mise en forme de la réponse. | ✓ |
| Copie SQL → SQL avec coercition de types, découpage par lots, échange de table atomique. | ✓ |
| Synchronisation LDAP avec mapping d'attributs et upsert. | ✓ |
| Récepteurs de webhooks — endpoints REST ouverts par le framework. | ✓ |
| Historique d'exécution avec entrées / sorties / logs par étape. | ✓ |
| Suivi de log en direct via Socket.IO. | ✓ |
| Notifications d'échec vers Slack / e-mail / webhook. | ✓ |
Ce que vous écrivez
| Tâche | Temps |
|---|---|
| Définir les connecteurs source et cible. | 5 minutes chacun. |
| Écrire les définitions d'étape du job dans l'éditeur de jobs. | 10 à 30 minutes par job. |
| Du Python sur mesure uniquement pour ce que les types d'étape déclaratifs ne couvrent pas. | La porte de sortie — rarement nécessaire. |
Parcours guidé
Tutoriel — CRM → Étape 6 « IA et jobs » couvre un job planifié qui rejoue chaque nuit. Pour une recette exécutable, Cookbook → Rapport planifié par e-mail.
5. Portails clients
Un portail client est juste une app d'administration interne cadrée sur les données niveau ligne d'un seul tenant. Le modèle de permissions du framework (codes sql:<connector>:<query> + le placeholder session.user) couvre l'isolation niveau ligne sans code spécifique.
Ce que le framework fait pour vous
| Fonctionnalité | Intégrée |
|---|---|
| Connexion OIDC — votre IdP, l'IdP du client, ou les deux. | ✓ |
Filtrage de ligne par utilisateur via des motifs WHERE owner = :session_user. | ✓ |
| Codes de permission par écran — vos opérateurs voient des écrans différents du client. | ✓ |
| Upload et téléchargement de fichiers. | ✓ |
| Journal d'audit de chaque écriture que le client effectue. | ✓ |
| UI brandée — thème de l'app client, logo personnalisé, favicon personnalisée. | ✓ |
Ce que vous écrivez
| Tâche | Temps |
|---|---|
| Câbler OIDC contre votre IdP (ou celui du client). | 10 minutes par IdP. |
Ajouter WHERE owner = :session_user à chaque requête côté client. | Une ligne par requête. |
| Donner au client un seul rôle avec les bonnes permissions. | 2 minutes. |
Parcours guidé
Les parties rôles + OIDC sont dans Tutoriel — CRM → Étape 5 « Rôles et SSO ». Le motif de filtrage niveau ligne est documenté dans Cookbook → Accès au niveau ligne.
6. Orchestration de workflows
La combinaison écrans + conditions de formulaire + jobs couvre la plupart des workflows à machine d'états — approuver / refuser, escalader, router vers la bonne équipe.
Ce que le framework fait pour vous
| Fonctionnalité | Intégrée |
|---|---|
| Champ Statut rendu en chip coloré avec transitions contrôlées par rôle. | ✓ |
| Formulaires multi-étapes — un long processus découpé sur les onglets du même dialogue. | ✓ |
| Visibilité par état — champ « Commentaires » visible seulement après Soumettre ; « Motif de refus » seulement sur Refuser. | ✓ |
| Relances planifiées — un job qui relance après N jours dans un état. | ✓ |
| Notifications vers l'opérateur concerné sur changement d'état. | ✓ |
Ce que vous écrivez
| Tâche | Temps |
|---|---|
Modéliser la machine d'états dans votre base (une colonne status + une table transitions si vous voulez des contrôles fins). | Une table. |
| Câbler les conditions sur les champs du formulaire. | Par champ, mais rapide — voir l'éditeur dans Conditions de formulaire. |
| Câbler les notifications sur la requête d'écriture du changement de statut. | Quelques minutes. |
Parcours guidé
Cookbook → Formulaire multi-étapes est la recette exécutable.
7. ETL et entrepôt de données
Pour les équipes qui ingèrent des données depuis plusieurs sources dans un entrepôt, Nomaflow + les connecteurs du framework couvrent l'orchestration et l'UI opérateur.
Ce que le framework fait pour vous
| Fonctionnalité | Intégrée |
|---|---|
Étape sql_copy — diffuse les lignes source → cible avec coercition de types, découpage par lots, renommage atomique. | ✓ |
| Rejeu par étape avec backoff exponentiel. | ✓ |
| Contrôle de concurrence — instance unique par job. | ✓ |
| Dépendances entre jobs. | ✓ |
| Une UI pour superviser chaque exécution, avec suivi de log en direct. | ✓ |
Ce que vous écrivez
| Tâche | Temps |
|---|---|
| Définir les pools source et cible. | 5 minutes chacun. |
Écrire les requêtes source (souvent un simple SELECT * FROM source_table). | Trivial. |
| Câbler le job dans l'éditeur de jobs. | 10 minutes par copie. |
Parcours guidé
Cookbook → Import en masse couvre le côté entrant ; la documentation des jobs couvre l'orchestration.
Quand le framework n'est pas le bon outil
Section honnêteté :
- Applications grand public. L'UX grille + dialogue est orientée opérateur, pas grand public. Utilisez Next.js / Remix pour ça.
- Apps mobile-first. La SPA fonctionne sur mobile mais n'est pas pensée pour. Utilisez React Native / Flutter pour du natif.
- Apps de collaboration temps réel. Les verrous empêchent les éditions concurrentes, mais le framework n'embarque pas d'operational-transform ni de CRDT. Utilisez Yjs / Liveblocks.
- UX très personnalisée. Si la plupart de vos écrans demandent une mise en page unique (un tableau Kanban, un diagramme de Gantt, une carte), la grammaire grille + dialogue du framework vous freine. Mieux vaut intégrer des routes React personnalisées ; ou choisir un autre outil.
- Sites marketing statiques. Utilisez un générateur de site statique.
Le framework est le bon outil quand la plupart de vos écrans sont liste-et-édition au-dessus d'une base de données, avec des touches de tableaux de bord, jobs et intégrations. Ce qui décrit la grande majorité des applications internes.
Choisissez votre chemin
| Vous êtes… | Commencez par |
|---|---|
| Nouveau sur le framework et vous voulez un tutoriel propre | Tutoriel — Construire un CRM — six étapes, domaine générique. |
| En train de planifier une admin JDE | Installez l'app packagée Nomajde — spécifique JDE, rien à construire. |
| En train de planifier une admin SAP / NetSuite / autre ERP | Suivez le Tutoriel — Construire un CRM ; le modèle se transpose. |
| Juste en train de l'installer pour la première fois | Démarrage → Installation. |
| À la recherche d'une marche à suivre précise | Cookbook — recettes courtes. |
| Du genre à lire la grammaire du framework d'abord | Connecteurs est l'entrée naturelle. |