@mostajs/training 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +12 -0
  3. package/docs/00-PROPOSITION-PLAN-TRAINING-18062026.md +13 -0
  4. package/docs/01-ETUDE-ETAT-ART-TRAINING-18062026.md +216 -0
  5. package/docs/01-ETUDE-ETAT-ART-TRAINING-18062026.pdf +0 -0
  6. package/docs/03-PLAN-DEV-TRAINING.md +117 -0
  7. package/docs/03-PLAN-DEV-TRAINING.pdf +0 -0
  8. package/docs/04-PLAN-TESTS.md +82 -0
  9. package/docs/04-PLAN-TESTS.pdf +0 -0
  10. package/docs/05-PLAN-SUIVI-MONITORING.md +49 -0
  11. package/docs/05-PLAN-SUIVI-MONITORING.pdf +0 -0
  12. package/docs/PROPOSITION-MODULE-TRAINING.md +136 -0
  13. package/docs/PROPOSITION-MODULE-TRAINING.pdf +0 -0
  14. package/docs/old-dpf/01-ETUDE-ETAT-ART-TRAINING-18062026.pdf +0 -0
  15. package/docs/old-dpf/03-PLAN-DEV-TRAINING.pdf +0 -0
  16. package/docs/old-dpf/04-PLAN-TESTS.pdf +0 -0
  17. package/docs/old-dpf/05-PLAN-SUIVI-MONITORING.pdf +0 -0
  18. package/docs/old-dpf/PROPOSITION-MODULE-TRAINING.pdf +0 -0
  19. package/docs/results-training-20260618/01-lms.json +42 -0
  20. package/docs/results-training-20260618/02-sis.json +42 -0
  21. package/docs/results-training-20260618/10-catalog.json +42 -0
  22. package/docs/results-training-20260618/11-cefr.json +42 -0
  23. package/docs/results-training-20260618/20-sessions.json +42 -0
  24. package/docs/results-training-20260618/30-enroll.json +42 -0
  25. package/docs/results-training-20260618/40-centre.json +42 -0
  26. package/docs/results-training-20260618/41-centre-fr.json +42 -0
  27. package/docs/results-training-20260618/50-incub.json +42 -0
  28. package/docs/results-training-20260618/51-incub-fr.json +42 -0
  29. package/docs/results-training-20260618/60-standards.json +42 -0
  30. package/docs/results-training-20260618/70-ao.json +42 -0
  31. package/docs/results-training-20260618/71-agrement.json +42 -0
  32. package/docs/results-training-20260618/80-acad-lms.json +1 -0
  33. package/docs/results-training-20260618/81-acad-sched.json +1 -0
  34. package/docs/results-training-20260618/SOURCES.md +48 -0
  35. package/docs/results-training-20260618/academic-only.csv +2 -0
  36. package/docs/results-training-20260618/all-results.csv +130 -0
  37. package/docs/results-training-20260618/vendors-only.csv +11 -0
  38. package/docs/scripts-recherche-training-18062026.sh +84 -0
  39. package/docs/scripts-recherche-training-portable-18062026.sh +74 -0
  40. package/examples/cohorte/run.mjs +13 -0
  41. package/llms.txt +14 -0
  42. package/package.json +26 -0
  43. package/src/index.js +4 -0
  44. package/src/memory-repo.js +8 -0
  45. package/src/schemas.js +17 -0
  46. package/src/training.js +61 -0
  47. package/test-scripts/unit/training.test.mjs +45 -0
@@ -0,0 +1,136 @@
1
+ # Proposition de module (cas C — DEVRULES §4) — `@mostajs/training`
2
+
3
+ **Auteur** : Dr Hamid MADANI <drmdh@msn.com>
4
+ **Date** : 2026-06-18
5
+ **Statut** : **proposition à discuter** (cas C en cours — précède tout scaffold, cf. DEVRULES §0/§1/§4)
6
+ **Consommateurs visés** : **P1 — Hadhinat** (formation/accompagnement des entreprises incubées) **et P2 — ATC Smart Campus** (catalogue de formations + groupes + sessions). Réutilisabilité **avérée sur 2 projets** (condition §4.4).
7
+ **Origine** : confrontation `Entreprise/CONFRONTATION-MODULES-HADHINAT-ATC.md` → module métier générique commun. Roadmap : `Entreprise/ROADMAP-GLOBAL-MOSTAJS-10042026.md` Phase 8 #31 (P0).
8
+
9
+ > Document de **proposition §4** (besoin · règle d'or · argumentation · discussion · doc technique).
10
+ > Aucune ligne de code métier ne précède sa validation (§0). Les **14 livrables §9** suivront le scaffold.
11
+
12
+ ---
13
+
14
+ ## 4.1 Le besoin
15
+
16
+ Deux projets indépendants doivent **structurer une offre de formation** et **organiser des sessions** :
17
+
18
+ - **P1 (Hadhinat)** — module « Formation & accompagnement » : catalogue de formations, **sessions**, inscriptions, évaluations, certification.
19
+ - **P2 (ATC)** — modules « Catalogue des formations » (F2 : langues/coaching/mémoire/…, avec **niveaux** A1→C2, 1→10) + « Gestion des groupes » (F3 : classes, **affectation enseignant**, **capacité max**, **calendrier des séances**, **salles**).
20
+
21
+ **Tâche non couverte** : modéliser et piloter un **catalogue de formations à niveaux**, des **sessions/groupes** (instances datées d'une formation, avec animateur, capacité, salle, planning récurrent de séances) et les **inscriptions** des apprenants — **indépendamment** du domaine (entreprises incubées *ou* élèves) et de la persistance.
22
+
23
+ **Consommateur/utilisateur réel** : le **gestionnaire pédagogique** (couveuse ou école) qui ouvre des sessions et y inscrit des apprenants ; et les **modules métier minces** (`@mostajs/incubator`, `@mostajs/school`) qui composent cette brique.
24
+
25
+ ---
26
+
27
+ ## 4.2 Application de la règle d'or (§0) — aucun module existant ne couvre la tâche
28
+
29
+ Modules **proches** examinés (inventaire réel 2026-06-18 + `llms.txt`) :
30
+
31
+ | Module proche | Ce qu'il fait | Pourquoi il NE couvre PAS la tâche |
32
+ |---|---|---|
33
+ | `@mostajs/booking-stack` | Réservation/scheduling : créneaux, ressources, salles, calendrier | Donne le **planning** des séances, **pas** le domaine *formation/niveau/session/inscription*. → `training` **compose** booking pour les séances, ne le remplace pas (cas B écarté). |
34
+ | `@mostajs/settings` | Clé-valeur typée + formulaire | Peut stocker des libellés, **pas** modéliser catalogue↔niveaux↔sessions↔inscriptions ni leurs règles. |
35
+ | `@mostajs/questa` | Questionnaires / évaluations | Couvre l'**évaluation** (futur `@mostajs/gradebook`), pas le catalogue/sessions. |
36
+ | `@mostajs/subscriptions-plan` | Plans, récurrence, factures, **scope** par entité | Couvre la **facturation** des inscriptions (paiement mensuel/par niveau), pas la pédagogie. → composé, pas dupliqué. |
37
+ | `@mostajs/ticketing` | Tickets + scan + quotas | Motif quotas réutilisable pour la **présence**, hors périmètre catalogue/session. |
38
+ | `@mostajs/crm` | Domaine commercial mince (Client/Order…) | Modèle de référence (« domaine mince ») mais **autre domaine**. |
39
+
40
+ **Conclusion** : **cas A écarté** (aucun ne couvre) ; **cas B écarté** (aucune extension simple d'un module existant ne suffit — la responsabilité « pédagogie/sessions » est distincte de booking, settings, questa, subscriptions). → **cas C confirmé**.
41
+
42
+ ---
43
+
44
+ ## 4.3 L'argumentation
45
+
46
+ **Pourquoi un module et non du code applicatif ?**
47
+ - **Réutilisabilité avérée** : 2 consommateurs immédiats (P1, P2), domaine identique. Coder en dur dans chaque app dupliquerait le modèle catalogue/session/inscription (dette, divergence). Interdit par §0/§10.
48
+ - **Frontière nette & testabilité isolée** : la logique « ouvrir une session, vérifier la capacité, inscrire, jalonner les niveaux » se teste sans UI ni DB (repos injectés).
49
+
50
+ **Pourquoi un nouveau module et non l'extension d'un existant ?**
51
+ - **Responsabilité unique** (§5) : `booking-stack` = *quand/où* ; `training` = *quoi/quel niveau/qui est inscrit*. Greffer la pédagogie dans booking violerait son périmètre (couplage, poids).
52
+ - Évaluation et facturation sont **déjà** d'autres responsabilités (`questa`/futur `gradebook`, `subscriptions-plan`) → `training` ne les absorbe pas non plus.
53
+
54
+ **Nom proposé** : `@mostajs/training` (cohérent avec le nommage écosystème ; `mosta-training/`). Domaine **mince**, façon `@mostajs/crm`.
55
+
56
+ ---
57
+
58
+ ## 4.4 La discussion du besoin
59
+
60
+ - **Est-ce le bon moment ?** **Oui** : 2 consommateurs réels et concomitants (P1, P2). On ne le crée pas « trop tôt » (règle d'amortissement Phase 8 : ≥ 2 consommateurs).
61
+ - **Est-ce réutilisable ailleurs ?** **Oui** : tout centre de formation, académie, programme d'accompagnement (déjà repéré dans `MostaJS-Academie`). Forte généricité.
62
+ - **Risque de duplication / chevauchement ?** Maîtrisé par la **délégation** : séances→`booking-stack`, évaluation→`gradebook`/`questa`, paiement→`payment`/`subscriptions-plan`, présence→`attendance`, certificats→`certificates`. `training` n'implémente **que** catalogue/niveaux/sessions/inscriptions.
63
+ - **Alternatives rejetées** :
64
+ 1. *Tout mettre dans le cœur métier (incubator/school)* → duplication entre P1 et P2. Rejeté.
65
+ 2. *Étendre `booking-stack`* → viole responsabilité unique. Rejeté.
66
+ 3. *Un gros `@mostajs/lms`* fusionnant training+gradebook+elearning+attendance → monolithe (§10 #4). Rejeté au profit de modules focalisés composables.
67
+
68
+ ---
69
+
70
+ ## 4.5 La documentation technique (périmètre, modèle, API, dépendances, squelettes)
71
+
72
+ ### Périmètre (responsabilité unique)
73
+ **Catalogue** de formations à **niveaux** + **sessions/groupes** (instances datées, animateur, capacité, salle, planning) + **inscriptions** des apprenants. **DB-agnostique** (repos injectés). **Délègue** tout le transverse.
74
+
75
+ ### Modèle de domaine (entités)
76
+ - **Course** (formation) : `id`, `title`, `category`, `description`, `active`.
77
+ - **Level** (niveau) : `id`, `courseId`, `order`, `label` (« A1 », « Niveau 3 »), `prerequisiteLevelId?`.
78
+ - **Session** (groupe/classe) : `id`, `courseId`, `levelId?`, `code` (n° via `numbering`), `instructorId?`, `room?`, `capacity`, `startDate`, `endDate?`, `schedule` (récurrence → `booking-stack`), `status` (`draft|open|full|running|closed`).
79
+ - **Enrollment** (inscription) : `id`, `sessionId`, `learnerId`, `status` (`pending|confirmed|cancelled|completed`), `enrolledAt`.
80
+
81
+ > `learnerId`/`instructorId` sont des **identifiants opaques** : le module ne possède **pas** l'apprenant ni l'enseignant (ce sont `@mostajs/school`/`incubator` et `@mostajs/staff`). Référence par id (frontière nette).
82
+
83
+ ### API (esquisse — figée en proposition, pas en code)
84
+ ```
85
+ createTraining(opts) -> Training
86
+ // opts: { repositories, booking?, numbering?, notifications?, now? }
87
+ Training.catalog.createCourse(dto) / addLevel(courseId, dto) / listCourses(filter)
88
+ Training.sessions.open(dto) / close(id) / setInstructor(id, staffId) / schedule(id, recurrence)
89
+ Training.enrollments.enroll(sessionId, learnerId) -> Enrollment // refuse si capacity atteinte
90
+ Training.enrollments.cancel(id) / complete(id) / listBySession(id) / listByLearner(id)
91
+ createMemoryRepositories() -> TrainingRepositories // défaut/tests ; prod via @mostajs/repository
92
+ ```
93
+
94
+ ### Dépendances (composition — §10) — ce que `training` consomme et par quel module
95
+ | Capacité | Module imposé | Mode |
96
+ |---|---|---|
97
+ | Persistance | `@mostajs/repository` (sur `data-plug`/`orm`) | DI (repos) |
98
+ | Planning des séances / salles | `@mostajs/booking-stack` | DI (peer) |
99
+ | N° de session/inscription | `@mostajs/numbering` | DI optionnel |
100
+ | Notifications (ouverture, confirmation, rappel) | `@mostajs/notifications` | DI optionnel |
101
+ | Libellés FR/AR/EN des statuts/niveaux | `@mostajs/i18n` | DI optionnel |
102
+ | Config (.env, profils) | `@mostajs/config` | runtime |
103
+ **Délégués hors périmètre** : évaluation → `@mostajs/gradebook`/`questa` ; paiement → `@mostajs/payment`/`subscriptions-plan` ; présence → `@mostajs/attendance` ; certificat → `@mostajs/certificates`.
104
+
105
+ ### Squelette `README.md` (happy-path)
106
+ ```md
107
+ # @mostajs/training
108
+ Catalogue de formations à niveaux + sessions/groupes + inscriptions — domaine mince, DB-agnostique.
109
+ ## Install
110
+ npm i @mostajs/training @mostajs/booking-stack @mostajs/repository
111
+ ## Exemple minimal
112
+ const t = createTraining({ repositories: createMemoryRepositories() })
113
+ const eng = await t.catalog.createCourse({ title: 'Anglais', category: 'langues' })
114
+ await t.catalog.addLevel(eng.id, { order: 1, label: 'A1' })
115
+ const s = await t.sessions.open({ courseId: eng.id, levelId, capacity: 12, startDate })
116
+ await t.enrollments.enroll(s.id, learnerId)
117
+ ## Référence API → voir llms.txt
118
+ ```
119
+
120
+ ### Squelette `llms.txt` (sections)
121
+ `RÔLE` (domaine mince formation/sessions/inscriptions, compose booking/numbering, délègue éval/paiement/présence) · `EXPORTS` (`createTraining`, repos mémoire, types) · `API` (catalog/sessions/enrollments) · `TYPES` (Course/Level/Session/Enrollment) · `PIÈGES` (ne possède pas learner/instructor → ids opaques ; capacity vérifiée à l'`enroll` ; séances déléguées à booking ; aucune persistance embarquée).
122
+
123
+ ---
124
+
125
+ ## Suite (DEVRULES §9 — après validation de cette proposition)
126
+
127
+ 1. **#1 état de l'art** (LMS/SIS open-source : Moodle, OpenedX, Canvas…) + **veille AO §8.4** → `Entreprise/appels-d-offres/`.
128
+ 2. **#2 audit de l'existant** (ce document en tient lieu pour la partie règle d'or).
129
+ 3. **#3 plan de dev** : v0.1 catalogue+niveaux ; v0.2 sessions+planning(booking) ; v0.3 inscriptions+capacité ; v0.4 notifications+i18n. **Citer** les capacités composées (§10).
130
+ 4. Scaffold `mosta-training/` conforme §5 → reste des **14 livrables §9** + portes **§11** (§11.2/§11.3 **informatives**) + exemple **§12** + article **#17**.
131
+
132
+ > **Validation demandée** : périmètre (mince), nom (`training`), frontières de délégation (éval/paiement/présence/certif). Une fois validé → plan de dev #3 puis scaffold.
133
+
134
+ ---
135
+
136
+ **Fin de la proposition `@mostajs/training`.**
Binary file
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "Open Source LMS Comparison 2026 | Moodle vs Open edX vs Canvas vs ...",
4
+ "url": "https://openeducat.org/comparisons/open-source-lms-comparison/"
5
+ },
6
+ {
7
+ "title": "Open Source LMS Comparison 2026 | Selleo",
8
+ "url": "https://selleo.com/blog/open-source-lms-comparison"
9
+ },
10
+ {
11
+ "title": "Best Open Source LMS in 2026: Top 9 Platforms Compared",
12
+ "url": "https://raccoongang.com/blog/open-source-lms-everything-you-need-know/"
13
+ },
14
+ {
15
+ "title": "10 Best Open-Source Learning Management Systems in 2026",
16
+ "url": "https://www.coursebox.ai/blog/best-open-source-learning-management-systems"
17
+ },
18
+ {
19
+ "title": "10 Best Free & Open-Source LMS Platforms in 2026 - Teachfloor",
20
+ "url": "https://www.teachfloor.com/blog/best-free-and-open-source-lms-platforms"
21
+ },
22
+ {
23
+ "title": "Best Free Open Source LMS Platforms 2026 - LMSPedia",
24
+ "url": "https://lmspedia.org/best-free-open-source-lms-platforms/"
25
+ },
26
+ {
27
+ "title": "A Comparison of Open-Source Learning Management Systems Used for ...",
28
+ "url": "https://www.researchgate.net/publication/387491743_A_Comparison_of_Open-Source_Learning_Management_Systems_Used_for_Distance_Education_in_Higher_Education_Institutions"
29
+ },
30
+ {
31
+ "title": "Top 10 Best Open Source LMS Platforms In 2026",
32
+ "url": "https://softwarefinder.com/resources/best-open-source-lms"
33
+ },
34
+ {
35
+ "title": "2026 Guide: The Best Open-Source LMS for Universities, Governments ...",
36
+ "url": "https://opencraft.com/2026-guide-the-best-open-source-lms-for-universities-governments-enterprises/"
37
+ },
38
+ {
39
+ "title": "Open Source LMS Comparison for Business: What to Consider",
40
+ "url": "https://anyforsoft.com/blog/open-source-lms-comparison/"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "GitHub - projectfedena/fedena: Fedena SIS · GitHub",
4
+ "url": "https://github.com/projectfedena/fedena"
5
+ },
6
+ {
7
+ "title": "Gibbon vs. openSIS Comparison - SourceForge",
8
+ "url": "https://sourceforge.net/software/compare/Gibbon-vs-openSIS/"
9
+ },
10
+ {
11
+ "title": "GitHub - OS4ED/openSIS-Classic: openSIS is a commercial grade, secure ...",
12
+ "url": "https://github.com/OS4ED/openSIS-Classic"
13
+ },
14
+ {
15
+ "title": "Gibbon - The Flexible School Platform",
16
+ "url": "https://gibbonedu.org/"
17
+ },
18
+ {
19
+ "title": "openSIS Classic | openSIS-Classic",
20
+ "url": "https://os4ed.github.io/openSIS-Classic/"
21
+ },
22
+ {
23
+ "title": "openSIS | Student Information & School Management Software",
24
+ "url": "https://opensis.com/"
25
+ },
26
+ {
27
+ "title": "openSIS Community Edition download | SourceForge.net",
28
+ "url": "https://sourceforge.net/projects/opensis-ce/"
29
+ },
30
+ {
31
+ "title": "Gibbon Documentation",
32
+ "url": "https://docs.gibbonedu.org/"
33
+ },
34
+ {
35
+ "title": "17 Free Open-source Self-hosted School Management Systems",
36
+ "url": "https://medevel.com/17-os-school-sis-sms/"
37
+ },
38
+ {
39
+ "title": "Free Student Information System: Open Source | OpenEduCat",
40
+ "url": "https://openeducat.org/articles/free-student-information-system-open-source/"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "Curriculum Design : Prerequisites",
4
+ "url": "https://www.kdd.org/curriculum/view/prerequisites"
5
+ },
6
+ {
7
+ "title": "Course Catalog Schema - AppearMore",
8
+ "url": "https://appearmore.com/industries/education/course-catalog-schema/"
9
+ },
10
+ {
11
+ "title": "Understanding the Course Catalog - Oracle",
12
+ "url": "https://docs.oracle.com/cd/E56917_01/cs9pbr4/eng/cs/lssr/concept_UnderstandingtheCourseCatalog-ab48b2.html"
13
+ },
14
+ {
15
+ "title": "PDF Data Modeling Workshop: Prerequisites and Curriculum",
16
+ "url": "https://www.excelerateclasses.com/wp-content/uploads/2026/01/Data-Modeling-Prerequisites-and-Curriculum.pdf"
17
+ },
18
+ {
19
+ "title": "PDF Data Systems Education: Curriculum Recommendations,Course Syllabi, and ...",
20
+ "url": "https://dbs-research.github.io/pdf/2025_recommendation.pdf"
21
+ },
22
+ {
23
+ "title": "PDF Data Models and Database",
24
+ "url": "https://lecture-notes.tiu.edu.iq/wp-content/uploads/2024/10/DB1_Lecture2_Theory.pdf"
25
+ },
26
+ {
27
+ "title": "Comprehensive LMS Documentation Guide | PDF | Data Model | Educational ...",
28
+ "url": "https://www.scribd.com/document/48901762/Learning-management-system-LMS-Modules"
29
+ },
30
+ {
31
+ "title": "Model Courses and Curricula - Salesforce",
32
+ "url": "https://help.salesforce.com/s/articleView?id=sfdo.EC_Model_Courses_and_Curricula.htm&language=en_US&type=5"
33
+ },
34
+ {
35
+ "title": "Course-Prerequisite Networks for Analyzing and Understanding Academic ...",
36
+ "url": "https://arxiv.org/pdf/2210.01269v1"
37
+ },
38
+ {
39
+ "title": "Curriculum Design, Development and Models: Planning for Student ...",
40
+ "url": "https://oer.pressbooks.pub/curriculumessentials/chapter/curriculum-design-development-and-models-planning-for-student-learning-there-is-always-a-need-for-newly-formulated-curriculum-models-that-address-contemporary-circumstance-an/"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "The CEFR Levels - Common European Framework of Reference for Languages ...",
4
+ "url": "https://www.coe.int/en/web/common-european-framework-reference-languages/level-descriptions"
5
+ },
6
+ {
7
+ "title": "CEFR Levels Guide: A1, A2, B1, B2, C1 & C2 Explained",
8
+ "url": "https://www.languagenext.com/blog/cefr-levels-explained/"
9
+ },
10
+ {
11
+ "title": "Understand your English level | LearnEnglish",
12
+ "url": "https://learnenglish.britishcouncil.org/level/understand-your-english-level"
13
+ },
14
+ {
15
+ "title": "International language standards | Cambridge English",
16
+ "url": "https://www.cambridgeenglish.org/exams-and-tests/cefr/"
17
+ },
18
+ {
19
+ "title": "The Complete Guide to CEFR Levels: A1 to C2 Explained (2025)",
20
+ "url": "https://cefrlookup.com/blog/complete-guide-cefr-levels-2025"
21
+ },
22
+ {
23
+ "title": "CEFR Levels Explained: What A1, A2, B1, B2, C1 and C2 Actually Mean ...",
24
+ "url": "https://www.nona.academy/post/cefr-levels-explained"
25
+ },
26
+ {
27
+ "title": "English Language Levels: The CEFR A1-C2 Guide",
28
+ "url": "https://thecognitio.com/english-language-levels/"
29
+ },
30
+ {
31
+ "title": "CEFR Levels A1 to C2: The Complete Guide | CEFRhub",
32
+ "url": "https://cefrhub.ai/en/blog/cefr-levels-complete-guide/"
33
+ },
34
+ {
35
+ "title": "What is Your English Level? CEFR Levels Explained (A1-C2)",
36
+ "url": "https://peachteachenglish.com/post/CEFR-Levels-Explained"
37
+ },
38
+ {
39
+ "title": "CEFR Levels A1 to C2 Explained | Language Level Guide",
40
+ "url": "https://internationalcommunication.dk/en/blog/posts/cefr-levels-explained/"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "Create School Timetables Easily | TimetableMaster",
4
+ "url": "https://www.timetablemaster.com/"
5
+ },
6
+ {
7
+ "title": "Education Timetable Generator | Class Schedule Maker",
8
+ "url": "https://easytimetable.pro/education-timetable-generator/"
9
+ },
10
+ {
11
+ "title": "Top 10 Best Education Scheduling Software: 2026 Comparison",
12
+ "url": "https://zipdo.co/best/education-scheduling-software/"
13
+ },
14
+ {
15
+ "title": "Top Class Schedule Software (2026) - wifitalents.com",
16
+ "url": "https://wifitalents.com/best/class-schedule-software/"
17
+ },
18
+ {
19
+ "title": "Academic & School Scheduling Software | Lantiv 2026",
20
+ "url": "https://lantiv.com/"
21
+ },
22
+ {
23
+ "title": "Best Academic Scheduling Software: User Reviews from June 2026 - G2",
24
+ "url": "https://www.g2.com/categories/academic-scheduling"
25
+ },
26
+ {
27
+ "title": "AI Timetable Generator - Create School Schedules Instantly ...",
28
+ "url": "https://www.timetablemaster.com/timetable-generator-ai"
29
+ },
30
+ {
31
+ "title": "Top 10 Best Academic Scheduling Software | 2026 Edition",
32
+ "url": "https://worldmetrics.org/best/academic-scheduling-software/"
33
+ },
34
+ {
35
+ "title": "Automated Academic Scheduling Software | Schedule25® by CollegeNET",
36
+ "url": "https://collegenet.com/scheduling/schedule25"
37
+ },
38
+ {
39
+ "title": "Best School Class Scheduling Software | 2026 Expert Picks",
40
+ "url": "https://worldmetrics.org/best/school-class-scheduling-software/"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "REST API for Oracle Fusion Cloud Student Management",
4
+ "url": "https://docs.oracle.com/en/cloud/saas/student-management/farsm/api-waitlist-settings.html"
5
+ },
6
+ {
7
+ "title": "KRITHIKSAI16/UNIVERSITY_COURSE_REGISTRATION_SYSTEM - GitHub",
8
+ "url": "https://github.com/KRITHIKSAI16/UNIVERSITY_COURSE_REGISTRATION_SYSTEM"
9
+ },
10
+ {
11
+ "title": "GitHub - lawalamirat09/College-course-registration-waitlist",
12
+ "url": "https://github.com/lawalamirat09/College-course-registration-waitlist"
13
+ },
14
+ {
15
+ "title": "How Capacity Rules and Waitlist Work for Oracle Learning Course Offerings",
16
+ "url": "https://docs.oracle.com/en/cloud/saas/talent-management/fatul/how-capacity-rules-and-waitlist-work-for-oracle-learning-course-offerings.html"
17
+ },
18
+ {
19
+ "title": "New Feature: Waitlist and Capacity Metrics Added to Course Registration ...",
20
+ "url": "https://csumb-campusdatawarehouse.blogspot.com/2026/04/new-feature-waitlist-and-capacity.html"
21
+ },
22
+ {
23
+ "title": "Real-Time Course Enrollment Capacity Management System",
24
+ "url": "https://luxoret.com/prompts/ai-chat/144045-real-time-course-enrollment-capacity-management-system"
25
+ },
26
+ {
27
+ "title": "Moodle Plugins directory: Waitlist enrolment | Moodle.org",
28
+ "url": "https://moodle.org/plugins/enrol_waitlist"
29
+ },
30
+ {
31
+ "title": "University Program Capacity Management: Automate Seats | Kissflow",
32
+ "url": "https://kissflow.com/solutions/education/university-program-capacity-management/"
33
+ },
34
+ {
35
+ "title": "Waitlisting - Thought Industries",
36
+ "url": "https://support.thoughtindustries.com/hc/en-us/articles/4413299087383-Waitlisting"
37
+ },
38
+ {
39
+ "title": "Manual Course Waitlist Management - Salesforce",
40
+ "url": "https://help.salesforce.com/s/articleView?id=sfdo.ec_manual_course_waitlist_management.htm&language=en_US&type=5"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "Language School Scheduling & Management Software | Teachworks",
4
+ "url": "https://www.teachworks.com/language-school-management-software"
5
+ },
6
+ {
7
+ "title": "Language School Management Software | Complete Platform",
8
+ "url": "https://edunationapp.com/language-school-management-software"
9
+ },
10
+ {
11
+ "title": "Language School Billing Software | Zooza",
12
+ "url": "https://www.zooza.online/solutions/language-schools/"
13
+ },
14
+ {
15
+ "title": "Language Center Management Software - WIM School",
16
+ "url": "https://wimschool.com/en/solutions/languages-centers"
17
+ },
18
+ {
19
+ "title": "Best Language School Management Software 2026 | OpenEduCat",
20
+ "url": "https://openeducat.org/language-school-management-software/"
21
+ },
22
+ {
23
+ "title": "Language School Management Software | Tutorbase",
24
+ "url": "https://tutorbase.com/solutions/language-schools"
25
+ },
26
+ {
27
+ "title": "Language school management software | Teach 'n Go",
28
+ "url": "https://www.teachngo.com/solutions/language-school-management-software"
29
+ },
30
+ {
31
+ "title": "Language School Management Software",
32
+ "url": "https://linguacrm.com/"
33
+ },
34
+ {
35
+ "title": "Language School Management Software | Artstep for Language Programs",
36
+ "url": "https://www.artstepai.com/solution/language-school-software"
37
+ },
38
+ {
39
+ "title": "Tutoring Management Software — Scheduling, Billing, Payroll",
40
+ "url": "https://tutorbase.com/"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "Logiciel de Gestion : Centres de Soutien - Class Manager",
4
+ "url": "https://classmanager.academy/organisme-de-formation"
5
+ },
6
+ {
7
+ "title": "École de langues - MyScol",
8
+ "url": "https://myscol.com/logiciel-de-gestion-pour-ecole-de-langues/"
9
+ },
10
+ {
11
+ "title": "LOGICIEL DE GESTION POUR CENTRE DE FORMATION - Algeriasm",
12
+ "url": "https://algeriasm.net/gestion-des-formations/"
13
+ },
14
+ {
15
+ "title": "Dendreo - Logiciel de gestion pour centre de langues",
16
+ "url": "https://www.dendreo.com/logiciel-gestion-centre-langues"
17
+ },
18
+ {
19
+ "title": "Logiciel et application de gestion d'école de langue - Skooly",
20
+ "url": "https://getskooly.com/schools/fr/language-software-app.html"
21
+ },
22
+ {
23
+ "title": "TOP 12 des logiciels pour votre centre de formation [2025] - Appvizer",
24
+ "url": "https://www.appvizer.fr/magazine/services/centre-formation/logiciel-formation"
25
+ },
26
+ {
27
+ "title": "Logiciel de réservation pour écoles de langues | Zenamu",
28
+ "url": "https://zenamu.com/fr/for-studio/language/"
29
+ },
30
+ {
31
+ "title": "Algeriasm - logiciel gestion scolarité",
32
+ "url": "https://algeriasm.net/"
33
+ },
34
+ {
35
+ "title": "Moncentredeformation - Logiciel de gestion de centre de formation ...",
36
+ "url": "https://moncentredeformation.com/"
37
+ },
38
+ {
39
+ "title": "Logiciel de gestion de planning flexible et puissant pour les écoles de ...",
40
+ "url": "https://www.bookeo.com/fr/classes-et-cours/logiciel-de-gestion-de-planning-pour-les-ecoles-de-langues/"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "Google for Startups Accelerator",
4
+ "url": "https://startup.google.com/programs/accelerator/"
5
+ },
6
+ {
7
+ "title": "Gohorto: Operating system for incubators, accelerators & innovation ...",
8
+ "url": "https://gohorto.com/"
9
+ },
10
+ {
11
+ "title": "Programs - Google for Startups",
12
+ "url": "https://startup.google.com/programs/"
13
+ },
14
+ {
15
+ "title": "Accelerator & Incubator Management Software | AcceleratorApp",
16
+ "url": "https://www.acceleratorapp.co/en/"
17
+ },
18
+ {
19
+ "title": "Accelerator & Incubator management software for tomorrow",
20
+ "url": "https://www.educate-me.co/accelerators-incubators-platform"
21
+ },
22
+ {
23
+ "title": "60+ Best Startup Incubators & Accelerators in USA [2026]",
24
+ "url": "https://altar.io/best-startup-accelerators-usa/"
25
+ },
26
+ {
27
+ "title": "Accelerator & Incubator Management Software | Startup Science",
28
+ "url": "https://www.startupscience.io/solutions/eso"
29
+ },
30
+ {
31
+ "title": "Join the timbuktoo Pan African Incubator Network",
32
+ "url": "https://www.undp.org/africa/blog/join-timbuktoo-pan-african-incubator-network"
33
+ },
34
+ {
35
+ "title": "Top Project Management Accelerators & VCs (2026) — Open Deadlines ...",
36
+ "url": "https://incubatorlist.com/best-project-management-startup-accelerators-incubators-and-vcs"
37
+ },
38
+ {
39
+ "title": "30 Best Startup Accelerators in 2026",
40
+ "url": "https://startupsavant.com/best-startup-accelerators"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "Incubateurs d'entreprises, pépinières, couveuses : Guide complet !",
4
+ "url": "https://www.l-expert-comptable.com/a/531743-pepiniere-d-entreprises-incubateur-couveuse-quel-accompagnement-pour-quel-projet.html"
5
+ },
6
+ {
7
+ "title": "Logiciel de business plan pour les incubateurs et pépinières",
8
+ "url": "https://www.thebusinessplanshop.com/fr/logiciel-business-plan/incubateurs-pepinieres"
9
+ },
10
+ {
11
+ "title": "Incubateur, Couveuse, Pépinière, Accélérateur - le guide complet",
12
+ "url": "https://arc-sud-developpement.com/2023/11/10/incubateur-pepiniere-accelerateur-quelle-strcuture-choisir/"
13
+ },
14
+ {
15
+ "title": "Les pépinières d'entreprises - Bpifrance Création",
16
+ "url": "https://bpifrance-creation.fr/encyclopedie/se-faire-accompagner/lieux-dhebergement-accompagnement/pepinieres-dentreprises"
17
+ },
18
+ {
19
+ "title": "PÉPINIÈRE D'ENTREPRISES INCUBATEUR D'ORAN - Accélérateur de projet",
20
+ "url": "https://pepiniere-entreprises-oran.dz/"
21
+ },
22
+ {
23
+ "title": "Réussir sa création d'entreprise avec les pépinières CCI",
24
+ "url": "https://www.cuprofil.fr/accompagnement-creation-cci/"
25
+ },
26
+ {
27
+ "title": "Incubateurs, pépinières, technopôles - Bpifrance",
28
+ "url": "https://www.bpifrance.fr/nous-decouvrir/nos-partnaires/incubateurs-pepinieres-technopoles"
29
+ },
30
+ {
31
+ "title": "Pépinière, couveuse, accélérateur, incubateur: que choisir ?",
32
+ "url": "https://www.leblogdudirigeant.com/pepiniere-couveuse-accelerateur-incubateur-choisir-bonne-structure-entreprendre/"
33
+ },
34
+ {
35
+ "title": "Créer un incubateur ou une pépinière d'entreprise - société facile",
36
+ "url": "https://societefacile.com/creer-un-incubateur-ou-une-pepiniere-dentreprise-le-guide-pour-reussir/"
37
+ },
38
+ {
39
+ "title": "Pépinière d'entreprises - Bpifrance Création",
40
+ "url": "https://bpifrance-creation.fr/pepiniere-dentreprises"
41
+ }
42
+ ]
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "title": "1EdTech Interoperability Standards",
4
+ "url": "https://www.1edtech.org/specifications"
5
+ },
6
+ {
7
+ "title": "QTI Specification Documents - 1EdTech",
8
+ "url": "https://www.1edtech.org/standards/qti/index"
9
+ },
10
+ {
11
+ "title": "OneRoster v1.1 Final Specification | IMS Global Learning ... - 1EdTech",
12
+ "url": "https://www.imsglobal.org/oneroster-v11-final-specification"
13
+ },
14
+ {
15
+ "title": "Technical Resources | IMS Global Learning Consortium",
16
+ "url": "https://www.imsglobal.org/technical-resources"
17
+ },
18
+ {
19
+ "title": "eLearning Standards: SCORM, xAPI, cmi5, LTI, OneRoster and Ed-Fi ...",
20
+ "url": "https://aristeksystems.com/blog/elearning-standards/"
21
+ },
22
+ {
23
+ "title": "LTI - scorm.ing",
24
+ "url": "https://www.scorm.ing/standards/lti"
25
+ },
26
+ {
27
+ "title": "eLearning Standards in Practice: SCORM, xAPI, cmi5, LTI, OneRoster and ...",
28
+ "url": "https://www.linkedin.com/pulse/elearning-standards-practice-scorm-xapi-cmi5-lti-oneroster-6ssqe"
29
+ },
30
+ {
31
+ "title": "1EdTech (IMS Global) - scorm.ing",
32
+ "url": "https://www.scorm.ing/organizations/ims-global"
33
+ },
34
+ {
35
+ "title": "What are the 9 standards from 1EdTech Consortium? - Edlink",
36
+ "url": "https://ed.link/community/ims-global-standards/"
37
+ },
38
+ {
39
+ "title": "OneRoster and LTI Advantage | IMS Global Learning Consortium - 1EdTech",
40
+ "url": "https://www.imsglobal.org/about/k12/oneroster-and-lti-advantage"
41
+ }
42
+ ]