Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Access and manage the Qualiopi panel
AI summary · website content
BusinessHTML · JavaScriptGitHub @lballoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Interface de gestion connectée aux bases Notion du template Qualiopi.
Projet séparé de formation-app : il dispose de son propre budget de fonctions serverless
(la limite de 12 sur l'offre Hobby s'applique par déploiement, pas par compte).
Créer le dépôt GitHub (par exemple gestion-qualiopi) et y déposer ces fichiers.
Importer le dépôt dans Vercel : Add New → Project → sélectionner le dépôt.
Renseigner les deux variables d'environnement (Settings → Environment Variables), sur les trois environnements Production, Preview et Development :
| Variable | Valeur |
|---|---|
NOTION_API_KEY | la même clé d'intégration que formation-app |
DASHBOARD_SECRET | le mot de passe d'accès au panel |
Déployer, puis ouvrir l'URL et saisir le DASHBOARD_SECRET sur l'écran de connexion.
(facultatif) Rattacher un sous-domaine, par exemple gestion.lauraballo.com.
⚠️ L'intégration Notion doit avoir accès aux bases utilisées. Si une base renvoie une erreur 404, ouvrez-la dans Notion → menu ⋯ → Connexions → ajouter l'intégration.
index.html interface complète (reprend la maquette validée)
api/_notion.js client Notion partagé : bases, lecture/écriture, authentification
api/data.js GET — chargement initial de toutes les bases
api/sessions.js POST — créer une session, modifier ses champs, réécrire ses créneaux
api/apprenants.js POST — créer, modifier, supprimer un apprenant
api/inscriptions.js POST — inscrire, importer, mettre à jour un parcours, convoquer
api/upload.js POST — déposer un fichier dans une propriété Notion
8 fonctions serverless sur 12.
api/catalogue.js POST — formations : créer, modifier, supprimer, habilitations
api/annuaire.js POST — formateurs, clients, contacts, documents, échanges, financeurs, suivi de compétences
api/qualite.js POST — veille, amélioration continue, abandons, modèles de documents, fiche organisme
| Écran | Lecture | Écriture |
|---|---|---|
| Tableau de bord & conformité | ✅ | — |
| Sessions, créneaux, analyse du besoin, rapport | ✅ | ✅ |
| Apprenants et inscriptions | ✅ | ✅ |
| Fiche inscription (financement, parcours, convocation) | ✅ | ✅ |
| Import de stagiaires | — | ✅ |
| Formations (catalogue complet, 38 champs) | ✅ | ✅ |
| Formateurs, habilitations, suivi des compétences | ✅ | ✅ |
| Clients, contacts, documents contractuels, échanges | ✅ | ✅ |
| Financeurs | ✅ | ✅ |
| Veille | ✅ | ✅ |
| Mon organisme | ✅ | ✅ |
| Amélioration continue (18 champs, dont réclamations) | ✅ | ✅ |
| Abandons et ruptures de parcours | ✅ | ✅ |
| Modèles de documents | ✅ | ✅ |
Tous les dépôts de fichiers (programme, supports, déroulé, justificatifs formateur, règlement intérieur, CGV, logo, documents administratifs) passent par l'API Notion.
Les signatures ne se saisissent pas depuis le panel : elles viennent des liens stagiaire et
formateur de formation-app, qui écrivent dans la base ✍️ Émargements. Le panel les affiche
uniquement. C'est volontaire — une signature saisie par l'organisme n'aurait aucune valeur probante.
| Base | Rôle |
|---|---|
| 📅 Sessions · 🗓️ Créneaux | Sessions et leur planning |
| 👥 Participants | Inscriptions (session × apprenant) |
| 🎓 Apprenants | Répertoire des personnes, identité seule |
| 📚 Formations | Catalogue |
| 🏢 Entreprises · 👤 Contacts | Clients et leurs interlocuteurs |
| 📄 Documents contractuels · 📞 Interactions | Devis, conventions et échanges |
| 👥 Collaborateurs · 📈 Suivi des compétences | Intervenants et leur professionnalisation |
| 💶 Financeurs | OPCO et organismes de prise en charge |
| ✍️ Émargements | Signatures stagiaires et formateur (lecture seule) |
| 📡 Journal de veille | Ind. 23 à 26 |
| 🔄 Amélioration continue | Ind. 30 à 32, réclamations incluses |
| 🚪 Abandons & ruptures | Ind. 12 |
| 📝 Modèles de documents | Convocations, attestations, procédures |
| 🏛️ Mon organisme | Identité, mentions légales, documents cadres |
| 📐 Référentiel qualité (RNQ) | Score de conformité : une ligne par indicateur (niveau, écart pressenti, synthèse d'audit) — lecture seule |
| 🧰 Dispositifs qualité | Dispositifs à renforcer affichés dans l'écran Conformité — lecture seule |
Score de conformité. Le pourcentage et les jauges (C1 à C7) viennent du 📐 Référentiel : indicateurs applicables dont le niveau est « Conforme ». La liste « À traiter » reprend les indicateurs non conformes ou avec un écart pressenti. Les contrôles internes du panel (programmes, convocations, émargements, veille…) restent affichés à part, sans entrer dans le pourcentage. Si le Référentiel est illisible (accès de l'intégration), l'écran le signale et le score retombe sur ces seuls contrôles.
La base 📮 Réclamations a été fusionnée dans 🔄 Amélioration continue (type d'action « Réclamation ») et renommée « [ARCHIVÉ] ».
L'envoi passe par l'API File Upload de Notion, en trois temps : création de l'objet, envoi du binaire, rattachement à la propriété. Limite de 4 Mo par fichier (contrainte de taille de corps de requête sur Vercel), au-delà le panel refuse avec un message explicite.
Si Notion refuse l'envoi avec une erreur de version, modifiez NOTION_VERSION dans
api/_notion.js — la valeur actuelle est 2022-06-28.
La saisie n'est jamais bloquée : l'écran se met à jour immédiatement, puis l'enregistrement part
vers Notion. Si Notion refuse, un message ⚠ Non enregistré : … apparaît en bas de l'écran.
Le bouton ↻ Recharger relit l'état réel des bases et permet de vérifier ce qui a été écrit.