# Sommaire — documentation utilisateur Omniscol Canonical Omniscol user documentation, generated from the maintained `help/fr/` corpus. This is the authoritative reference and supersedes any older PDF manual. Authoring directives (UI labels, i18n strings, feature gating) are resolved to their real fr wording. Internal cross-references link to `#page-` anchors within this file. Interactive step-by-step walkthroughs are omitted. ## Table des matières **1. Pour bien commencer** - [1.1 Qu'est-ce qu'Omniscol ?](#page-overview.what-is-omniscol) - [1.2 Philosophie générale d'Omniscol](#page-overview.philosophy) - [1.3 Visite guidée en cinq minutes](#page-overview.quick-tour) - [1.4 Architecture, modules et rôles](#page-overview.architecture-and-roles) - [1.5 Plans et options Omniscol](#page-overview.plans-and-options) - [1.6 Choisir le bon type d'EDT : hebdomadaire, cyclique, calendrier](#page-overview.timetable-modes) - [1.7 Première connexion](#page-getting-started.first-login) - [1.8 Configurer le compte de l'école](#page-getting-started.setup-school) - [1.9 Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) - [1.10 Préparer ses données pour un import massif (en batterie)](#page-getting-started.preparing-data) - [1.11 Visite guidée de prise en main (les 6 étapes du module Accueil)](#page-getting-started.onboarding-tour) **2. Concepts métier** - [2.1 Organisation des données : matières, professeurs, classes, EDT](#page-core-concepts.data-model) - [2.2 Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [2.3 Partitions de classe](#page-core-concepts.class-divisions) - [2.4 Alignements de groupes](#page-core-concepts.alignments) - [2.5 Groupes de groupes](#page-core-concepts.groups-of-groups) - [2.6 Hiérarchie de groupes : parents, enfants, contraintes héritées](#page-core-concepts.group-hierarchy) - [2.7 Groupes libres](#page-core-concepts.free-groups) - [2.8 Cours, séances, types de cours](#page-core-concepts.lessons-and-types) - [2.9 Cours complexes : alternés, concaténés, associés, co-animés](#page-core-concepts.complex-lessons) - [2.10 Campus, sites, salles, ressources, multi-salles](#page-core-concepts.sites-rooms-resources) - [2.11 Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) - [2.12 Spécialisations de salles](#page-core-concepts.classroom-specializations) - [2.13 Disponibilités et contraintes horaires des professeurs](#page-core-concepts.wishes-and-availability) - [2.14 Contraintes horaires : classes, matières, groupes, salles et grille](#page-core-concepts.time-constraints) - [2.15 Année scolaire, semaines alternées, vacances](#page-core-concepts.school-year) - [2.16 Ligne de temps et navigation temporelle](#page-core-concepts.timeline-navigation) - [2.17 Rechercher et filtrer dans les listes](#page-core-concepts.search-and-filter) - [2.18 Collaboration entre administrateurs](#page-core-concepts.collaboration) **3. Création d'un emploi du temps (module Gestion des EDT)** - [3.1 Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) - [3.2 Prérequis pour créer un EDT](#page-timetables.prerequisites) - [3.3 Mode calendrier — options avancées](#page-timetables.calendar-mode) - [3.4 Disponibilités et contraintes en mode calendrier](#page-timetables.calendar-wishes) - [3.5 Fenêtres de dates](#page-timetables.date-windows) - [3.6 Étape 1 — Paramètres généraux](#page-timetables.general-settings) - [3.7 Étape 2 — Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) - [3.8 Étape 3 — Affecter les professeurs](#page-timetables.assigning-teachers) - [3.9 Étape 4 — Créer les classes et leurs groupes](#page-timetables.creating-classes) - [3.10 Étape 5 — Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups) - [3.11 Étape 6 — Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) - [3.12 Attribution automatique des salles](#page-timetables.auto-room-assignment) - [3.13 Étape 6 bis — Import massif des cours via tableur](#page-timetables.mass-import) - [3.14 Étape 7 — Génération automatique](#page-timetables.generation) - [3.15 Étape 8 — Publier (activer) un emploi du temps](#page-timetables.publication) - [3.16 Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) - [3.17 Positionnement manuel des séances](#page-timetables.manual-placement) - [3.18 Édition d'une séance de cours](#page-timetables.lesson-edit) - [3.19 Séances de cours et classes hors grille horaire](#page-timetables.off-grid-lessons) - [3.20 Verrouiller le positionnement d'une séance](#page-timetables.lesson-lock) - [3.21 Détecter et résoudre les conflits (à la génération)](#page-timetables.conflicts) - [3.22 Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) - [3.23 Visualiser, dupliquer, réorganiser un EDT](#page-timetables.visualize-duplicate) - [3.24 Préparer la rentrée suivante](#page-timetables.next-school-year) **4. Tableau de bord** - [4.1 Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) - [4.2 Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) - [4.3 Statistiques professeurs](#page-dashboard.teachers) - [4.4 Statistiques salles](#page-dashboard.classrooms) - [4.5 Statistiques matières](#page-dashboard.subjects) - [4.6 Statistiques classes](#page-dashboard.classes) - [4.7 Statistiques étudiants et ressources](#page-dashboard.students-resources) **5. Usage quotidien (module Emploi du temps)** - [5.1 Consulter et filtrer les emplois du temps](#page-schedules.consult-and-filter) - [5.2 Affichage des EDT : grille, liste, tableau, planning, mois, vis-à-vis](#page-schedules.schedule-display) - [5.3 Modifications ponctuelles d'un EDT publié](#page-schedules.ad-hoc-changes) - [5.4 Évènements ponctuels (hors EDT)](#page-schedules.events) - [5.5 Imprimer et partager](#page-schedules.print-and-export) - [5.6 Partager un EDT par lien public](#page-schedules.share-link) **6. Absences et remplacements** - [6.1 Vue d'ensemble du module Absences](#page-absences.overview) - [6.2 Déclarer une absence (administrateur / professeur / étudiant)](#page-absences.declaring) - [6.3 Politiques de remplacement](#page-absences.substitution-policies) - [6.4 Remplacement ponctuel d'une séance](#page-absences.single-lesson-replacement) - [6.5 Absences pluri-jours](#page-absences.multi-day) - [6.6 Absences classes et étudiants](#page-absences.class-and-student-absences) - [6.7 Suivi et export des absences](#page-absences.statistics) **7. Service du personnel** - [7.1 Vue d'ensemble du Service du personnel](#page-staffing.overview) - [7.2 Construire une grille de service](#page-staffing.building-grids) - [7.3 Définir les tâches à couvrir](#page-staffing.assignments) - [7.4 Affecter le personnel](#page-staffing.planner) - [7.5 Créer et partager les tableaux de service](#page-staffing.roster) **8. Administration** - [8.1 Utilisateurs et rôles](#page-admin.users-and-roles) - [8.2 Gérer les administrateurs](#page-admin.admins) - [8.3 Rôles personnalisés d'administration](#page-admin.customroles) - [8.4 Gérer les professeurs](#page-admin.teachers) - [8.5 Gérer les élèves](#page-admin.students) - [8.6 Gérer les membres du personnel](#page-admin.staff) - [8.7 Gérer les matières (officielles et personnalisées)](#page-admin.subjects) - [8.8 Types de cours](#page-admin.lesson-types) - [8.9 Année scolaire et vacances](#page-admin.school-year) - [8.10 Paramètres généraux de l'école](#page-admin.parameters) - [8.11 Paramètres avancés et personnalisation](#page-admin.advanced-parameters) - [8.12 Restrictions de visibilité et de connexion](#page-admin.visibility-restrictions) - [8.13 Import et export](#page-admin.import-export) - [8.14 Imports et exports français (STS, UnDeuxTemps, École Directe)](#page-admin.french-formats) - [8.15 Points de sauvegarde](#page-admin.snapshots) - [8.16 Journaux d'activité (logs)](#page-admin.logs) **9. Intégrations** - [9.1 Vue d'ensemble des intégrations](#page-integrations.overview) - [9.2 Partenaires et outils fréquemment raccordés](#page-integrations.partners) - [9.3 iCal — abonnement et lien dynamique](#page-integrations.ical) - [9.4 API Omniscol — jetons d'authentification](#page-integrations.api-tokens) - [9.5 OAuth2 / OIDC — connecter un service à Omniscol](#page-integrations.oauth-server) - [9.6 Personnalisation d'API : surcharges de points d'accès et hooks](#page-integrations.api-customization) - [9.7 Modèle de données complet : entités JSON, relations et ontologie](#page-integrations.data-model-full) - [9.8 MCP — connecter un agent IA externe à Omniscol](#page-integrations.mcp) - [9.9 Assistant IA intégré](#page-integrations.ai-assistant) - [9.10 OIDC / SSO — connexion via fournisseur d'identité](#page-integrations.oauth2) - [9.11 Synchronisation avec des systèmes externes (ERP)](#page-integrations.extsync) - [9.12 OneRoster (1.2 et groupes avancés)](#page-integrations.oneroster) - [9.13 Comptes liés et ressources partagées](#page-integrations.linked-accounts) - [9.14 Connecteur Aurion](#page-integrations.aurion) - [9.15 Connecteur Auriga](#page-integrations.auriga) **10. Portails** - [10.1 Portail étudiant](#page-portal.student-portal) - [10.2 Portail enseignant](#page-portal.teacher-portal) - [10.3 Portail invité (liens publics)](#page-portal.guest-portal) - [10.4 Liens de partage publics](#page-portal.share-links) **11. Panneaux d'affichage** - [11.1 Configurer un panneau d'affichage pour un hall ou un couloir](#page-panels.lobby-panel) - [11.2 Configurer un panneau d'affichage devant une salle](#page-panels.room-panel) - [11.3 Personnalisation visuelle des panneaux d'affichage](#page-panels.customization) **12. Migration depuis un autre logiciel** - [12.1 Migration depuis un autre logiciel — Vue d'ensemble](#page-migration.overview) - [12.2 Migrer depuis Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [12.3 Migrer depuis EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [12.4 Migrer depuis aSc Timetables](#page-migration.from-asc) - [12.5 Migrer depuis ADE / ADE Campus](#page-migration.from-ade) - [12.6 Migrer depuis UnDeuxTEMPS](#page-migration.from-undeuxtemps) - [12.7 Migrer depuis un tableur Excel maison](#page-migration.from-spreadsheet) **13. Spécificités enseignement supérieur** - [13.1 Spécificités enseignement supérieur — vue d'ensemble](#page-higher-ed.overview) - [13.2 Sessions, promotions, programme, parcours](#page-higher-ed.sessions-and-tracks) - [13.3 Intervenants externes (vacataires, visiting)](#page-higher-ed.external-faculty) - [13.4 Salles dédoublées et examens multi-salles](#page-higher-ed.multi-room-exams) - [13.5 Co-enseignement et alternance d'intervenants](#page-higher-ed.co-teaching) - [13.6 Mode calendrier pour formations non récurrentes](#page-higher-ed.calendar-mode) - [13.7 Liens de visioconférence par cours](#page-higher-ed.videoconference-links) - [13.8 Multi-sites en enseignement supérieur](#page-higher-ed.multi-site) **14. Spécificités primaire / secondaire (scolaire)** - [14.1 Spécificités primaire / secondaire — vue d'ensemble](#page-k12.overview) - [14.2 Demi-classes et options en partition](#page-k12.half-classes-and-options) - [14.3 Permanences et études (scolaire)](#page-k12.study-halls) - [14.4 Classes multi-niveaux](#page-k12.multi-grade-classes) **15. Scénarios de cas d'usage** - [15.1 Scénarios de cas d'usage — vue d'ensemble](#page-use-cases.overview) - [15.2 Scénarios — Création et génération d'EDT](#page-use-cases.creation-and-generation) - [15.3 Scénarios — Placement et modification au quotidien](#page-use-cases.placement-and-modification) - [15.4 Scénarios — Multi-groupes, multi-salles, multi-intervenants](#page-use-cases.multi-entities) - [15.5 Scénarios — Opérations en masse](#page-use-cases.mass-operations) - [15.6 Scénarios — Examens et évènements](#page-use-cases.exams-and-events) - [15.7 Scénarios — Absences et remplacements](#page-use-cases.absences-and-substitutions) - [15.8 Scénarios — Reporting et statistiques](#page-use-cases.reporting-and-stats) - [15.9 Scénarios — Diffusion et partage](#page-use-cases.diffusion-and-sharing) **16. FAQ — questions fréquentes** - [16.1 FAQ — questions générales](#page-faq.general) - [16.2 FAQ — Création d'EDT](#page-faq.timetables) - [16.3 FAQ — Import des données](#page-faq.data-import) - [16.4 FAQ — Comportement de l'algorithme de génération](#page-faq.solver-behavior) - [16.5 FAQ — Affichage et interface](#page-faq.display-and-ux) - [16.6 FAQ — cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) - [16.7 FAQ — cas particuliers et configurations avancées](#page-faq.edge-cases) - [16.8 FAQ — Sécurité et hébergement](#page-faq.security-and-hosting) - [16.9 FAQ — Tarification et licences](#page-faq.pricing-and-licenses) - **[Glossaire](#chapter-glossary)** (51 termes) - **[Index](#chapter-index)** --- ## 1. Pour bien commencer ### 1.1 Qu'est-ce qu'Omniscol ? *Source: `help/fr/overview/what-is-omniscol.md` · id: overview.what-is-omniscol · Updated: 2026-06-13* Omniscol est un **logiciel en ligne de planification sous contraintes**, conçu pour des établissements allant du primaire à l'enseignement supérieur et à la formation continue. Il permet de créer des emplois du temps hebdomadaires, cycliques ou calendriers (datés, non récurrents), puis de les publier vers les utilisateurs concernés. Le produit combine saisie manuelle, diagnostic des conflits et génération automatique par [solveur](#page-glossary.solver). Les détails métier sont documentés dans les pages spécialisées. #### Comment ça marche, en général Le flux de travail standard avec Omniscol : ``` 1. Saisir les données (utilisateurs, matières, sites/salles, classes) ↓ 2. Configurer l'EDT (volumes horaires, alignements, contraintes) ↓ 3. Générer ou placer (solveur automatique ou positionnement manuel) ↓ 4. Vérifier et arbitrer (conflits, ajustements, verrouillages) ↓ 5. Publier (l'EDT devient visible côté utilisateurs) ↓ 6. Vivre avec l'EDT (modifications quotidiennes, absences, remplacements) ``` Chaque étape a un module dédié. Les étapes 1 à 5 sont ponctuelles (avant une rentrée, un semestre ou une refonte). L'étape 6 correspond à l'usage quotidien. #### Les types d'emploi du temps Omniscol prend en charge **trois types** d'emploi du temps. La disponibilité de chaque type dépend du plan souscrit. - **Hebdomadaire** — cours récurrents sur une semaine type, avec ou sans alternance A/B. C'est le cas standard de l'enseignement primaire et secondaire. Disponible sur tous les plans. - **Cyclique** — cours récurrents sur un cycle de N jours numérotés (typiquement 6 ou 8), différent de la semaine de 5 ou 7. Courant dans les systèmes nord-américains. Disponible sur les comptes Premium. - **Calendrier** — séances datées une par une, sans récurrence. Mode privilégié de l'enseignement supérieur et de la formation continue. Disponible sur les comptes Premium. Sur un compte Premium, les trois types peuvent être utilisés. Et grâce à [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables), fonction incluse en Premium, ils peuvent même être combinés sur les mêmes périodes. Voir [Choisir le bon type d'EDT](#page-overview.timetable-modes) pour l'aide à la décision. #### Philosophie : la donnée d'abord Omniscol part d'un constat : un EDT n'est pas un tableau à remplir, c'est un **problème d'optimisation sous contraintes**. Le logiciel est conçu autour de cinq principes : 1. **La donnée avant le calcul** : sites, salles, professeurs, classes, groupes, matières et volumes horaires doivent être fiables avant de lancer une génération. 2. **Séparation structure / quotidien** : construire un EDT et gérer les changements du jour sont deux activités différentes, avec des interfaces différentes. 3. **Contraintes explicites** : les impossibilités sont signalées sous forme de [conflits](#page-glossary.conflict) ou de séances non placées ; l'utilisateur garde l'arbitrage métier. 4. **Brouillons et versions** : un EDT non publié peut être testé, dupliqué ou reconstruit sans modifier ce que les utilisateurs voient. 5. **Maîtrise des données** : export JSON ou par tableur interne et réversibilité. Page de référence : [Philosophie générale d'Omniscol](#page-overview.philosophy). #### Données d'entrée / sortie Côté **entrée**, Omniscol accepte : - la saisie unitaire dans l'interface ; - l'import massif par copier-coller depuis un tableur, avec vérification avant application ; - des migrations accompagnées selon les exports disponibles côté source ; - des connecteurs ERP/SI via la [synchronisation avec des systèmes externes](#page-integrations.extsync) (Aurion, Auriga ; ajout d'un nouvel ERP sur projet) ; - l'[API Omniscol](#page-integrations.api-tokens) selon les droits et options du compte ; - [OIDC / SSO](#page-integrations.oauth2) selon le contrat et le paramétrage. Côté **sortie** : - consultation web responsive ; - abonnements [iCal](#page-integrations.ical) ; - liens publics signés et expirables ; - panneaux d'affichage ; - exports Excel / CSV / PDF / JSON selon les écrans ; - API REST documentée, avec périmètre limité par les endpoints et options autorisés ; - [MCP](#page-integrations.mcp) pour agents IA compatibles sur les comptes Premium. #### Organisation modulaire Le logiciel s'articule en deux familles de modules. ##### Modules du quotidien - **Accueil** — vue synthétique du jour et checklist de démarrage. - **EDT** — consultation et modifications ponctuelles. - **Tableau de bord** — statistiques d'occupation et de service. - **Gestion des absences & remplacements** — déclarations d'indisponibilité et affectation de remplaçants. ##### Modules de paramétrage - **Gestion des EDT** — création, configuration, génération et publication des emplois du temps. - **Administration** — utilisateurs, matières, années scolaires, paramètres, import / export et intégrations. - **Service du personnel** — planification du personnel par tâches lorsque le module est actif ; il peut aussi être vendu comme offre autonome. #### Rôles et accès Quatre profils structurent l'accès côté école. Les **Administrateurs** (responsables planning, direction, DSI) configurent le compte et construisent les emplois du temps. Les **Professeurs** consultent leur planning, saisissent leurs disponibilités et déclarent leurs absences. Les **Élèves** consultent leur emploi du temps personnel. Le **Personnel** (vie scolaire, surveillants) intervient lorsque le Service du personnel est utilisé. Des liens de partage signés offrent en complément un accès sans compte à un périmètre précis. Les rôles sont cumulables : un professeur qui participe à la planification peut être à la fois Professeur et Administrateur. Le détail des rôles est présenté dans [Architecture et rôles](#page-overview.architecture-and-roles). L’option [Rôles personnalisés](#page-admin.customroles) permet de restreindre les droits d'un compte administrateur module par module et opération par opération. #### Plans et options Omniscol propose plusieurs plans : **Lite** (indépendants, formateurs solo, très petits établissements), **Staffing** (uniquement le Service du personnel), **Standard** (établissement scolaire classique), **Standard Plus** (Standard + Service du personnel) et **Premium** (enseignement supérieur, formation continue, organisations multi-sites complexes). Certaines fonctions sont incluses de base en Premium — types d'EDT cyclique et calendrier, disponibilités calendrier, plusieurs EDT actifs — tandis que d'autres s'activent selon le contrat (snapshots, logs, collaboration temps réel, comptes liés, rôles personnalisés…). Le détail des plans, des options et de leur mode d'activation est centralisé dans [Plans et options Omniscol](#page-overview.plans-and-options). #### Points de différenciation - **Génération automatique** : le solveur place les séances en respectant les contraintes strictes et en optimisant les préférences. - **Contrôle manuel** : l'utilisateur peut toujours inspecter, déplacer, verrouiller ou arbitrer. - **Diffusion multi-supports** : web, iCal, exports, liens publics et panneaux d'affichage. - **Reporting** : tableaux de bord et exports pour suivre les heures, l'occupation des salles et les indicateurs utiles aux audits. #### Architecture et hébergement Les éléments d'architecture, de sécurité et d'hébergement sont décrits dans [Architecture et rôles](#page-overview.architecture-and-roles) et [FAQ — Sécurité et hébergement](#page-faq.security-and-hosting). #### La suite - Pour une visite interactive : [Visite guidée en cinq minutes](#page-overview.quick-tour). - Pour configurer votre compte : [Première connexion](#page-getting-started.first-login) puis [Configurer le compte de l'école](#page-getting-started.setup-school). - Pour comprendre les concepts métier : [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups). - Pour créer votre premier EDT : [Module Gestion des EDT](#page-timetables.overview). - Pour les questions fréquentes : [FAQ générale](#page-faq.general). #### Voir aussi - [Philosophie générale d'Omniscol](#page-overview.philosophy) - [Architecture et rôles](#page-overview.architecture-and-roles) - [Choisir le bon type d'EDT : hebdomadaire, cyclique, calendrier](#page-overview.timetable-modes) - [Plans et options Omniscol](#page-overview.plans-and-options) - [Visite guidée en cinq minutes](#page-overview.quick-tour) ### 1.2 Philosophie générale d'Omniscol *Source: `help/fr/overview/philosophy.md` · id: overview.philosophy · Updated: 2026-06-13* Avant les fonctionnalités, quelques principes structurent l'expérience Omniscol et expliquent pourquoi le logiciel prend certaines décisions plutôt que d'autres. #### Le contexte métier L'emploi du temps n'est pas un simple tableau à remplir. C'est un **problème d'optimisation sous contraintes** : - contraintes nombreuses et souvent implicites ; - contraintes parfois contradictoires ; - enjeu opérationnel fort : la rentrée, le semestre ou la période doit fonctionner. Omniscol est conçu comme un **assistant de planification sous contraintes** : il accélère le travail, signale les impossibilités et laisse l'arbitrage métier à l'utilisateur. #### Ce qu'Omniscol n'est pas | Catégorie | Ce que ça fait | Omniscol ? | | --- | --- | --- | | ERP scolaire / SIS | Dossiers administratifs, scolarité | Non. Omniscol consomme ou synchronise ces données. | | ENT / LMS | Pédagogie, contenus de cours, communication | Non. | | Notes / émargement | Évaluations, signatures, cahier de texte | Non. | | Omniscol | Organisation du temps : qui, quoi, où, quand | Oui. | Omniscol a vocation à s'interfacer avec d'autres systèmes via imports, exports, iCal, API REST documentée, OIDC / SSO selon contrat et [synchronisation avec des systèmes externes](#page-integrations.extsync). Il ne cherche pas à remplacer les outils métier qui portent d'autres périmètres. Voir aussi [Partenaires](#page-integrations.partners). #### Les cinq principes fondateurs ##### 1. La donnée avant le calcul On ne peut pas générer un EDT fiable sans données saines : sites, salles, professeurs, classes, groupes, matières, volumes horaires, disponibilités et contraintes. ##### 2. Séparation structure / vie quotidienne Construire un EDT et vivre avec un EDT publié sont deux activités différentes. La première se fait surtout dans [Gestion des EDT](#page-timetables.overview), la seconde dans [Emploi du temps](#page-schedules.consult-and-filter), [Absences](#page-absences.overview) et [Tableau de bord](#page-dashboard.overview). ##### 3. Contraintes dures et contraintes d'optimisation Certaines contraintes rendent un EDT invalide et sont traitées comme des contraintes strictes : un professeur à un seul endroit au même moment, une classe sans collision sauf groupes en partition, une salle standard affectée à une seule séance, les indisponibilités, les capacités, les ressources matérielles et les trajets inter-sites. D'autres contraintes servent à améliorer la solution : disponibilités indésirables, trous, équilibre des journées, ordre pédagogique entre matières, maxima ou minima d'heures, nombre de jours de présence. Elles sont évaluées comme des malus que le solveur cherche à réduire. ##### 4. Brouillons et versions Un EDT non publié n'a pas d'impact sur ce que voient les utilisateurs. Vous pouvez dupliquer, tester, comparer, verrouiller certaines séances, relancer une génération et publier seulement quand le résultat convient. Les snapshots, lorsqu'ils sont activés, ajoutent un filet de sécurité pour revenir en arrière ou restaurer certaines données. ##### 5. L'utilisateur reste maître de la donnée Omniscol permet l'export JSON complet, les exports métier selon les écrans et la réversibilité. Les automatisations ne remplacent pas la décision humaine. #### Les conflits sont une information, pas une erreur En saisie manuelle, Omniscol signale les conflits mais laisse l'utilisateur arbitrer. C'est utile pour les cas particuliers réels : salle de tiers-temps, dépassement assumé d'une capacité théorique, affectation d'une salle hors spécialisation pour une raison locale. En génération automatique, le solveur ne produit pas volontairement de collision majeure. Si aucune solution complète n'est trouvée, il conserve le meilleur EDT calculé et laisse les séances impossibles à placer dans la liste des post-its non positionnés. Le [verrouillage d'une séance](#page-timetables.lesson-lock) permet d'ancrer un placement voulu : la génération suivante ajuste les autres séances autour de ce verrou. #### Multi-EDT comme principe de modélisation Omniscol est nativement **multi-EDT**. Plusieurs EDT peuvent coexister pour un même établissement : - années scolaires distinctes ; - semestres ou périodes ; - séparation logique par campus, département ou cycle ; - combinaison de types différents, par exemple hebdomadaire récurrent et calendrier daté. En Premium, plusieurs EDT peuvent être [actifs en parallèle](#page-timetables.multiple-active-timetables) — une activation spécifique est aussi possible sur certains comptes Standard. Une école peut avoir un cycle préparatoire en deux EDT hebdomadaires pour chaque semestre, un cycle grande école en calendrier non récurrent et simultanément, un programme ExecMBA sur 18 mois, qui commence et termine en décalé par rapport aux autres plannings et à l'année scolaire. Avec Omniscol, on peut créer chaque EDT séparément, mais bénéficier de la gestion des conflits croisés lors de la planification, puis tout activer en parallèle, simultanément, pour que le résultat final soit une vue fusionnée, transparente pour les utilisateurs finaux. #### IA d'optimisation et agents externes Le [solveur](#page-glossary.solver) est une IA d'optimisation **métaheuristique Monte-Carlo neuro-symbolique**. Le moteur explore des placements sous contraintes, cherche une solution valide puis optimise les malus, avec une rapidité impressionnante (ex : moins d'une minute pour un collège de 16 classes). Si une solution valide n'est pas trouvée, un système de relaxation sacrifie les séances de cours intelligemment, et procède tout de même à l'optimisation du résultat. Omniscol est une société AI-first, issue d'une longue phase de R&D "deeptech". Omniscol dispose aussi d'autres algorithmes de type IA symbolique, pour vérifier les conflits, détecter les inconsistances de paramétrage, faire des propositions d'amélioration ou alertes de configuration, préfiltrer la meilleure solution dans une liste de propositions, ou encore allouer automatiquement un sous-ensemble de salles à un sous-ensemble de séances de cours, le tout dans le navigateur, immédiatement. Omniscol expose aussi des outils API à des agents compatibles via [MCP](#page-integrations.mcp) lorsque l'option et les droits sont actifs. Cela permet d'interagir avec Omniscol en langage naturel, pour étendre les possibilités fournies par l'interface graphique, en allant chercher directement les données pertinentes dans le serveur d'Omniscol. Ces agents agissent dans le périmètre du jeton fourni ; les usages de consultation sont les plus sûrs, et toute action d'écriture doit rester vérifiée par l'utilisateur. Actuellement, le meilleur agent IA pour interagir avec Omniscol est Claude, en version Desktop. #### Voir aussi - [Qu'est-ce qu'Omniscol ?](#page-overview.what-is-omniscol) - [Architecture et rôles](#page-overview.architecture-and-roles) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Conflit](#page-glossary.conflict) - [Solveur](#page-glossary.solver) - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) ### 1.3 Visite guidée en cinq minutes *Source: `help/fr/overview/quick-tour.md` · id: overview.quick-tour · Updated: 2026-06-25* Cette visite guidée vous emmène à travers les principaux modules d'Omniscol en quelques minutes. Si vous découvrez le logiciel, c'est le bon endroit. #### Le menu de modules à gauche À gauche de chaque écran, un menu vertical liste les modules disponibles pour votre rôle. De haut en bas, dans l'ordre d'usage quotidien : 1. **Accueil** (l'icône [house]) — guide de démarrage tant qu'aucun EDT n'est encore publié, sinon écran d'accueil personnalisé. 2. **EDT** — votre vue principale au quotidien. 3. **Tableau de bord** — statistiques. 4. **Gestion des absences** — gestion des absences et remplacements. 5. **Gestion des EDT** — création et structure des emplois du temps. 6. **Administration** — utilisateurs, matières, paramètres. Selon votre contrat, d'autres modules peuvent apparaître, par exemple **Service du personnel** (grilles de tâches et de surveillance, pour les équipes vie scolaire). #### La ligne de temps En haut de la plupart des écrans, une **ligne de temps** (par semaines ou par mois) matérialise l'année scolaire. Elle vous permet de naviguer temporellement et de voir d'un coup d'œil les périodes où des EDT sont publiés (semaines colorées), les vacances (semaines grisées). Cette ligne de temps est riche d'options et d'usages. Elle peut se transformer en vue par mois ou années (voire : de date à date, explicitement). Dans la gestion des EDT, elle se colore selon les EDT publiés — les trous sont les semaines blanches. Lors de l'affichage d'un emploi du temps de type calendrier, des indications bleu clair, en haut, signalent où se trouvent des séances de cours sur les vues planning affichées à l'écran. Les flèches `◀` et `▶︎` aux extrémités font basculer entre années scolaires. #### Suivez le guide ! Bienvenue dans Omniscol. Cet aperçu vous présente les modules du logiciel et comment ils s'articulent. 1. Le **bouton d'aide** en haut à droite ouvre cette aide à tout moment, sur n'importe quel écran. Il sait sur quel écran vous êtes et propose la page la plus pertinente. À côté, le bouton de légendage affiche une description des éléments à l'écran. 2. **Accueil** (icône [house]) : tant que vous n'avez pas publié votre premier EDT, ce module vous guide pas à pas. Suivez [les étapes](#page-getting-started.setup-school), cochez les cases, revenez quand vous voulez. 3. **Emploi du temps** : la consultation au quotidien. Tous les filtres (classe, professeur, salle, groupe, matière, élève). Plusieurs modes d'affichage : grille standard, liste, tableau type tableur, planning, planning par heures, jour, mois et vis-à-vis. Un planning ne s'affiche qu'une fois publié un premier EDT comportant des séances de cours positionnées. 4. **Tableau de bord** : les statistiques de l'EDT effectif (opérationnel). Heures par professeur, par classe, par salle, par matière. Filtrable par période. Exportable en CSV et Excel. API avec encore plus de détail. 5. **Absences** : gestion centralisée. Déclarations par les professeurs ou les élèves (avec validation administrative), ou par l'administration en direct. Affectation de remplaçants aux professeurs absents. Absence de classe (stage, sortie scolaire...). 6. **Gestion des EDT** : la création des emplois du temps eux-mêmes. Sites, classes, groupes, professeurs, matières, cours. Génération automatique ou positionnement manuel. Publication, pour qu'un EDT théorique devienne opérationnel. 7. **Service du personnel** (si module activé) : la planification des surveillants (AED). Définition des tâches et de leurs spécificités, affectation du personnel. Feuille de service à distribuer. 8. **Administration** : utilisateurs, matières, années scolaires, paramètres, import/export. Surtout au démarrage du compte. #### La suite - Pour configurer votre compte de zéro : [Première connexion](#page-getting-started.first-login). - Pour comprendre les concepts métier (classe, groupe, partition, alignement, etc.) : [Concepts métier](#page-core-concepts.classes-and-groups). - Pour créer votre premier EDT : [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview). - Pour voir comment Omniscol s'intègre à votre SI : [Vue d'ensemble des intégrations](#page-integrations.overview). #### Voir aussi - [Qu'est-ce qu'Omniscol ?](#page-overview.what-is-omniscol) - [Architecture et rôles](#page-overview.architecture-and-roles) ### 1.4 Architecture, modules et rôles *Source: `help/fr/overview/architecture-and-roles.md` · id: overview.architecture-and-roles · Updated: 2026-06-13* Cette page résume l'architecture applicative d'Omniscol et les rôles visibles côté école. Les engagements contractuels précis (disponibilité, sauvegardes, rétention, supervision) relèvent des documents juridiques ou commerciaux validés. #### Hébergement et fiabilité Omniscol est hébergé dans l'Union européenne, plus spécifiquement sur AWS Paris et Scaleway Paris. Le produit utilise des mécanismes de sauvegarde, de supervision et d'isolation logique entre les comptes des établissements ; les détails applicables à un compte dépendent du contrat et de l'environnement concerné. Voir [FAQ — Sécurité et hébergement](#page-faq.security-and-hosting) pour le détail utilisateur. #### Architecture logicielle - **Application web** : l'application se charge une fois, puis les écrans sont rendus dynamiquement avec échanges REST/JSON (Single Page Application). - **CouchDB** comme base de données principale. - **Redis** comme base de données pour la synchronisation côté application et les logs. - **TypeScript** pour l'interface (webapp). - **Backend Node.js / Express** orchestrant les engines internes (api, webapp, portal, panel, ical, mcp, oauth2, etc.). - **C++** pour l'algorithme de génération, exécuté sur des VMs dédiées démarrées à la demande. #### Sécurité - **HTTPS** pour les communications exposées. - **Cloudflare** comme porte d'entrée exclusive (protection anti-DDOS). - **Mots de passe pré-hashés côté client avec scrypt**, puis re-hashés et salés côté serveur. Ils ne sont pas stockés ni transmis en clair. - **Authentification JWT** avec clés de signature et durée de vie courte ; une rotation ou révocation de clé peut invalider les jetons signés. - **[Liens de partage](#page-glossary.share-link)** signés, expirables, liés au compte qui les a générés et invalidables par changement de mot de passe ou désactivation de ce compte. - **[Jetons API](#page-glossary.api-token)** avec clé racine et jetons dérivés, scopes d'endpoints et expirations. - **OIDC / SSO** disponible selon le contrat et le paramétrage du compte. - **Export et sauvegardes internes JSON** pour la réversibilité des données. #### Rôles utilisateurs Omniscol distingue plusieurs rôles côté école : | Rôle | Usage typique | | --- | --- | | Administrateur | Responsables planning, direction, DSI | | Professeur | Professeurs, intervenants, formateurs | | Élève | Élèves, étudiants, apprenants | | Personnel | Vie scolaire, CPE, AED, surveillants si le Service du personnel est actif | | Lien de partage | Accès par URL signée à un périmètre précis | La correspondance entre ces libellés et les identifiants techniques des rôles est détaillée dans [Utilisateurs et rôles](#page-admin.users-and-roles). Un même utilisateur peut **cumuler plusieurs rôles**. Par exemple, un professeur qui participe à la planification peut être à la fois Professeur et Administrateur. Le rôle Lien de partage ne correspond pas à un compte utilisateur classique. Il s'agit de liens signés : les liens web d'EDT sont en lecture seule, tandis que certains liens ciblés peuvent autoriser une action limitée, comme la saisie des disponibilités d'un professeur jusqu'à une date d'expiration. Il existe par ailleurs des rôles internes réservés aux équipes d'Omniscol : administration de la plateforme, traduction, actions commerciales et partenaires redistributeurs. Certains de ces comptes sont autorisés à se connecter aux comptes des écoles, pour des raisons de maintenance. Ils interviennent alors comme superadministrateurs de l'école, avec plus de possibilités qu'un administrateur : importation de données brutes en base de données, activation ou désactivation d'options payantes, connexion au nom d'un utilisateur. Ces accès déclenchent des alertes de connexion visibles et leurs jetons expirent très vite. Les grands pouvoirs impliquent de grandes responsabilités. > _Option: Rôles personnalisés_ #### Rôles personnalisés L’option [Rôles personnalisés](#page-admin.customroles) permet de restreindre les droits d'un compte administrateur module par module et opération par opération. Elle sert à déléguer une partie de l'administration sans donner tous les droits globaux. #### Modules Les modules visibles dans un compte standard : - **Accueil** (`home`) — page d'entrée et synthèse du jour. - **EDT** (`schedules`) — consultation et modifications ponctuelles. - **Tableau de bord** (`dashboard`) — statistiques d'occupation et de service. - **Gestion des absences** (`absences`) — déclarations et substitutions. - **Gestion des EDT** (`timetables`) — construction, génération et publication des emplois du temps. - **Administration** (`admin`) — utilisateurs, paramètres, import / export et intégrations. Selon le contrat, d'autres modules peuvent apparaître, notamment **Service du personnel** pour la planification des tâches de vie scolaire et de surveillance. #### Multi-écoles Chaque école est isolée logiquement côté serveur et accède à son propre domaine. Les données d'une école ne sont pas visibles par les autres écoles depuis l'application. En revanche, sur demande, il est possible d'activer un canal de communication entre les comptes distincts, afin de partager les conflits d'occupation de salles et de professeurs. C'est très utile dans le cadre de bâtiments partagés, ou pour un groupe d'écoles partageant des ressources. #### Voir aussi - [Présentation générale](#page-overview.what-is-omniscol) - [Visite guidée](#page-overview.quick-tour) - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Rôles personnalisés](#page-admin.customroles) - [Plans et options Omniscol](#page-overview.plans-and-options) - [Sécurité et hébergement](#page-faq.security-and-hosting) ### 1.5 Plans et options Omniscol *Source: `help/fr/overview/plans-and-options.md` · id: overview.plans-and-options · Updated: 2026-06-13* Omniscol se vend selon un modèle simple : **plusieurs plans**, des **fonctions Premium de base**, certaines **activations contractuelles** et une offre autonome **Service du personnel**. Le prix et le périmètre exact dépendent du contrat avec votre établissement. #### Les plans | Plan | Pour qui ? | Inclus | | --- | --- | --- | | **Lite** | Très petits établissements, indépendants, formateurs solo, tests | Génération d'EDT et impression. **Pas de publication, pas d'années scolaires, pas de multi-sites, pas de gestion d'élèves**, ressources limitées. Modules visibles : Gestion des EDT + Administration minimale. | | **Staffing** | Établissements qui n'ont besoin que du service du personnel | Uniquement le module Service du personnel, pour la surveillance, les permanences et l'encadrement | | **Standard** | Établissement classique (école, collège, lycée), équipe planning unique, EDT hebdomadaire | Lite + publication, années scolaires, multi-sites, gestion des élèves, planning quotidien, absences, tableau de bord, panneaux d'affichage, iCal, API limitée en lecture | | **Standard Plus** | Établissements qui ont besoin du Standard et du Service du personnel | Standard + Service du personnel | | **Premium** | Supérieur, formation continue, organisations multi-sites ou multi-parcours plus complexes | EDT de type hebdomadaire, cyclique ou calendrier, disponibilités datées, plusieurs EDT actifs, plus d'options de configuration (statut des séances de cours, placement hors grille, évènements ponctuels, modalité de cours, liens de visioconférence...), API complète par jetons, MCP, OIDC / SSO, synchronisation externe, options avancées selon contrat (collaboration, snapshots, rôles personnalisés). | Les fonctionnalités ne s'activent pas toutes de la même manière : - certaines fonctions sont **incluses de base dans Premium** (mode calendrier, disponibilités calendrier, plusieurs EDT actifs) ; - d'autres sont **activées selon votre contrat**, le plus souvent sur des comptes Premium ; - quelques cas restent **exceptionnellement activables** sur un compte Standard lorsqu'il y a un besoin précis ; - le **Service du personnel** suit aussi sa propre logique, puisqu'il peut être vendu seul. #### Offre autonome Service du personnel Le module Service du personnel est aussi commercialisé **sans le reste d'Omniscol** pour les établissements qui n'ont besoin que de la gestion de surveillance / encadrement. Le compte expose alors seulement le module Service du personnel, les absences du personnel affectable et les écrans utilisateurs nécessaires. Pas d'EDT, pas de tableau de bord pédagogique, pas de panneaux d'affichage. Voir [Vue d'ensemble du Service du personnel](#page-staffing.overview). #### Activations contractuelles | Fonction | Description | Activation | | --- | --- | --- | | Rôles personnalisés | Rôles personnalisés avec matrice de permissions fines. | Selon le contrat du compte | | Snapshots | Points de sauvegarde, digest, restauration et rotation selon quota contractuel activé par Omniscol. | Selon le contrat du compte | | Collaboration | Collaboration entre administrateurs, présence en temps réel selon configuration. | Selon le contrat du compte | | Logs | Écran de consultation des journaux avec profondeur de conservation activée par Omniscol selon contrat. | Selon le contrat du compte | | Comptes liés | Différents comptes Omniscol liés pour partager des occupations de salles, professeurs ou classes entre établissements disposant chacun d'un sous-domaine Omniscol séparé. | Sur demande, après cadrage | | Plusieurs EDT actifs sur compte Standard | Cas exceptionnel pour certains comptes scolaires réellement séparés (par exemple collège-lycée autonome ou primaire-collège-lycée). | Activation spécifique, avec cadrage et facturation adaptés | | Affectation directe des élèves aux classes et groupes dans les emplois du temps | Usuellement, les écoles planifient sans avoir la liste précise des élèves et de leurs affectations. Elles travaillent donc avec les classes et groupes par un nombre théorique d'élèves attendus, en précisant les logiques organisationnelles ; une fois l'emploi du temps terminé, les élèves sont (éventuellement) affectés aux classes et groupes, a posteriori. Cependant, un autre cas de fonctionnement existe, fréquent dans les organismes de formation, où l'on a besoin de la liste précise des élèves sur chaque classe et chaque groupe, a priori, lors de la conception de l'EDT ; la logique de non-conflit entre les groupes (exclusion mutuelle) est alors automatiquement déduite par Omniscol. Cela change le modèle de données et le mode de fonctionnement, et n'est donc activable que sur option par l'équipe Omniscol. | Sur demande, après évaluation de la manière de planifier particulière | | Service du personnel | Module de gestion de la surveillance / encadrement (examens, permanences). Aussi vendu en offre autonome. | En offre autonome, en Standard Plus ou selon contrat | | Modules complémentaires | Modules supplémentaires éventuels. | Selon module et contrat | #### Fonctionnalités notables expliquées ##### Mode calendrier Permet de positionner les séances **date par date** plutôt que sur une semaine type. C'est une fonction **incluse de base dans Premium**, indispensable pour le supérieur, la formation continue, les centres de formation. Voir [Mode calendrier](#page-glossary.calendar-mode). ##### Groupes de groupes Regrouper plusieurs groupes — d'une même classe ou de classes différentes — en une entité planifiable d'un bloc. **Disponible sur tous les comptes, quel que soit le plan**, et sur tous les types d'EDT (hebdomadaire, cyclique, calendrier) ; aucune activation particulière n'est requise. Voir [Groupes de groupes](#page-core-concepts.groups-of-groups). ##### Plusieurs EDT actifs en parallèle Publier plusieurs EDT simultanément sur les mêmes semaines, fusionnés dynamiquement. C'est inclus de base dans Premium. Omniscol peut aussi l'activer exceptionnellement sur certains comptes Standard ou scolaires mixtes quand le besoin et la facturation le justifient. Voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). ##### Comptes liés Relier plusieurs comptes Omniscol pour partager les occupations de ressources communes : professeurs, salles, bâtiments ou classes selon les cas. L'activation se fait sur demande par Omniscol, car il faut cadrer les comptes reliés et les ressources partagées. Voir [Comptes liés et ressources partagées](#page-integrations.linked-accounts). ##### Rôles personnalisés Limiter finement les droits d'un compte administrateur — module par module, avec choix des opérations (consultation / modification / suppression) et coupure d'un module entier en un clic. Voir [Rôles personnalisés](#page-admin.customroles). ##### Points de sauvegarde Sauvegarder l'état du compte à un instant T et le restaurer ultérieurement. Précieux avant une opération risquée (refonte massive, import volumineux, début d'année). Voir [Points de sauvegarde](#page-admin.snapshots). ##### Collaboration temps réel Plusieurs administrateurs peuvent travailler sur le même compte avec des indicateurs de présence lorsque l'option est activée. Voir [Collaboration temps réel](#page-core-concepts.collaboration). ##### MCP Le **MCP** permet de connecter un agent IA compatible tel que Claude (recommandé), avec son identification de compte via OAuth2. Voir [MCP](#page-integrations.mcp). ##### Logs Lorsque l'option est activée par Omniscol, l'écran Logs permet de consulter et d'exporter les entrées journalisées par Omniscol. Il ne faut pas le présenter comme un audit complet avec diff avant/après ou rejeu des requêtes. Voir [Journaux d'activité (logs)](#page-admin.logs). ##### Synchronisation ERP La synchronisation avec des systèmes externes relève d'une activation contractuelle, généralement sur des comptes Premium, lorsqu'un connecteur est configuré. Les connecteurs Aurion et Auriga existent ; l'ajout d'un nouvel ERP se traite sur projet, avec API documentée, sandbox et cadrage du mapping. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). ##### Service du personnel autonome Le module Service du personnel est disponible séparément, y compris en offre autonome (sans le reste d'Omniscol). Voir [Vue d'ensemble du Service du personnel](#page-staffing.overview). #### Comment savoir quel plan et quelles options sont actifs Visible dans Paramètres — rubrique en bas du panneau, qui affiche le plan actif et les options souscrites. Le plan + les options déterminent quels modules sont disponibles dans le menu de gauche. #### Voir aussi - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) - [Comptes liés et ressources partagées](#page-integrations.linked-accounts) - [Mode calendrier](#page-timetables.calendar-mode) - [Rôles personnalisés](#page-admin.customroles) - [Snapshots](#page-admin.snapshots) - [Collaboration temps réel](#page-core-concepts.collaboration) - [MCP — connecter un agent IA externe](#page-integrations.mcp) ### 1.6 Choisir le bon type d'EDT : hebdomadaire, cyclique, calendrier *Source: `help/fr/overview/timetable-modes.md` · id: overview.timetable-modes · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Sur un compte Premium, vous avez le choix entre trois types d'emploi du temps au moment de la création. La distinction fondamentale oppose la **récurrence** (Hebdomadaire et Cyclique : un motif se répète) à la **non-récurrence** (Calendrier : chaque séance est datée individuellement). Le choix structure la suite ; il est donc important de le comprendre avant de créer un EDT. La **génération automatique** par solveur est disponible pour les trois types ; les avantages et les limites propres à chaque type sont décrits ci-dessous. #### En une phrase | Type | Récurrence | Quand l'utiliser | | --- | --- | --- | | **[Hebdomadaire](#page-glossary.weekly-timetable)** | Récurrent (semaine type) | Cours récurrents sur une **semaine type**. Primaire / secondaire. | | **[Cyclique](#page-glossary.cyclic-timetable)** | Récurrent (cycle de N jours) | Cours récurrents sur un **cycle de N jours** (différent de la semaine de 5 ou 7). Systèmes nord-américains, écoles internationales. | | **[Calendrier](#page-glossary.calendar-mode)** | Non récurrent | Séances **datées une par une**, sans récurrence. Supérieur, formation continue. | #### Hebdomadaire — le cas standard C'est le mode par défaut. Il convient à toute école dont les cours suivent une **semaine type récurrente**, avec ou sans alternance A/B. Avantages : - Logique simple : vous saisissez une semaine type, puis vous choisissez les semaines où elle s'applique. - Vacances retirées automatiquement. Limites : - Pas adapté aux établissements où chaque semaine est différente (séances ponctuelles, intervenants externes alternant). - Les séances qui n'ont lieu qu'une seule fois (conférence, examen à date précise) doivent être ajoutées en modifications ponctuelles ou via un EDT séparé. #### Cyclique — pour les cycles non hebdomadaires Le mode cyclique convient aux établissements qui organisent les cours sur un **cycle de N jours** (typiquement 6 ou 8) différent de la semaine de 5 ou 7 — courant dans les systèmes nord-américains et dans certaines écoles internationales. Le fonctionnement est proche de l'hebdomadaire, avec un cycle de N jours numérotés (Jour 1, Jour 2…). Le mappage cycle ↔ jours de la semaine se construit dynamiquement à partir de la **publication de l'EDT**, c'est-à-dire lors du choix des semaines où le cycle s'applique. #### Calendrier — pour le supérieur et la formation continue Le mode calendrier diffère sensiblement des deux autres : chaque séance est positionnée sur **une date précise**, sans récurrence. C'est le mode privilégié de : - l'enseignement supérieur (écoles de commerce, écoles d'ingénieurs, universités), - la formation continue, - les centres de formation où les cours ne reviennent pas chaque semaine. Par rapport à un agenda classique ou un ERP/logiciel de vie scolaire, on bénéficie alors des spécificités typiques de l'enseignement supérieur (voir [mode calendrier](#page-timetables.calendar-mode) pour le détail) : - **Aide à la saisie très complète** — conflits en temps réel, filtres de salles, disponibilités consolidées… - **Disponibilités consolidées en temps réel** — les changements de disponibilités des intervenants sont immédiatement répercutés comme conflits potentiels ou avérés. - **Publication binaire** — l'EDT est publié ou non, sans choix de plages. Limite actuelle — la **semi-récurrence** : certaines écoles ont des semaines globalement similaires mais ponctuées d'irrégularités (cours qui s'arrêtent avant les autres, journées fériées, intervenants ponctuels…). Des boutons permettent de **dupliquer manuellement** une séance sur un motif récurrent, mais le solveur ne prend pas encore en charge ce cas ; la génération automatique reste pleinement disponible sur des calendriers sans motif récurrent sous-jacent, ou à l'inverse, pour les EDT totalement récurrents (hebdomadaires). **Génération partielle** — la génération automatique peut être restreinte à un sous-ensemble du périmètre via le panneau d'options. Trois filtres sont disponibles : - **Classes** : sélection des classes à générer. - **Matières** : sélection des matières à générer. - **Plage de dates** : propre au mode Calendrier. Permet de traiter une période à la fois (par exemple, le trimestre suivant). C'est particulièrement utile en Calendrier : on peut bâtir l'EDT **par itérations successives** — un trimestre, puis le suivant ; une filière, puis les autres ; etc. #### Choisir son mode : guide rapide ```mermaid flowchart TD Q1{{"Vos séances suivent-elles
un motif récurrent ?"}} Q2{{"Le motif est-il la semaine
(5 à 7 jours) ?"}} H([Hebdomadaire]) Cy([Cyclique]) Ca([Calendrier]) Q1 -->|Oui| Q2 Q1 -->|Non| Ca Q2 -->|Oui| H Q2 -->|Non| Cy ``` #### Transformer un EDT vers un autre type Si vous souhaitez basculer un EDT existant d'un type vers un autre, vous pouvez le **dupliquer en le transformant** depuis l'action Dupliquer de la liste des EDT, dans le module Gestion des EDT. Les six conversions sont prises en charge : Hebdomadaire ↔ Cyclique, Hebdomadaire ↔ Calendrier, Cyclique ↔ Calendrier. Selon le type cible, un paramètre supplémentaire est demandé : - **Calendrier** : plage de dates (début / fin) sur laquelle déployer les cours. La fenêtre propose par défaut la première et la dernière semaine de l'année scolaire. - **Cyclique** : longueur du cycle, en jours (par défaut 12). - **Hebdomadaire** : aucun paramètre supplémentaire. Ce qui est remappé pendant la transformation : - **Positions des séances de cours** — chaque position est traduite du système d'origine vers le système cible (jour de la semaine ↔ numéro de cycle ↔ date). - **Hebdomadaire → Calendrier** : chaque séance est démultipliée sur toutes les dates correspondantes de la plage cible, et les **volumes horaires des matières** sont multipliés par le nombre de semaines pour préserver le total. L'**alternance A/B** est appliquée automatiquement à chaque date matérialisée. - **Disponibilités horaires** : conservées et migrées uniquement depuis une source **Hebdomadaire**. Une source Cyclique ou Calendrier les supprime — les disponibilités datées ou en numéros de cycle ne se reprojettent pas proprement sur une semaine type ou un autre cycle. Le résultat est un **EDT autonome**, indépendant de l'original — vous pouvez le retravailler à part, le publier seul ou en parallèle de la version d'origine. #### Combiner les modes Vous pouvez **publier simultanément plusieurs EDT de types différents** sur les mêmes semaines. Cas typiques : - **Tronc commun récurrent + événements ponctuels** : un EDT hebdomadaire pour les cours réguliers + un EDT [calendrier](#page-timetables.calendar-mode) pour les masterclasses, conférences ou examens datés. - **Rythmes différents sur les mêmes classes** : un EDT hebdomadaire pour les matinées (matières fondamentales très régulières) + un EDT calendrier pour les après-midi (sport, clubs, ateliers qui changent d'une semaine à l'autre). - **Fonctionnement différent selon les classes** : une prépa intégrée hebdomadaire, vs un cycle grande école non récurrent avec de nombreux intervenants extérieurs enseignant plusieurs jours d'affilée le même cours aux mêmes élèves. Si plusieurs EDT publiés partagent un professeur ou une salle, Omniscol **fusionne dynamiquement les vues** côté consultation. Lors de l'édition d'un EDT, alors qu'un autre EDT est déjà publié, Omniscol tient compte, par défaut, des occupations des professeurs, salles et classes par cet EDT publié (cette fonctionnalité peut se désactiver). #### Voir aussi - [Hebdomadaire](#page-glossary.weekly-timetable) - [Cyclique](#page-glossary.cyclic-timetable) - [Calendrier](#page-glossary.calendar-mode) - [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) ### 1.7 Première connexion *Source: `help/fr/getting-started/first-login.md` · id: getting-started.first-login · Updated: 2026-05-10* Pour vous connecter à Omniscol, allez sur l'URL de votre école — en général de la forme `https://.omniscol.com`. La page de connexion vous demande un identifiant et un mot de passe. #### Identifiants Vos identifiants vous ont été communiqués par votre établissement. La syntaxe par défaut est `prenom.nom` ou `nom.prenom` (selon la configuration de l'école dans les [Paramètres généraux](#page-admin.parameters)), mais peut aussi être un matricule numérique. #### Mot de passe oublié Cliquez sur Mot de passe oublié ? Saisissez votre identifiant de connexion. Si une adresse mail a été renseignée, vous recevrez un lien de réinitialisation. Suivez les instructions. Si vous n'avez pas reçu d'e-mail : - vérifiez que l'identifiant saisi correspond bien à celui défini dans Omniscol (en cas de doute, contactez l'administrateur de votre école), - regardez dans les indésirables / spam, - vérifiez que votre établissement a bien renseigné votre e-mail dans la fiche utilisateur de votre compte. #### Première connexion Si c'est votre première connexion, le système peut vous demander immédiatement de **changer votre mot de passe**. Choisissez-en un solide et unique (Omniscol n'a aucun moyen de le retrouver — il est rendu illisible avant même d'être transmis). #### Connexion via un fournisseur d'identité Si votre établissement utilise [OIDC / SSO](#page-integrations.oauth2) (Google Workspace, Azure AD/Microsoft Entra, Keycloak, fournisseur SSO interne), un bouton spécifique apparaît sur la page de connexion. Cliquez et authentifiez-vous via votre service d'identité habituel. #### Restrictions par profil L'administrateur peut décider de **bloquer la connexion** à certains profils (par exemple, désactiver la connexion élève en cours d'année, ou désactiver un compte professeur particulier). Si votre profil est restreint, vous voyez un message vous le précisant. Voir Restriction de connexion à l’application. #### Voir aussi - [Configurer le compte de l'école](#page-getting-started.setup-school) - [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) - [OIDC / SSO](#page-integrations.oauth2) ### 1.8 Configurer le compte de l'école *Source: `help/fr/getting-started/setup-school.md` · id: getting-started.setup-school · Audience: admin · Updated: 2026-05-10* À la création de votre compte Omniscol, l'écran d'accueil vous guide étape par étape. Suivez l'ordre proposé : c'est le chemin le plus fluide. Cette page récapitule la séquence de la **droite vers la gauche** dans le menu Administration (moins un accès est courant, plus il se situe à droite). #### Étape 1 — Paramètres Le module Paramètres contient toute la configuration du compte. Beaucoup de valeurs sont pré-remplies en fonction du **pays** de votre école, sur la base des habitudes locales observées par Omniscol — vous n'avez généralement que peu de choses à ajuster. À vérifier en priorité : - Nom de l'école — affiché sur la page de connexion. - **Niveaux de classe** (6e, 5e, L1, M2…) — ils servent de référence partout. À adapter à votre nomenclature. - **Mode de saisie des disponibilités des professeurs** — hebdomadaire, calendrier (sur les comptes Premium), calendrier + hebdomadaire (sur les comptes Premium), ou désactivé. - **Restriction de visibilité des EDT par les élèves** — combien de semaines à l'avance les élèves peuvent voir leur EDT (utile pour retarder la diffusion d'un EDT non finalisé). - **Identifiant de connexion** — le format de génération automatique des logins (`prenom.nom`, `nom.prenom`, matricule…). - Premier jour de la semaine — important pour les pays qui commencent en dimanche (pays arabes, Israël). - Semaines alternées (pour les EDT hebdomadaires) — A/B, 1/2 (c'est-à-dire mode d'affichage en lettres ou en chiffres), ou désactivé. - **Logo de l'école** — affiché à la place du logo Omniscol sur la page de connexion et dans le bandeau supérieur. Pour les détails, voir [Paramètres généraux](#page-admin.parameters). #### Étape 2 — Année scolaire Avant de pouvoir publier un EDT, vous devez avoir au moins **une année scolaire** déclarée dans Années scolaires. À renseigner : - **Nom** — par convention, les dates : « 2025-2026 ». - **Dates de début et de fin**. - **Vacances** — soit par copier-coller depuis un tableau, soit en important les dates pré-renseignées pour votre pays (proposé à la création), soit manuellement. - **Année courante** — désigner l'année actuellement en service. C'est celle qu'on voit par défaut et qui est exclusivement diffusée. Voir [Année scolaire et vacances](#page-admin.school-year). #### Étape 3 — Matières Si Omniscol pré-remplit déjà une **base de matières communes** pour votre pays, vous n'avez peut-être rien à faire. Sinon, ou pour les disciplines spécifiques à votre établissement : - Créez les **matières personnalisées** dans Créer. - Définissez les **types de cours** (par exemple cours, atelier, examen, conférence) dans Créer si votre nomenclature pédagogique en utilise. - Optionnel : configurez les **familles de matières** pour regrouper les matières apparentées. ⚠ **Attention à l'orthographe** des matières personnalisées : Omniscol fait une copie interne au moment de l'affectation à un EDT, et un correctif a posteriori ne se propage pas dans les EDT déjà configurés dans le passé (seulement aux EDT du présent, du futur et non publiés). #### Étape 4 — Utilisateurs C'est là qu'on crée les professeurs, élèves et administrateurs. Voir [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) pour le détail. À l'issue de cette étape, vous pourrez créer votre premier emploi du temps. Suivez alors [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview). #### Voir aussi - [Paramètres généraux](#page-admin.parameters) - [Année scolaire](#page-admin.school-year) - [Gérer les matières](#page-admin.subjects) - [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) ### 1.9 Inviter et activer ses utilisateurs *Source: `help/fr/getting-started/inviting-users.md` · id: getting-started.inviting-users · Audience: admin · Updated: 2026-06-13* Quatre rôles utilisateur côté école structurent la prise en main : **Administrateur**, **Professeur**, **Élève** et **Personnel**. Chaque rôle donne accès à un périmètre différent. #### Quel écran pour quel rôle | Rôle | Écran | Obligatoire ? | | --- | --- | --- | | Administrateur | Administrateurs | Au moins l'administrateur principal. | | Professeur | Professeurs | Essentiel, pour pouvoir créer et publier des séances de cours avec les professeurs. | | Élève | Élèves | Optionnel : Omniscol peut fonctionner sans connaître les élèves et sans leur donner accès au portail de consultation. | | Personnel | Membres du personnel | Utile seulement si le Service du personnel est utilisé. | Le détail des droits de chaque rôle et leur correspondance technique sont décrits dans [Utilisateurs et rôles](#page-admin.users-and-roles). #### Création unitaire ou création en masse (batterie) **Unitaire** : bouton Ajouter sur l'écran du rôle concerné. Vous ouvrez le formulaire d'un seul utilisateur et renseignez ses informations de base. **Masse (batterie)** : bouton Importer des données sur l'écran du rôle concerné. Vous créez ou modifiez plusieurs lignes dans un tableau, à partir d'un fichier préparé dans Excel, Google Sheets, Numbers ou Calc. Voir [Préparer ses données pour un import massif](#page-getting-started.preparing-data). #### Activation d'un utilisateur Un utilisateur actif peut se connecter, figurer dans les écrans qui le concernent et recevoir des affectations. Pour rendre un utilisateur inactif sans le supprimer, utilisez sa fiche ou l'action de masse. Un compte inactif ne peut plus se connecter ni être affecté à de nouveaux emplois du temps, mais son historique reste consultable. #### Inviter par e-mail Le bouton Inviter un utilisateur, sur une sélection d'utilisateurs, envoie un e-mail à chaque destinataire avec un lien de première connexion. Vérifiez d'abord que les e-mails sont renseignés ; sinon l'invitation ne peut pas partir. #### Définir des mots de passe initiaux Si l'invitation par e-mail n'est pas adaptée, vous pouvez définir des mots de passe manuellement avec Modification du mot de passe. À réserver plutôt aux comptes pilotes, aux comptes de service ou aux situations où l'établissement gère lui-même la distribution des identifiants. Le mot de passe ainsi manuellement défini (potentiellement en s'aidant du bouton de génération aléatoire) est en réalité temporaire : à la première connexion, l'utilisateur devra en saisir un nouveau, personnalisé. #### Placer les élèves dans les classes et groupes Les placements se gèrent depuis l'écran Élèves : 1. Sur Élèves, sélectionnez les élèves concernés. 2. Cliquez sur Assigner à une classe. 3. Choisissez l'année scolaire, la classe et les dates si nécessaire. 4. Utilisez Groupes pour les groupes (langues, options, TP, demi-classes). Les placements peuvent être faits en plusieurs vagues, par exemple par niveau ou au fil des inscriptions. Il existe une option pour que les élèves soient affectés directement dans les classes et les groupes au niveau des emplois du temps, a priori, et non dans le module Administration, a posteriori. Contactez l'équipe Omniscol si vous êtes intéressés par ce mode de fonctionnement. > _Option: Rôles personnalisés_ #### Rôles personnalisés L’option **Rôles personnalisés** permet de restreindre les droits d'un compte administrateur module par module et opération par opération. Voir [Rôles personnalisés](#page-admin.customroles). #### Procédure — Prise en main des utilisateurs à la rentrée 1. Préparez les fichiers ou tableaux d'utilisateurs : administrateurs, professeurs, élèves et personnel si nécessaire. 2. Importez ou créez les comptes depuis les écrans du module Administration. 3. Vérifiez les e-mails, les logins et les rôles. 4. Envoyez les invitations avec Inviter un utilisateur. 5. Placez les élèves dans leurs classes et groupes une fois un premier EDT publié sur l'année scolaire. 6. Désactivez en fin d'année les comptes qui ne doivent plus se connecter, plutôt que de supprimer immédiatement l'historique. #### Voir aussi - [Configurer le compte de l'école](#page-getting-started.setup-school) - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Gérer les professeurs](#page-admin.teachers) - [Gérer les élèves](#page-admin.students) ### 1.10 Préparer ses données pour un import massif (en batterie) *Source: `help/fr/getting-started/preparing-data.md` · id: getting-started.preparing-data · Audience: admin · Updated: 2026-06-03* Saisir manuellement plusieurs centaines ou milliers de lignes (professeurs, élèves, salles, cours…) est rarement judicieux. Omniscol propose des **imports en masse** par copier-coller depuis n'importe quel tableur (Excel, Google Sheets, Numbers, Calc…), au format CSV ou TSV. Ces importations s'effectuent en cliquant sur les boutons [table], généralement en tête des listings d'entités. Quelques-uns ne servent qu'à exporter les données, mais la plupart acceptent l'importation. #### Que peut-on importer ? | Entité | Écran | Volume typique | | --- | --- | --- | | **Professeurs** | Exporter les données au format CSV | 10 - 1000 | | **Élèves** | Exporter les données au format CSV | 50 - 10 000 | | **Salles** | Exporter les données au format CSV | 10 - 500 | | **Matières personnalisées** | Exporter les données au format CSV | 10 - 1000 | | **Séances de cours d'un EDT** | Exporter les données au format CSV | 100 - 10 000 | #### Préparer ses fichiers **Règles d'or** : 1. **Une ligne = une entité.** Pas de lignes fusionnées, pas d'en-têtes multi-lignes. 2. **Respecter l'ordre des colonnes attendu par Omniscol.** L'écran d'import affiche le canevas avec les colonnes dans l'ordre cible et vous pouvez **réorganiser ces colonnes** côté Omniscol pour coller à l'ordre de votre tableur source — ce qui rend le copier-coller depuis Excel ou Google Sheets propre, sans réécrire votre fichier. 3. **Certaines colonnes sont en lecture seule.** Elles sont alors grisées, destinées uniquement à l'exportation des données. La première colonne est généralement l'identifiant de la donnée déjà enregistrée en base de données. 4. **Les colonnes marquées d'une "*" sont obligatoires.**. S'il manque un champ obligatoire, la ligne est ignorée (non importée à la création, ou supprimée si elle existait déjà en base de données). 5. **Les séparateurs internes d'une cellule sont libres** dans les listes (multi-professeur, multi-groupe, multi-salle d'un cours) : virgule, point-virgule, slash. 6. **L'IA intégrée nettoiera les données** mais jusqu'à un certain point : essayez d'avoir des données propres et non ambiguës, vous pourriez avoir sinon quelques mauvaises surprises. #### Champs typiques par entité ##### Professeurs - Prénom, Nom (obligatoires). - E-mail (recommandé pour les invitations). - Matricule / ID externe (optionnel mais utile pour traçabilité). - Matières enseignées (liste, séparateurs libres). - Service horaire (nombre d'heures hebdomadaires prévues). - Site principal (si multi-sites). ##### Élèves - Prénom, Nom (obligatoires). - E-mail (recommandé). - Matricule SIS (utile pour éviter les homonymies). - Niveau / Classe. - Groupes (option, sous-groupe). - Statut (actif, en pré-inscription, inactif). ##### Salles - Nom (obligatoire). - Site (obligatoire si multi-sites — sinon Omniscol attribue au site par défaut). - Capacité. - Spécialisations (liste). - Bâtiment (libre). - Tags / commentaires. ##### Séances de cours - Classe + matière (au minimum). - Durée (sinon déduite des heures début/fin). - Jour, heure début, heure fin (pour pré-positionner ; sinon laisser vide et positionner après). - Groupe (optionnel). - Type de cours (TD, TP, CM, examen…). - Professeur(s) (séparateurs libres). - Salle(s) (séparateurs libres — oui, [plusieurs salles](#page-glossary.multi-room) sur un même cours sont supportées). - Ressource(s). - Semaines alternées (format `A/B`, `1/2`, etc.). - Commentaire libre. #### Après la préparation Le déroulé d'import dépend de l'écran cible. Généralement, l'écran se rafraîchit intégralement avec les nouvelles données. Pour les **cours d'un EDT**, voir [Import massif des cours via tableur](#page-timetables.mass-import), qui documente l'assistant dédié en quatre étapes. #### Exportation Le même procédé de tableur interne permet d'extraire les données. Pour cela, plusieurs options : - Copier-coller vers un tableur externe (format TSV, automatique). - Utiliser les boutons du bas pour exporter directement en fichier PDF, CSV ou Excel (XLSX). #### Réimportation L'importation n'est pas limitée à une importation initiale. Il est possible d'importer massivement en plusieurs étapes. La première colonne, libellée "id", comporte l'identifiant en lecture seule de chaque entité en base de données, qu'on peut retrouver dans les URLs. Si l'on modifie une ligne correspondant à un identifiant donné, alors les données de l'entité sont modifiées. Pour ajouter de nouvelles données, il suffit d'aller tout en bas du tableur, où il y a toujours quelques lignes vides, sans identifiant attaché. Coller de nouvelles données, comme à l'importation initiale, ré-agrandit le tableau d'autant. Les entités réimportées peuvent comporter des données complexes, qui ne sont pas éligibles à l'importation/exportation (parfois, on peut avoir une colonne en lecture seule qui sert uniquement à l'exportation de ces données). C'est par exemple le cas des contraintes horaires sur les professeurs, les salles, les classes, etc. Dans ce cas, la réinjection à l'identique est automatique. Ce système permet ainsi d'importer massivement en plusieurs fois sans perdre de données enrichies sur les entités existantes, tout en pouvant en créer de nouvelles ou en supprimer d'autres. #### Suppression massive Comme vu pour la réimportation, la première colonne "id" sert à repérer les différentes entités. Si l'on supprime une ligne, a minima les colonnes obligatoires marquées d'une "*", alors l'importation supprimera les entités vidées. Étant donné que l'on peut sélectionner plusieurs lignes et colonnes, comme sur un tableur standard, il suffit d'appuyer sur la touche supprimer du clavier pour effacer autant de lignes que souhaité, et donc supprimer de la base de données les entités correspondantes, en masse. #### Voir aussi - [Import et export](#page-admin.import-export) - [Import massif des cours d'un EDT](#page-timetables.mass-import) - [Migration depuis un autre logiciel](#page-migration.overview) ### 1.11 Visite guidée de prise en main (les 6 étapes du module Accueil) *Source: `help/fr/getting-started/onboarding-tour.md` · id: getting-started.onboarding-tour · Audience: admin · Updated: 2026-05-10* Quand vous vous connectez pour la première fois sur un compte vierge, le module **Accueil** vous propose une **checklist en six étapes** — chacune cochée automatiquement quand sa pré-condition est satisfaite (✓ verte) ou marquée comme bloquante (✗ rouge) tant que rien n'a encore été saisi. Les étapes sont dans un ordre logique fortement conseillé, mais vous pouvez toujours sauter une étape et retourner dessus plus tard. À un moment ou un autre, il manquera une donnée qui vous obligera à revenir sur vos pas. Cette page d'aide détaille la même séquence, étape par étape ; une **visite guidée cliquable** la récapitule en fin de page. #### Vue d'ensemble — message d'accueil > Bienvenue dans Omniscol, le logiciel en ligne de génération et gestion d’emplois du temps ! Si vous voyez ce message, c’est qu’il s’agit de votre première connexion ou que vous n’avez pas encore saisi la configuration d’un premier emploi du temps. Suivez les étapes listées ci-dessous pour vos premiers pas dans le logiciel. L’ordre présenté est celui conseillé, mais vous pouvez à tout instant revenir sur les différentes étapes. > **Astuce d'organisation** : le module Accueil se masque > automatiquement dès que votre **premier EDT est publié**. Tant > qu'il est visible, c'est lui votre boussole. Le lien > afficher à nouveau le ré-affiche si besoin > après publication : > > > Votre compte est configuré et fonctionnel. Vous pouvez cependant afficher à nouveau les étapes de configuration. #### Étape 1 — Saisir les utilisateurs > Saisissez tout d’abord les utilisateurs : professeurs et étudiants. La saisie des étudiants est optionnelle, vous pouvez tout à fait créer plus tard des emplois du temps en indiquant seulement le nombre d’étudiants dans les classes et groupes. Vous pouvez aussi les saisir plus tard puis les affecter aux classes et groupes. > Astuce: vous pouvez saisir les données en masse en copiant-collant depuis un tableur tel que Excel en cliquant sur l’icône. **Action** : - Saisir les professeurs *(obligatoire — coche rouge tant qu'aucun professeur n'est créé)* - Saisir les étudiants *(optionnel — pas de coche rouge, juste un rond si non rempli)* Voir [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) pour le détail (création unitaire vs import en masse, invitations par e-mail, mots de passe initiaux, opérations de masse). #### Étape 2 — Renseigner les paramètres > Renseignez les paramètres de votre compte, notamment les niveaux de classe. **Action** : Renseignez les paramètres Voir [Paramètres généraux](#page-admin.parameters). À adapter en priorité : niveaux de classe, mode des disponibilités, premier jour de la semaine (pour les pays démarrant en dimanche), syntaxe d'identifiant. La plupart des autres valeurs sont pré-remplies pour votre pays. #### Étape 3 — Créer une première année scolaire > Une année scolaire est une période comprise entre des dates de début et de fin, comprenant les vacances, sur laquelle les emplois du temps seront publiés. Elle est indispensable pour accéder aux modules d’usage quotidien (consultation des emplois du temps sur l’année, des tableaux de bords, création et gestion des absences…). **Action** : Créer une première année scolaire Voir [Année scolaire et vacances](#page-admin.school-year). Donnez-lui un nom (« 2025-2026 »), des dates de début et fin, et importez les vacances pré-renseignées pour votre pays si proposées. C'est l'étape qui débloquera l'accès à la publication dans le module de gestion d'EDT. #### Étape 4 — Créer les matières personnalisées (optionnel) > Définissez les matières enseignées particulières qui ne seraient pas déjà dans la base de donnée de nos matières par défaut. Cette étape est optionnelle. **Action** : Créer les matières personnalisées Voir [Gérer les matières](#page-admin.subjects). La base de matières communes par pays est déjà pré-remplie ; vous ne créez ici que les matières **spécifiques à votre établissement** qui ne sont pas dans la base. #### Étape 5 — Créer (puis configurer) un emploi du temps L'étape 5 a deux variantes selon l'état du compte : ##### 5a — Tant qu'aucun EDT n'est créé > Créez un nouvel emploi du temps. Nous conseillons de procéder étape par étape en renseignant chaque onglet de la gauche vers la droite. À la fin, cliquez sur le bouton de génération. **Action** : Créer un emploi du temps Cliquez sur Créer un EDT dans le module [Gestion des EDT](#page-timetables.overview). Si votre compte propose plusieurs modes, choisissez le [mode d'EDT](#page-overview.timetable-modes) (hebdomadaire, cyclique, calendrier). ##### 5b — Une fois l'EDT créé, en cours de configuration > Un emploi du temps est en cours de configuration mais pas encore généré. Nous conseillons de finir la configuration étape par étape en renseignant chaque onglet de la gauche vers la droite. À la fin, cliquez sur le bouton de génération. **Action** : Reprendre la configuration de l’emploi du temps Suivez les onglets de l'EDT **de la gauche vers la droite** : [Général](#page-timetables.general-settings) → [Sites](#page-timetables.sites-rooms) → [Professeurs](#page-timetables.assigning-teachers) → [Classes](#page-timetables.creating-classes) → [Alignements](#page-timetables.alignments-and-groups-of-groups) → [Répartition des heures](#page-timetables.hour-distribution) → [Génération](#page-timetables.generation). #### Étape 6 — Distribuer (publier) l'EDT > Une fois l’emploi du temps entièrement configuré et généré, celui-ci doit être distribué sur tout ou partie des semaines de l’année scolaire. Cliquez sur le bouton de distribution dans l’écran de gestion des emplois du temps. Cet écran vous permet aussi de retrouver les emplois du temps en cours de configuration ou déjà générés. **Action** : Gérer les emplois du temps Voir [Publier (activer) un EDT](#page-timetables.publication). C'est l'étape souvent oubliée : tant que l'EDT n'est pas distribué sur les semaines de l'année scolaire, il reste un brouillon invisible des utilisateurs finaux. La publication est nécessaire pour que les modules d'usage quotidien (consultation, tableaux de bord, absences) soient pleinement opérationnels. Cela active aussi les éventuelles exportations en temps réel vers l'extérieur de l'application : iCal, logiciels externes connectés, etc. #### La suite Une fois la checklist verte de bout en bout, avec un emploi du temps entièrement configuré et publié : - **Affecter les élèves** à leurs classes / groupes (cf. [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users)). - **Inviter les utilisateurs** par e-mail (Inviter l'utilisateur). - **Configurer les panneaux d'affichage** dans les locaux (cf. [Panneaux d'affichage](#page-panels.lobby-panel)). - **Mettre en place les abonnements iCal** des professeurs et des élèves (cf. [iCal](#page-integrations.ical)). - **Tester l'accès élève** depuis un compte test. - **Configurer les intégrations** (vie scolaire, ERP…) si applicable (cf. [Vue d'ensemble des intégrations](#page-integrations.overview)). #### Voir aussi - [Visite guidée en cinq minutes](#page-overview.quick-tour) - [Première connexion](#page-getting-started.first-login) - [Configurer le compte de l'école](#page-getting-started.setup-school) - [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) - [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) - [Publier (activer) un emploi du temps](#page-timetables.publication) --- ## 2. Concepts métier ### 2.1 Organisation des données : matières, professeurs, classes, EDT *Source: `help/fr/core-concepts/data-model.md` · id: core-concepts.data-model · Audience: admin · Updated: 2026-06-13* Omniscol distingue deux niveaux d'organisation : un **référentiel école** porté par le module Administration (matières, utilisateurs, années scolaires…), qui décrit durablement votre établissement, et des **emplois du temps** qui en consomment des éléments pour bâtir une planification cohérente sur une période donnée. Comprendre cette dualité est la clé pour gérer sereinement les changements (renommer une matière, faire évoluer un professeur, archiver un EDT) sans casser l'historique. #### Vue d'ensemble : deux niveaux, deux logiques ```mermaid flowchart LR subgraph A["Niveau école — module Administration"] AS["Matières"] AU["Utilisateurs professeurs"] end subgraph E["Niveau EDT — planification"] C["Classes"] G["Groupes
(optionnels)"] M["Cours
= Matières des classes
(copie locale, typée)"] T["Professeurs de l'EDT
copie partielle"] S["Séances
durée, classe, groupe optionnel,
professeurs, salle, position"] end AS -.->|sert de modèle| M AU -.->|sert de modèle| T C -->|contient| G C -->|matières affectées| M T -->|professeurs affectés| M M -->|matière enseignée| S C -->|classe concernée| S G -.->|groupe optionnel| S T -->|professeurs de la séance| S ``` **Niveau école** : un référentiel global, à durée de vie longue, géré dans le module Administration. Il contient ce qui est vrai pour l'établissement indépendamment d'un EDT particulier — le calendrier des années scolaires, le catalogue des matières (communes au pays + personnalisées de l'école), et l'annuaire des utilisateurs (avec leurs rôles). **Niveau EDT** : une planification cohérente sur une période. Chaque EDT a sa propre liste de professeurs, de classes, de groupes, de matières attachées aux classes et de séances. Ces objets ne sont pas de simples références au référentiel école : ce sont des **copies locales**, qui peuvent être enrichies sans modifier le référentiel. Inversement, le référentiel niveau école peut évoluer (suppression de matières, de professeurs) sans casser les emplois du temps du passé. La suite détaille chaque type de lien. #### L'année scolaire : le cadre temporel L'**année scolaire** définit une plage `date de début → date de fin` et la liste des vacances (voir [Année scolaire](#page-core-concepts.school-year)). Elle ne « contient » pas les EDT directement : ce sont les EDT qui **se déploient** sur des semaines (mode hebdomadaire / cyclique) ou des dates (mode calendrier) appartenant à une année scolaire. Cela permet plusieurs configurations : - **Un seul EDT par année scolaire** (cas standard) : l'EDT couvre toutes les semaines ouvrées de l'année. - **Plusieurs EDT successifs** dans la même année : un EDT par trimestre par exemple, qui se passent le relais aux dates de bascule. - **Plusieurs EDT en parallèle** sur la même période (fonction incluse en Premium ; sur certains comptes Standard, elle peut être activée dans un cadre contractuel adapté), par exemple : - un EDT pour le tronc commun récurrent - un EDT calendrier pour les masterclasses, fusionnés à la consultation. Voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). L'année scolaire reste donc un cadre — pas un conteneur. Modifier ses bornes ou ses vacances met à jour le calendrier utilisé par les EDT qui y sont rattachés, sans modifier leur contenu. #### Les matières : du catalogue école aux séances de cours d'une classe ```mermaid flowchart TD CatM["Catalogue des matières
ex. Mathématiques"] CatT["Types de cours
ex. CM, TD, TP"] Classe["Classe dans l'EDT
ex. 3e A"] Prof["Professeurs de l'EDT
ex. Mme Martin"] MC["Matière de classe (= cours)
Mathématiques [TD]
volume horaire, professeurs,
contraintes, salle spécialisée"] S["Séances
durée, date/créneau,
groupe éventuel, salle,
professeur(s)"] CatM -->|matière choisie| MC CatT -->|type éventuel| MC Classe -->|classe concernée| MC Prof -->|professeurs affectés| MC MC -->|sert à créer| S Prof -->|peut être ajusté sur| S ``` ##### Niveau 1 — Le catalogue dans le module Administration Au niveau école, deux origines coexistent : - **Matières communes** : le référentiel d'Omniscol pour le pays configuré (codes officiels, libellés normés). Le catalogue est lecture seule pour l'école. - **Matières personnalisées** : ce que l'école crée elle-même, géré depuis [l'écran Matières](#page-admin.subjects). Chaque matière personnalisée a un nom, un code (court), et optionnellement : un nom court, une couleur spécifique, une matière parente, une famille. Ce catalogue ne dit rien des classes qui enseignent ces matières — il dit seulement qu'elles existent. Les familles de matières peuvent aussi venir d'un référentiel partagé par pays, en lecture seule, ou d'un référentiel personnalisé, local à l'école. ##### Niveau 2 — Affectation à une classe (avec ou sans type) Quand vous **affectez une matière à une classe** dans un EDT, une **copie locale** de la matière est créée dans la classe, enrichie de champs propres à la planification (volume horaire visé, poids pédagogique, incompatibilités, professeurs par défaut, spécialisation de salle…). Si vous affectez la matière **avec un type de cours** (`CM`, `TD`, `TP`, `Examen` — voir [Types de cours](#page-admin.lesson-types)), chaque type crée une **entrée distincte** dans la classe : | Matière dans la classe | Origine | Type | | --- | --- | --- | | Mathématiques | Mathématiques | aucun | | Mathématiques [CM] | Mathématiques | CM | | Mathématiques [TD] | Mathématiques | TD | C'est volontaire : chaque variante (Math CM, Math TD) devient une copie locale distincte, avec son propre volume horaire, ses propres professeurs et ses propres incompatibilités. Le lien avec le catalogue n'est pas une dépendance forte : la copie locale conserve l'origine de la matière si celle-ci existe encore dans le catalogue. Si la matière est supprimée du catalogue, les copies locales des EDT restent valides. ##### Niveau 3 — Des paramètres de cours aux séances Dans Omniscol, ce que l'on appelle couramment un [cours](#page-glossary.course) correspond généralement à une matière affectée à une classe, éventuellement associée à un type de cours (CM, TD, TP…), puis enrichie d'informations de planification : volume horaire, professeurs, groupes, contraintes de placement, salles ou ressources. Cette définition indique ce qui doit être planifié. Les **séances** sont les occurrences réellement placées dans l'emploi du temps, sur une semaine ou une date donnée. Exemple : une matière de classe telle que **Mathématiques [TD]** peut définir un volume horaire, des professeurs, des groupes, des contraintes de placement et des préférences de salle. Les séances sont ensuite créées à partir de cette définition. Voir [Cours, séances, types de cours](#page-core-concepts.lessons-and-types). #### Les professeurs : référentiel école → copie EDT enrichie ```mermaid flowchart LR U["Utilisateur (module Administration)
rôle teacher
nom · login · email · disponibilités globales"] Aff{Affectation à un EDT} T["Professeur dans l'EDT
nom (copié) · idnumber
service horaire (copié, surchargeable)
disponibilités propres à l'EDT · salle préférée"] Se["Séances assignées"] U --> Aff Aff -->|copie partielle enrichie| T T --> Se ``` ##### Le professeur au niveau école Au niveau école, un professeur est un **utilisateur** doté du rôle `teacher` (un même utilisateur peut cumuler plusieurs rôles — voir [Utilisateurs et rôles](#page-admin.users-and-roles)). Géré depuis [l'écran Professeurs](#page-admin.teachers), il porte les informations identifiantes durables : nom, prénom, login, e-mail, numéro d'identification, ainsi que ses **disponibilités globales** (récurrentes) et son service horaire de référence. ##### Le professeur affecté à un EDT Quand vous affectez ce professeur à un EDT, Omniscol crée une **copie partielle enrichie** dans l'EDT. La copie ne reprend qu'une sélection de champs du référentiel école et y ajoute des champs propres à la planification : | Champ | Niveau école (référentiel) | Niveau EDT (copie) | | --- | --- | --- | | Identifiant | l'identifiant de l'utilisateur | identique (lien implicite) | | Nom, prénom, prénom intermédiaire | source | copié à l'affectation | | Numéro d'identification | source | copié à l'affectation | | E-mail, téléphone, login | source | **non copié** (reste seulement dans le module Administration) | | Service horaire de référence | source | copié, **surchargeable par EDT** | | Salle préférée | non géré au référentiel | propre à l'EDT | | Disponibilités | « disponibilités globales » de l'utilisateur | mode récurrent : copie locale validée ou relaxée ; mode calendrier : source partagée, consultable et modifiable depuis l'Administration ou depuis les EDT concernés | Cette dualité est importante : le **même professeur** peut avoir un **service horaire différent** selon le périmètre planifié, ou une **salle préférée différente** à un moment donné (par exemple pour cause d'invalidité temporaire). Pour les disponibilités, la logique dépend du mode de planification : - en mode récurrent, les disponibilités saisies par le professeur passent par une phase d'acceptation par l'administration. Ils peuvent être adaptés localement dans l'EDT, par exemple en transformant une indisponibilité stricte en créneau non souhaité ; - en mode calendrier, les disponibilités du professeur sont considérées comme une seule source de vérité, notamment pour les intervenants extérieurs. Elles peuvent être consultées et modifiées depuis la fiche utilisateur ou depuis n'importe quel EDT calendrier où le professeur est affecté. Dans les deux cas, certains paramètres restent propres à l'EDT et peuvent enrichir localement ces disponibilités. ##### Les professeurs virtuels Une variante : on peut créer dans un EDT un **professeur virtuel** — un poste à pourvoir, sans utilisateur réel derrière (« le futur prof de maths »). Il n'a pas de contrepartie au niveau école. Au moment du recrutement, vous pouvez remplacer ce professeur virtuel par un vrai utilisateur professeur (voir [Affecter les professeurs à un EDT](#page-timetables.assigning-teachers)). #### Le principe de copie locale, en synthèse La même logique régit les matières dans une classe et les professeurs dans un EDT : **une copie locale est créée au moment de l'affectation**, et c'est cette copie locale qui porte les champs spécifiques à l'EDT. Pourquoi ce choix de conception : - **Indépendance temporelle.** Un EDT clos l'an dernier ne doit pas se modifier quand vous renommez une matière ou un professeur cette année. Les copies locales garantissent l'**intégrité historique** : ce qui a été planifié reste exactement comme à l'époque. - **Enrichissement contextuel.** Un professeur n'a pas les mêmes disponibilités ni le même service horaire selon le périmètre planifié ; une matière n'a pas le même poids ni les mêmes incompatibilités selon la classe qui l'enseigne. La copie locale est l'endroit naturel pour porter ces variations. - **Nettoyage sans casse.** Supprimer ou refondre une matière au niveau école n'efface pas les EDT qui s'en servaient — leurs copies locales restent valides. En contrepartie, les renommages côté école ne se propagent pas silencieusement partout. C'est l'objet de la section suivante. #### Conséquences pratiques : renommages, suppressions, historique Quand vous modifiez une entité au niveau école, Omniscol applique une règle claire de propagation : | Action au niveau école | EDT passés (clos) | EDT en cours / futurs | | --- | --- | --- | | Renommer une matière personnalisée (nom, code court, code) | **Inchangés** — historique préservé | Nom propagé dans les copies locales correspondantes | | Changer la couleur d'une matière personnalisée | **Inchangés** | Couleur mise à jour si la couleur précédente n'avait pas été surchargée localement | | Renommer un professeur (nom, prénom) | **Inchangés** | Nom propagé dans les copies locales | | Modifier l'e-mail ou le téléphone d'un professeur | Sans effet (non copié) | Sans effet (non copié) | | Modifier les disponibilités globales d'un professeur | Sans effet | Mode récurrent : indicateur de mise à jour si les disponibilités avaient déjà été acceptées ; mode calendrier : mise à jour de la source partagée des disponibilités | | Supprimer une matière personnalisée | Copies locales préservées | Copies locales préservées ; la matière disparaît seulement du catalogue | | Désactiver le rôle `teacher` d'un utilisateur | Inchangés | Les copies dans les EDT restent en place | La distinction « passés » / « en cours ou futurs » se fait par rapport à la **date du jour** : un EDT publié dont la dernière semaine active est antérieure à aujourd'hui est considéré comme passé et n'est plus modifié par les renommages. ##### Quand répercuter manuellement La propagation automatique reste **délibérément étroite** : nom, code et couleur des matières ; nom et identifiant des professeurs. Le nom et le code d'une matière copiée localement ne se modifient pas dans l'EDT ; seule sa couleur peut être redéfinie localement. Les autres champs (incompatibilités, poids pédagogique, service horaire, disponibilités par EDT…) ne se synchronisent pas, parce qu'ils sont **par nature propres à l'EDT**. Si un changement plus profond doit s'appliquer à plusieurs EDT existants (par exemple : revoir le service horaire d'un professeur sur tous les EDT actifs, ou ajouter une nouvelle incompatibilité de matière partout), il faut intervenir EDT par EDT. Pour les opérations massives, l'outil le plus rapide reste l'**import par copier-coller depuis tableur** sur l'écran concerné de chaque EDT. #### Voir aussi - [Année scolaire](#page-core-concepts.school-year) - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Cours (définition de glossaire)](#page-glossary.course) - [Cours, séances, types de cours](#page-core-concepts.lessons-and-types) - [Gérer les matières](#page-admin.subjects) - [Gérer les professeurs](#page-admin.teachers) - [Types de cours](#page-admin.lesson-types) - [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) ### 2.2 Classe, groupe, sous-groupe *Source: `help/fr/core-concepts/classes-and-groups.md` · id: core-concepts.classes-and-groups · Updated: 2026-05-20* Les classes représentent des ensembles d'apprenants différents partageant le même cursus scolaire et suivant généralement leurs cours ensemble (mêmes matières, professeurs et salles), avec comme seule exception la division en groupe, c'est-à-dire des sous-ensembles personnalisés ayant un cursus marginalement adapté (subdivision par options, niveaux, sexe, ordre alphabétique…). Les différentes classes n'ont jamais d'apprenants communs. Dans Omniscol, on part toujours de la **classe**, puis, dans chacune, on crée des **groupes** quand toute la classe ne suit pas le même cours. Les **sous-groupes** servent à raffiner ce découpage quand un groupe doit lui-même être subdivisé : un groupe rattaché à un autre groupe, dans une relation parent-enfant, devient un sous-groupe. Les notions de **partition**, **alignement** et **groupe de groupes** ne sont pas des niveaux supplémentaires dans la hiérarchie. Ce sont des façons d'organiser ou de relier des groupes selon le cas d'usage. #### Vue d'ensemble ```mermaid %%{init: {"flowchart": {"defaultRenderer": "elk"}}}%% flowchart TB subgraph C1["Classe 3e A"] direction TB A1["Groupe LV2 Espagnol"] A2["Groupe LV2 Allemand"] P["Groupe TP-A"] Q["Groupe TP-B"] P1["Sous-groupe TP-A1"] P2["Sous-groupe TP-A2"] P --> P1 P --> P2 end subgraph C2["Classe 3e B"] direction TB B1["Groupe LV2 Allemand"] B2["Groupe LV2 Italien"] B4["Groupe Techno 1 (20 élèves)"] B5["Groupe Techno 2 (10 élèves)"] B3["Groupe Latinistes"] end subgraph C3["Classe 3e C"] direction TB C4G["Groupe LV2 Espagnol"] C5G["Groupe LV2 Italien"] C2G["Groupe Techno 1 (20 élèves)"] C3G["Groupe Techno 2 (10 élèves)"] C1G["Groupe Latinistes"] end A1 -. "partition" .- A2 P -. "partition" .- Q B1 -. "partition" .- B2 B4 -. "partition" .- B5 C2G -. "partition" .- C3G C4G -. "partition" .- C5G A2 <== "alignement" ==> B1 B5 <== "alignement" ==> C3G B3 <== "alignement" ==> C1G linkStyle 0,1 stroke:#475569,stroke-width:1.5px linkStyle 2,3,4,5,6,7 stroke:#15803d,stroke-width:1.8px linkStyle 8,9,10 stroke:#1d4ed8,stroke-width:2.8px ``` À lire ainsi : - une **classe** contient des groupes ; - un **groupe** peut contenir des **sous-groupes** ; - une **partition** organise des groupes d'une même classe qui se répartissent les élèves ; - un **alignement** relie des groupes de classes différentes pour un cours commun ; - un **groupe de groupes** sert à construire un regroupement explicite et réutilisable, notamment quand le regroupement doit évoluer. Sur ce schéma, on voit plusieurs classes, avec plusieurs groupes, certains en partition, d'autres alignés, parfois les deux. La LV2 (Langue vivante 2) est une option exclusive : un élève assiste soit à un cours d'allemand, soit d'espagnol, soit d'italien. C'est pour cela que les différentes options de langue sont déclarées en partition : il est possible de les planifier simultanément (à condition que ce soit des professeurs différents qui enseignent chacune des langues). Il y a peu d'élèves en allemand en 3e A et 3e B : on les rassemble donc pour qu'ils suivent les mêmes cours, c'est le but de l'alignement ; les séances de cours sont créées en miroir dans chacune des classes, pour qu'elles soient planifiées simultanément. Il en est de même pour les latinistes de la 3e B et la 3e C. Ce schéma illustre aussi un cas classique du collège français, le **« 3 groupes sur 2 classes »** : les classes 3e B et 3e C sont chacune partitionnées en Techno 1 (20 élèves) et Techno 2 (10 élèves). En **alignant** les deux Techno 2, l'établissement réunit les deux petits groupes pour n'avoir que **trois cours de technologie** au lieu de quatre — tous à effectif équivalent (20 élèves), un professeur et une salle de moins à mobiliser. #### Classe : le niveau de base Une [classe](#page-glossary.class) est l'entité de référence par défaut. Selon les contextes, elle peut représenter : - une classe scolaire, - une promotion, - une cohorte, - une session, - un parcours. Quand un cours concerne **toute la classe**, on n'a pas besoin de groupe supplémentaire : le cours est simplement rattaché à la classe. #### Groupe : subdivision d'une classe Un [groupe](#page-glossary.group) est toujours une **subdivision d'une même classe**. Tous ses élèves restent des élèves de la classe parente. Exemples classiques : - `Groupe A` / `Groupe B` pour une répartition alphabétique ; - `TP-A` / `TP-B` pour des demi-groupes de travaux pratiques ; - `LV2 Espagnol` / `LV2 Allemand` / `LV2 Italien` pour des options exclusives ; - `Anglais forts` / `Anglais moyens` / `Anglais faibles` si l'établissement travaille avec des groupes de niveau ; - `Garçons` / `Filles` dans les contextes où ce découpage existe ; - `Elective Marketing`, `Elective Finance`, `Elective Data` dans un bouquet d'options du supérieur. **Recommandation forte** : créez un groupe par usage pédagogique clair, même si les élèves sont parfois les mêmes. Par exemple, mieux vaut `Latinistes` et `Hellénistes` que réutiliser un groupe générique `Options`. Sinon, la lecture des emplois du temps, les diagnostics et les regroupements inter-classes deviennent vite ambigus. > _Premium_ #### Sous-groupe : subdivision d'un groupe Un **sous-groupe** est un groupe enfant rattaché à un groupe parent. Exemple : - la classe est séparée en `TP-A` et `TP-B` ; - puis `TP-A` est lui-même découpé en `TP-A1` et `TP-A2` pour des rotations plus fines. ```mermaid flowchart TD C["Classe BTS 1"] A["TP-A"] B["TP-B"] A1["TP-A1"] A2["TP-A2"] B1["TP-B1"] B2["TP-B2"] B3["TP-B3"] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 B --> B3 ``` Conséquences importantes : - les sous-groupes restent dans le périmètre de la classe ; - ils héritent de la logique de leur parent ; - ils sont utiles quand vous avez plusieurs niveaux de subdivision ; - ils n'ont de sens que si la structure reste lisible. Les sous-groupes sont très pratiques lorsqu'ils sont aussi utilisés avec les partitions : - groupes A et B en partition ; - groupes A1 et A2 en partition ; - groupes B1, B2 et B3 en partition. Automatiquement, A1 et B3 sont en partition, tout comme A2 et B1, etc. Cette relation est déduite de la double logique entre partitions et parents-enfants. Les sous-groupes sont des groupes qu'on a glissé-déposé sur un groupe parent. La page [Hiérarchie de groupes](#page-core-concepts.group-hierarchy) va plus loin sur les usages avancés : partitions héritées, contraintes héritées et masques horaires. #### Partition : répartir une même classe en groupes exclusifs Une [partition](#page-glossary.class-division) s'utilise entre des groupes d'**une même classe** quand les élèves se répartissent entre plusieurs groupes exclusifs. Omniscol étant un logiciel de planification sous contraintes, les groupes sont par défaut réputés avoir potentiellement au moins un apprenant en commun : la déclaration d'une partition entre groupes lève la contrainte. Explicitement, les groupes d'une même partition ne sont pas en conflit. L'idée à retenir : - tout élève ne doit appartenir qu'à **un seul (ou aucun)** groupe de la partition ; - ces groupes peuvent alors porter des cours différents en parallèle ; - Omniscol sait qu'il ne s'agit pas d'un conflit élève. Exemples : - `TP-A` et `TP-B` font deux TP différents au même moment ; - `LV2 Espagnol`, `LV2 Allemand` et `LV2 Italien` partagent le même créneau d'options ; - `Groupe A` et `Groupe B` alternent des activités simultanées dans deux salles ; - `Anglais forts`, `Anglais moyens`, `Anglais faibles` suivent trois cours différents en parallèle. ```mermaid flowchart LR subgraph CL["Classe 4e B"] E["LV2 Espagnol"] A["LV2 Allemand"] I["LV2 Italien"] end E -. "partition" .- A A -. "partition" .- I E -. "partition" .- I ``` Pour une même classe, la partition est donc le bon outil quand vous voulez dire : « ces groupes se partagent les élèves, ils peuvent être placés en parallèle ». Note : il existe un fonctionnement d'Omniscol, sur option, où les élèves sont directement affectés dans les classes et groupes au niveau des emplois du temps. Dans ce cas, les partitions peuvent être automatiquement déduites (aucune intersection d'élèves entre groupes = partition). ##### Sous-groupes et partition Avec des sous-groupes, la logique de partition se propage le long de la hiérarchie. Si `TP-A` et `TP-B` sont en partition, les sous-groupes de `TP-A` et ceux de `TP-B` héritent de cette séparation entre branches. Exemple : - `TP-A` et `TP-B` sont en partition ; - `TP-A1` et `TP-A2` sont des sous-groupes de `TP-A`. Omniscol sait alors qu'un cours sur `TP-A1` n'entre pas en conflit avec un cours sur `TP-B`, sans que vous ayez à redéclarer chaque combinaison à la main. En revanche, si vous voulez subdiviser `TP-A` en plusieurs branches qui se répartissent elles aussi les élèves, il faut définir explicitement cette subdivision dans la hiérarchie et, si besoin, sa partition propre. #### Alignement : un cours commun entre plusieurs classes Un [alignement](#page-glossary.alignment) sert quand plusieurs groupes de **classes différentes** suivent en réalité **le même cours**, au **même créneau**, avec le **même professeur** et dans la **même salle**. Exemple classique : les `Latinistes` de `5e A`, `5e B` et `5e C` ont un seul cours de latin commun. ```mermaid flowchart LR subgraph A["Classe 5e A"] GA["Latinistes"] end subgraph B["Classe 5e B"] GB["Latinistes"] end subgraph C["Classe 5e C"] GC["Latinistes"] end COURSE["Un seul cours de latin"] GA --> COURSE GB --> COURSE GC --> COURSE ``` L'alignement est très utile pour les options ou électifs inter-classes, mais il est plus rigide qu'un simple groupe : tout ce qui est aligné vit ensemble. Condition importante : il faut qu'il s'agisse de la **même matière** entre les classes concernées. Autrement dit, si vous voulez un cours commun entre plusieurs classes, il faut que ces classes partagent réellement la matière utilisée par cette séance. Exemple : - `Marketing` commun à plusieurs classes : oui ; - `Marketing B3` dans une classe et `Marketing M1 option` dans une autre : non, pas si ce sont deux matières distinctes dans la structure de l'EDT. Dans le supérieur, cela conduit souvent à éviter des matières trop spécifiques à un seul cursus quand on sait qu'on aura des cours mutualisés. Il vaut mieux prévoir une matière commune aux classes qui doivent partager des séances. Les alignements sont plus adaptés aux écoles du secondaire : il s'agit de créer des séances en miroir, et d'indiquer la logique de regroupement dynamique. L'inconvénient est de devoir respecter ce miroir : il faut créer autant de séances que de groupes dans l'alignement, avec les bons groupes affectés dans chaque classe et tout doit être symétrique : professeur(s), salle, ressources, etc. Si une séance ayant un groupe dans un alignement est positionnée, on doit trouver une séance en miroir dans chaque classe, avec son groupe aligné correspondant. L'avantage est la possibilité de créer des cours complexes avec les alignements. On peut avoir un cours de latin commun en semaine A, et un cours non regroupé différent dans chaque classe. Si ces contraintes ne sont pas compensées par les avantages, mieux vaut considérer les groupes de groupes. #### Groupe de groupes : regroupement explicite et modifiable Le [groupe de groupes](#page-glossary.groups-of-groups) sert à rassembler plusieurs groupes dans un regroupement nommé, modifiable et réutilisable. Le groupe de groupes s'utilise alors comme n'importe quel groupe. Il est particulièrement utile : - dans le supérieur et la formation continue ; - quand la composition d'un regroupement peut évoluer ; - quand vous voulez garder une structure lisible et traçable. Exemple : un séminaire commun réunit des apprenants de `M1 Marketing`, `M1 Finance` et `Elective Data`. Les séances sont planifiées, avec le groupe de groupes, puis, plus tard, un quatrième groupe rejoint le dispositif : il suffit de l'ajouter au groupe de groupes pour que toutes les séances lui soient rattachées. Comme pour les alignements, il faut que les séances communes reposent sur une **matière commune** entre les classes concernées. Le groupe de groupes permet de regrouper les publics ; il ne remplace pas la cohérence de la matière utilisée pour le cours. Si vous devez regrouper des **classes entières**, créez d'abord dans chaque classe un groupe qui représente cette classe entière, puis utilisez ces groupes dans l'alignement ou le groupe de groupes. On n'aligne pas directement des classes sans passer par des groupes. #### Affecter plusieurs groupes directement à une séance Il est possible d'affecter **plusieurs groupes directement à une séance**, sans créer au préalable un groupe de groupes nommé. C'est utile : - pour un besoin ponctuel ; - pour tester rapidement un regroupement ; - pour une séance exceptionnelle qui ne justifie pas une structure dédiée. Mais ce n'est pas le meilleur choix comme modélisation de fond : - c'est moins lisible dans la durée ; - c'est moins traçable qu'un regroupement nommé ; - il devient plus difficile de comprendre l'intention pédagogique si ce schéma se répète souvent. En pratique : - pour un usage durable, préférez un **groupe de groupes** explicite ; - pour un besoin ponctuel, l'affectation directe de plusieurs groupes est très pratique. ```mermaid flowchart LR subgraph X["Groupes existants"] G1["M1 Marketing - Elective Data"] G2["M1 Finance - Elective Data"] G3["M2 Contrôle de gestion - Elective Data"] end S["Séance ponctuelle Data"] G1 --> S G2 --> S G3 --> S ``` Évitez en revanche de mélanger, sur une même séance, un **groupe parent** et l'un de ses **sous-groupes** : ce n'est généralement pas une modélisation propre du public concerné. #### Tableau récapitulatif | Concept | Périmètre | À quoi ça sert | Exemple | | --- | --- | --- | --- | | [**Classe**](#page-glossary.class) | Ensemble de référence | Porter les cours suivis par tout le monde | `6e A`, `BTS 1`, `M1 Marketing` | | [**Groupe**](#page-glossary.group) | Subdivision d'une classe | Isoler un sous-ensemble d'élèves | `TP-A`, `Latinistes`, `LV2 Espagnol` | | [**Sous-groupe**](#page-core-concepts.group-hierarchy) | Subdivision d'un groupe | Raffiner une organisation déjà découpée | `TP-A1`, `TP-A2` | | [**Partition**](#page-glossary.class-division) | Groupes d'une même classe | Répartir des élèves exclusifs sur des cours en parallèle | `TP-A` / `TP-B`, `Allemand` / `Espagnol` | | [**Alignement**](#page-glossary.alignment) | Groupes de classes différentes | Faire suivre un seul cours commun | `Latinistes` de plusieurs classes | | [**Groupe de groupes**](#page-glossary.groups-of-groups) | Plusieurs groupes, même ou différentes classes | Construire un regroupement explicite et modifiable | Séminaire commun multi-parcours | | **Multi-groupes** | Plusieurs groupes, même ou différentes classes | Affectation dynamique de plusieurs groupes, à la volée | Séance ponctuelle intéressant des populations variées | | [**Groupe libre**](#page-glossary.free-group) | Composition ouverte | Gérer des inscriptions non figées | Atelier, club, activité ouverte | #### Voir aussi - [Partitions de classe](#page-core-concepts.class-divisions) - [Alignements de groupes](#page-core-concepts.alignments) - [Groupes de groupes](#page-core-concepts.groups-of-groups) - [Hiérarchie de groupes](#page-core-concepts.group-hierarchy) - [Groupes libres](#page-core-concepts.free-groups) - [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) ### 2.3 Partitions de classe *Source: `help/fr/core-concepts/class-divisions.md` · id: core-concepts.class-divisions · Updated: 2026-05-20* Une **partition** déclare au solveur que plusieurs [groupes](#page-glossary.group) d'une même [classe](#page-glossary.class) peuvent être au **même créneau horaire** sans entrer en conflit — parce qu'aucun élève ne fait partie de plus d'un de ces groupes. #### Pourquoi c'est nécessaire — la philosophie « tout est conflit par défaut » Omniscol est un logiciel de planification **sous contraintes**. Conséquence directe : **tout ce qui peut être source de conflit l'est considéré ainsi par défaut**, sauf si l'utilisateur précise explicitement autrement. - Entre **deux classes distinctes** : aucun élève en commun par hypothèse, donc pas de conflit à signaler. (Les cours transverses / mutualisés se modélisent à part via les [alignements](#page-core-concepts.alignments) ou les [groupes de groupes](#page-core-concepts.groups-of-groups).) - Au sein d'**une même classe**, le solveur n'a **aucun moyen logique** de deviner quels groupes peuvent cohabiter au même créneau sans se chevaucher. Il considère donc deux groupes d'une même classe comme **susceptibles d'avoir des élèves en commun**. Sans déclaration de partition, planifier deux cours au même créneau pour deux groupes de la même classe lève un conflit. C'est à l'auteur de l'EDT de **dire au solveur** : « ces groupes sont mutuellement exclusifs, vous pouvez les planifier simultanément ». La partition est cette déclaration. Le solveur essaiera le plus possible de positionner simultanément les séances avec des groupes en partition, mais il peut ne pas y arriver à cause d'autres contraintes (manque de salle, contraintes horaires incompatibles entre professeurs ou matières, entité commune comme la salle spécialisée ou le professeur en commun entre les séances). Dans ce cas, le solveur détectera qu'une partie de la classe n'a pas cours et appliquera une pénalité proportionnelle (option par défaut : réduire les trous pour les élèves), le poussant à planifier ces séances en tout début ou toute fin de journée, ou encore durant la pause méridienne si possible. #### Cas d'usage typiques - **Demi-classes alphabétiques** : groupes A et B (selon ordre alphabétique ou tirage au sort) — un élève est dans l'un OU l'autre, jamais les deux. - **Demi-classes par niveau** : groupes Anglais Renforcé vs Anglais Standard ; un élève est dans l'un OU l'autre. - **Demi-classes par sexe** (cas particulier de certains établissements pour l'EPS, par exemple). - **Options exclusives** : LV2 Allemand / LV2 Espagnol / LV2 Italien — un élève choisit **une seule** des trois langues. (Adapter l'exemple selon votre contexte ; en anglo-saxon, on parle de *electives*.) - **Bouquets d'options simultanées** : un panel d'électifs où l'établissement décide de planifier toutes les options sur le même créneau bloqué (`Vendredi 14h-16h = créneau électifs`), et les élèves choisissent leur option dans le bouquet — toutes exclusives au sens « un élève suit une seule option ». - **TP / laboratoires en demi-groupes** : TP-A et TP-B au même créneau dans deux salles différentes avec deux professeurs. #### Création Étapes : 1. Allez sur la page des groupes d'une classe (onglet Groupes). 2. Sélectionnez les groupes concernés. 3. Cliquez sur Ajouter une partition. 4. Validez. Plusieurs partitions peuvent coexister dans une même classe : une pour les TP de sciences (TP-A, TP-B), une pour les langues (LV2 Allemand, LV2 Espagnol), une pour les options philo (Philo spécialité, HG spécialité, Maths spécialité). Chaque partition est indépendante des autres. Lorsqu'un groupe est en partition, il apparaît dans tous les écrans concernés avec une icône [link-slash]. #### Sécurité par défaut : un groupe dans une seule partition Par défaut, l'interface applique une sécurité simple : un groupe n'appartient qu'à une seule partition. C'est le cas le plus fréquent, et cela évite beaucoup d'erreurs. Ce filtrage peut toutefois être levé lorsque la réalité des publics le justifie. Exemple : - seuls les élèves de `LV2 Allemand` font aussi `Latin` ; - les élèves de `LV2 Espagnol` ne font pas `Latin`. Vous pouvez alors créer : - une partition `LV2 Allemand` / `LV2 Espagnol` ; - une partition `Latin` / `LV2 Espagnol`. L'intérêt est de donner plus de liberté au moteur pour placer certaines séances face à face et réduire les trous pour une partie de la classe. À utiliser avec rigueur : il faut que la répartition réelle des élèves soit parfaitement maîtrisée. #### Critère de validité **Aucun élève ne doit appartenir à deux groupes de la même partition.** C'est la définition mathématique d'une partition — les ensembles sont disjoints. Si un élève figure dans deux groupes d'une même partition, Omniscol émet une alerte de cohérence (le solveur ne peut pas l'envoyer à deux endroits en même temps). #### Conséquence sur l'algorithme Avec une partition déclarée, le solveur : - **autorise** la planification simultanée des groupes de la partition (alors que ce serait un conflit autrement), - **vérifie quand même les autres ressources** : il faut autant de salles différentes que de groupes simultanés, autant de professeurs différents. La partition lève uniquement le conflit élève — pas les conflits salle / professeur, qui restent stricts. #### Erreur fréquente — trois cours au même créneau dans une classe Si vous voulez **trois cours différents simultanés** dans une classe (Philo, Hist-géo, Maths spé) parce que vos élèves ont des options exclusives, créez **trois groupes** (Philo, HG, Maths-spé) et mettez-les en partition. Pas trois cours sans groupe — sinon le solveur n'aura aucune information sur les contraintes de simultanéité, et chacun sera placé séparément, sur des horaires différents. #### Différence avec une autre construction | Vous voulez… | Utilisez | | --- | --- | | Plusieurs groupes d'**une même classe** au même créneau (cours différents, élèves disjoints) | **Partition** (cette page) | | Plusieurs groupes de **classes différentes** au même créneau (même cours, même professeur, même salle) via une logique reliant des groupes simples | [Alignement](#page-core-concepts.alignments) | | Idem alignement, mais facilement modifiable a posteriori, en créant une entité autonome de regroupement | [Groupe de groupes](#page-core-concepts.groups-of-groups) | | Un groupe à composition non figée (atelier, inscription libre) | [Groupe libre](#page-core-concepts.free-groups) | #### Voir aussi - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Alignements](#page-core-concepts.alignments) - [Groupes de groupes](#page-core-concepts.groups-of-groups) - [Groupes libres](#page-core-concepts.free-groups) - [Partition de classe](#page-glossary.class-division) ### 2.4 Alignements de groupes *Source: `help/fr/core-concepts/alignments.md` · id: core-concepts.alignments · Updated: 2026-05-20* Un **alignement** lie plusieurs [groupes](#page-glossary.group) appartenant à des **classes différentes** : ils doivent suivre **le même cours**, au **même créneau**, dans la **même salle**, avec le **même professeur**. Condition importante : cet alignement doit reposer sur la **même matière** dans les différentes classes. Si deux classes portent des matières distinctes, même très proches pédagogiquement, l'alignement ne constitue pas une bonne modélisation. Concrètement, là où une [partition](#page-glossary.class-division) reste à l'intérieur d'une classe, l'alignement traverse plusieurs classes. #### Cas d'usage Les alignements servent à créer des cours transverses où plusieurs classes ont un nombre réduit d'apprenants à regrouper (aligner) pour un cours commun précis, qu'ils suivront ensemble. C'est par exemple le cas pour : - **Latinistes** de 5A, 5B et 5C qui suivent le cours de latin en commun. - **Options inter-classes** au lycée : Sciences PO, Histoire des arts, LV3, etc. - **Enseignements de spécialité**. - **Tronc commun multi-parcours** dans le supérieur : un cours d'introduction commun à plusieurs masters. Si vous devez aligner des **classes entières**, créez d'abord dans chaque classe un groupe qui représente cette classe entière, puis alignez ces groupes. #### Création 1. Créez d'abord, dans chaque classe concernée, **un groupe**, de préférence au nom identique (exemple : « Latinistes » dans 5A, dans 5B, et dans 5C). 2. Allez sur l'onglet Alignement de groupes. 3. Cliquez sur Ajouter un alignement et sélectionnez les groupes des différentes classes. Lorsqu'un groupe est concerné par un alignement, il apparaît alors dans tous les écrans concernés, avec une icône de liaison [link]. #### Conséquences Une fois aligné, le groupe de chaque classe est **lié** au cours commun. Concrètement : - Les séances de cours doivent être créées dans les classes en miroir, avec notamment la **même durée**, le **même professeur** et éventuellement la **même salle**. - Si une séance d'une classe avec groupe aligné est positionnée sur une journée et une heure, alors toutes les autres classes de l'alignement doivent avoir la même séance en miroir, avec chacune le groupe aligné correspondant, sur la même position. - Les volumes horaires et le découpage en séances avec les différents groupes alignés doivent être **strictement identiques** sur la matière concernée — sinon Omniscol émet un diagnostic d'incohérence. - Une modification (déplacement, changement de salle, changement de professeur, ajout d'un mémo) faite sur une séance **doit être propagée** à toutes les classes alignées (le système essaie de deviner quelles séances sont en miroir pour rendre cela le plus automatique possible). #### Diagnostic — incohérences fréquentes L'alignement est sensible aux écarts. Diagnostics typiques : - **Volume horaire divergent** : le groupe « Latinistes » de 8A a 3 séances d'une heure de latin, celui de 8B en a 2. Soit on harmonise (3 partout), soit on désaligne (2 heures alignées, une heure sur un autre groupe de latinistes non aligné). - **Salle différente sur une séance alignée** : un alignement implique une unique salle. Si vous forcez manuellement une salle différente sur une classe pour sa séance, le diagnostic remonte. - **Professeur différent** : idem. #### Astuce — un groupe par cours/matière Les alignements étant très sensibles à l'obligation de création en parfait miroir, il est extrêmement recommandé de créer un groupe par matière ou cours concerné de chaque classe à aligner. Autrement dit : ne réutilisez pas un groupe générique (typiquement : groupes A/B) pour des matières différentes, avec une logique forte d'alignement. Sinon vous obtenez des alignements ambigus que le solveur ne peut pas désambiguïser. Créez plutôt des groupes spécialisés, que vous pourrez relier entre eux sans craindre d'effets de bord indésirables. #### Voir aussi - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Partitions](#page-core-concepts.class-divisions) - [Groupes de groupes](#page-core-concepts.groups-of-groups) - [Cours transverse](#page-glossary.transverse-course) - [Alignement de groupes](#page-glossary.alignment) ### 2.5 Groupes de groupes *Source: `help/fr/core-concepts/groups-of-groups.md` · id: core-concepts.groups-of-groups · Updated: 2026-05-20* Un **groupe de groupes** est un super-groupe qui rassemble plusieurs [groupes](#page-glossary.group) — pouvant venir de la **même classe** ou de **classes différentes**. D'autres logiciels de planification emploient le terme « regroupement » pour le même concept. Comme pour un alignement, les séances communes doivent reposer sur une **matière commune** entre les classes concernées. Contrairement aux alignements qui indiquent une logique entre groupes, le groupe de groupes est une entité autonome qui peut s'utiliser comme un groupe. On peut le voir comme un conteneur nommé dynamique de groupes. #### En quoi c'est plus souple qu'un alignement | Aspect | [Alignement](#page-core-concepts.alignments) | **Groupe de groupes** | | --- | --- | --- | | Composition | Modifiable a posteriori mais implique de créer les séances en miroir | Modifiable a posteriori très facilement | | Mode d'EDT | Très adapté à l'hebdomadaire et cyclique du secondaire | Utilisable dans tous les types d'EDT ; particulièrement pratique quand les regroupements évoluent | | Sortie de la séance | Nécessite un clone non aligné du groupe | Modification directe de la séance dont l'appartenance sera fixée à une classe, nécessité de recréer les séances des autres classes impliquées | | Cas d'usage | Cours commun récurrent, pour curriculum de classes parallèles | Cours transverses, regroupements ponctuels | Le groupe de groupes est conçu pour le supérieur et la formation continue, où : - la composition des regroupements évolue souvent (un parcours qui rejoint un autre, un sous-groupe qui se détache pour un projet), - les cours communs sont datés individuellement plutôt que récurrents, - les conférenciers ou les visiting professors interviennent sur un public composite à dates précises. Un groupe de groupes est plus flexible et facile à suivre qu'un alignement. Sa limitation se situe dans les cours complexes, avec des alternances asymétriques de semaines. Il nécessite seulement de bien structurer les nommages (par exemple : "Marketing transverse Master"). #### Création et utilisation Création depuis l'onglet Groupe de groupes de l'EDT. Le groupe de groupes peut être assigné à un cours **comme s'il s'agissait d'un groupe ordinaire** — la différence est qu'il agrège plusieurs groupes membres. Si vous voulez regrouper des **classes entières**, créez d'abord dans chaque classe un groupe qui représente la classe entière, puis utilisez ces groupes dans votre groupe de groupes. Un cours assigné à un groupe de groupes apparaît dans **toutes** les classes parentes des groupes membres. Et vous pouvez l'éditer depuis n'importe laquelle d'entre elles. Les groupes de groupes apparaissent dans tous les écrans concernés avec une icône spécifique [sitemap]. #### Modifier la composition après coup Les groupes membres peuvent être ajoutés ou retirés à tout moment. Les cours déjà assignés s'adaptent automatiquement (la portée s'élargit ou se réduit selon les groupes ajoutés / retirés). C'est ce qui fait la valeur du concept : on peut commencer un semestre avec une composition, l'ajuster en cours de route, sans casser la structure. #### Considérations techniques Techniquement, une séance de cours avec un groupe de groupes est stockée une seule fois, de manière transverse aux classes, donc non assignée à une classe précise. Tandis qu'une séance sans groupe de groupes (y compris avec des groupes alignés) est stockée dans sa classe. Avec un alignement sur 3 groupes, il y a 3 séances stockées, une dans chaque classe ; avec un groupe de groupes, une seule séance est stockée à part des classes, mais affichée dans chaque classe. Lorsqu'un groupe de groupes est retiré d'une séance de cours, le système devine ou demande quelle est la classe de rattachement de la séance. Il est plus facile de modifier les autres champs d'une séance avec un groupe de groupes qu'avec un alignement : le stockage unique permet de changer la salle ou le professeur de manière immédiate, sans répercussion "en miroir". #### Consolidation des indisponibilités Un groupe de groupes **consolide les indisponibilités** de tous ses groupes membres. Une indisponibilité posée sur **n'importe quel** groupe membre — ou sur la classe de ce groupe — s'applique à la séance commune. La règle vaut autant à la génération automatique qu'à l'écran pendant l'édition. Les niveaux souples (Non souhaité, rouge) se consolident de la même façon ; et quand plusieurs niveaux se rencontrent sur un même créneau, **le plus fort l'emporte** — une Indisponible (noir) prime sur une Non souhaité (rouge). Voir [Contraintes horaires (système général)](#page-core-concepts.time-constraints) pour l'éditeur et les niveaux. Comme un groupe de groupes traverse souvent plusieurs classes, cette consolidation réunit les indisponibilités de **chaque classe couverte** : une classe fermée le vendredi après-midi ferme ce créneau pour toute séance du groupe de groupes qui l'inclut, même quand les autres classes restent libres. ```mermaid flowchart TD CX["Classe X — indisponible lundi après-midi"] --> GA["Groupe A (classe X)"] CY["Classe Y — indisponible vendredi matin"] --> GB["Groupe B (classe Y)"] GA --> GG["Groupe de groupes"] GB --> GG GG --> SE["Séance : indisponible lundi après-midi ET vendredi matin"] ``` Sur le groupe de groupes, l'application affiche un **aperçu consolidé, non modifiable**, de ces indisponibilités : on visualise d'un coup les contraintes de tous les membres. On les **modifie sur les groupes membres** (ou sur leurs classes), là où elles portent un sens propre — le groupe de groupes n'a pas d'éditeur de contraintes distinct. > _Premium_ Chaque groupe membre apporte ses **propres** contraintes de groupe, ainsi que celles qu'il **hérite** de sa classe et de ses groupes parents (voir [Hiérarchie de groupes](#page-core-concepts.group-hierarchy)). La consolidation les reprend toutes : plus le groupe de groupes agrège de membres, plus la fenêtre de placement se resserre. Pour rouvrir un créneau malgré une contrainte héritée, le niveau **Cours autorisés** le réautorise localement, sans modifier la source. À l'écran, ces contraintes consolidées se voient **au placement** : les créneaux candidats et le panneau de diagnostic signalent le conflit et nomment le **groupe membre** et la **classe** en cause, pour remonter directement à la source (voir [Conflits et diagnostic](#page-timetables.conflicts)). #### Procédure — Créer un groupe transverse pour conférence invitée 1. **Une conférence invitée pour un public composite** (étudiants de trois promotions, deux options) : le concept Omniscol qui correspond, c'est le **groupe de groupes**. 2. **Préalable** : Les groupes membres existent déjà au sein de leurs classes respectives. Identifiez les groupes à agréger (`M1 marketing`, `M1 finance`, `Option entrepreneuriat`). 3. **Ouvrez l'onglet** Groupe de groupes de l'EDT. Bouton Ajouter un groupe de groupes. Donnez-lui un nom parlant : `Conférence invitée Mme Lambert — public M1 + options`. 4. **Ajoutez les groupes membres** : sélectionnez les groupes des trois classes / options dans la liste. Pas de limite de composition. Pas de contrainte d'exclusivité des groupes membres entre eux (au pire l'étudiant qui appartient à deux groupes verra le cours une seule fois). 5. **Créez le cours** (la conférence) depuis l'une des classes concernées, et **assignez-lui le groupe de groupes** comme s'il s'agissait d'un groupe ordinaire. Une seule saisie, le cours apparaît dans **toutes les classes parentes** des groupes membres. 6. **Modifications a posteriori** : si la composition évolue (un groupe se retire, un autre rejoint), modifiez la composition du groupe de groupes — les cours assignés s'adaptent automatiquement (la portée s'élargit ou se réduit). C'est ce qui distingue ce concept d'un alignement classique (composition figée). Voir aussi [Alignements](#page-core-concepts.alignments) pour le cas hebdomadaire. #### Alternative plus flexible : assignation multiple directe de groupes Parfois, pour des séances ponctuelles, créer un groupe de groupes dédié se révèle être une opération pénible. Dans ce cas, si le manque de structuration des données n'est pas un obstacle, vous pouvez directement associer plusieurs groupes d'une ou plusieurs classes à une séance. En interne, le traitement est similaire à un groupe de groupes anonyme, avec un stockage unique transverse aux classes, mais vous n'avez pas à vous en soucier. #### Voir aussi - [Alignements](#page-core-concepts.alignments) - [Contraintes horaires (système général)](#page-core-concepts.time-constraints) - [Cours transverse](#page-glossary.transverse-course) - [Mode calendrier](#page-glossary.calendar-mode) - [Groupe de groupes](#page-glossary.groups-of-groups) ### 2.6 Hiérarchie de groupes : parents, enfants, contraintes héritées *Source: `help/fr/core-concepts/group-hierarchy.md` · id: core-concepts.group-hierarchy · Audience: admin · Plan: premium · Updated: 2026-05-20* > **Premium** > **Fonction Premium.** La hiérarchie de groupes et les contraintes > horaires de groupes sont incluses dans les fonctions Premium. > _Premium_ Au-delà du modèle plat « classe → groupes », Omniscol permet d'organiser les groupes d'une classe en une **hiérarchie parent / enfant** et d'attacher des **contraintes horaires** qui se propagent par héritage. C'est utile quand la classe se structure en plusieurs niveaux successifs de subdivisions. #### Créer une hiérarchie par glisser-déposer Sur la page des groupes d'une classe, le glisser-déposer définit la hiérarchie : - **Glisser un groupe sur un autre** → l'enfant est rattaché au parent. - **Glisser un enfant sur la tête de liste des groupes** → l'enfant est ressorti de sa hiérarchie et redevient un groupe direct de la classe. Pas de limite de profondeur. Vous pouvez avoir des chaînes parent → enfant → petit-enfant si votre découpage le justifie. #### Exemple canonique Hiérarchie type : ```mermaid flowchart TD C[Classe 8A] A[A — parent] A1[A1 — enfant de A] A2[A2 — enfant de A] B[B — parent] B1[B1 — enfant de B] B2[B2 — enfant de B] C --> A C --> B A --> A1 A --> A2 B --> B1 B --> B2 ``` Partitions déclarées : - `(A, B)` — A et B sont exclusifs au niveau parent. - `(A1, A2)` — sous A, A1 et A2 sont exclusifs. - `(B1, B2)` — sous B, B1 et B2 sont exclusifs. **Conséquence automatique** : Omniscol autorise la planification simultanée de groupes appartenant à des branches différentes — par exemple `A1` et `B2` peuvent être au même créneau, parce qu'aucun étudiant n'est dans les deux (A1 ⊂ A, B2 ⊂ B, et A ∩ B = ∅). Pas besoin de redéclarer la partition `(A1, B2)` : l'héritage la calcule. #### Héritage des contraintes horaires Au-delà des partitions, vous pouvez attacher des **contraintes horaires** (disponibilités, incompatibilités) à un groupe. Avec la hiérarchie, ces contraintes **s'héritent** des parents vers les enfants — par un système de **masque** que les enfants peuvent surcharger. ##### Exemple : créneau réservé EPS Cas typique : - La classe `8A` est **indisponible le lundi après-midi** (créneau global bloqué pour activités collectives). - Par héritage, **tous les groupes** de la classe sont indisponibles le lundi après-midi. - **Sauf** le groupe `Sport` : on **inverse** son masque pour autoriser le lundi après-midi et interdire tout le reste. Toutes les activités sportives de ce groupe tomberont alors automatiquement sur ce créneau protégé. Le mécanisme est puissant : **un masque parent + une exception enfant** suffit à modéliser proprement des créneaux dédiés sans avoir à dupliquer la contrainte sur chaque cours. ##### Autre exemple : un parent `Electifs` qui porte les créneaux autorisés Autre cas très utile : l'établissement veut que tous les électifs tombent uniquement sur quelques créneaux réservés, par exemple : - lundi matin, - mercredi avant 10h, - vendredi matin. On peut alors : - créer un groupe parent `Electifs` qui ne sera pas lui-même affecté à des cours ; - exprimer sur ce parent les créneaux autorisés en peignant les contraintes horaires ; - créer en dessous autant de sous-groupes que nécessaire : `Elective Marketing`, `Elective Finance`, `Elective Data`, etc. Tous ces sous-groupes héritent alors des mêmes créneaux autorisés. Si la règle change, on modifie un seul point : le parent `Electifs`. ```mermaid flowchart TD E["Electifs — groupe parent"] E1["Elective Marketing"] E2["Elective Finance"] E3["Elective Data"] S["Créneaux autorisés : lundi matin, mercredi avant 10h, vendredi matin"] S --> E E --> E1 E --> E2 E --> E3 ``` ##### Règles d'héritage - Un groupe enfant **hérite par défaut** des contraintes horaires de son parent. - L'enfant peut **surcharger** ces contraintes : ajouter des contraintes propres ou inverser le masque. - Les **partitions du parent** s'appliquent automatiquement aux enfants : si A et B sont en partition, les enfants de A sont exclusifs des enfants de B sans déclaration explicite. ##### Contraintes héritées et groupes de groupes Un groupe peut aussi être membre d'un **groupe de groupes**. Ses contraintes — les siennes comme celles héritées de sa classe et de ses groupes parents — sont alors **consolidées** avec celles des autres groupes membres : la séance du groupe de groupes respecte toutes ces indisponibilités réunies. L'héritage descend donc la hiérarchie, puis la consolidation réunit les membres du groupe de groupes. ```mermaid flowchart TD C["Classe — indisponible lundi après-midi"] --> P["Groupe parent"] P --> E["Groupe enfant — hérite du parent"] E --> GG["Groupe de groupes"] M["Autre groupe membre (autre classe)"] --> GG GG --> SE["Séance : indisponibilités consolidées"] ``` Voir [Groupes de groupes](#page-core-concepts.groups-of-groups) pour le détail de la consolidation. #### Quand utiliser une hiérarchie - **Bouquets d'options** : une classe avec des langues structurées en niveaux (Anglais Renforcé > A1-Conversation, A1-Civilisation, A2-…). - **TP avec sous-rotations** : deux demi-classes pour le TP, chacune subdivisée en sous-groupes pour les manips. - **Parcours différenciés** : un parcours principal avec des modules optionnels distincts qui se planifient au sein du parcours. - **Sport** : un groupe global qui regroupe tous les étudiants, avec un masque dédié pour les créneaux sport. - **Electifs sur créneaux réservés** : un groupe parent `Electifs` porte les créneaux autorisés, et ses sous-groupes correspondent aux électifs réels. #### Quand ne pas utiliser - Pour des classes simples sans subdivision hiérarchique — la hiérarchie ajoute de la complexité. - Pour mélanger des étudiants de classes différentes — c'est le rôle des [alignements](#page-core-concepts.alignments) ou [groupes de groupes](#page-core-concepts.groups-of-groups), pas de la hiérarchie intra-classe. - Pour des inscriptions ouvertes — utilisez les [groupes libres](#page-core-concepts.free-groups). #### Procédure — Construire une hiérarchie parent/enfant 1. **La hiérarchie de groupes** organise les groupes d'une classe en parents et enfants, avec **héritage** des contraintes horaires. 2. **Créez d'abord les groupes à plat** sur la page des groupes de la classe : `A`, `A1`, `A2`, `B`, `B1`, `B2`, plus un groupe transverse `Sport`. À ce stade, tous sont au même niveau, directement rattachés à la classe. 3. **Glisser-déposer pour hiérarchiser** : faites glisser `A1` sur `A` → `A1` devient enfant de `A`. Idem pour `A2`, `B1`, `B2`. Vous obtenez deux branches `A → A1, A2` et `B → B1, B2`. Pas de limite de profondeur. Pour ressortir un enfant : glissez-le sur la **tête de liste** des groupes de la classe. 4. **Déclarez les partitions** : `(A, B)` au niveau parent (exclusifs), `(A1, A2)` sous A, `(B1, B2)` sous B. Inutile de redéclarer `(A1, B2)` : Omniscol calcule par héritage qu'`A1 ⊂ A` et `B2 ⊂ B` sont compatibles (planifiables au même créneau). 5. **Posez le masque parent** : sur la classe, marquez **lundi après-midi indisponible**. Tous les groupes en héritent automatiquement. Vérifiez en consultant la grille de chaque groupe : le créneau est bloqué partout. 6. **Inversez le masque sur `Sport`** : sur la fiche du groupe Sport, inversez la contrainte horaire — autorisez le lundi après-midi, interdisez tout le reste. Toutes les activités sportives tombent automatiquement sur ce créneau dédié, sans avoir à le redéclarer sur chaque cours. 7. **Vous avez maintenant une hiérarchie active** avec héritage des partitions et masque horaire dédié. Le solveur s'en sert lors de la génération automatique et les conflits hérités sont signalés en temps réel. #### Voir aussi - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Partitions de classe](#page-core-concepts.class-divisions) - [Groupes libres](#page-core-concepts.free-groups) - [Disponibilités, contraintes horaires et incompatibilités](#page-core-concepts.wishes-and-availability) ### 2.7 Groupes libres *Source: `help/fr/core-concepts/free-groups.md` · id: core-concepts.free-groups · Plan: premium · Updated: 2026-05-12* > **Premium** > _Premium_ Un **groupe libre** est un **groupe de travail semi-autonome** : une partie de la classe avance sur son travail en parallèle du cours principal, souvent dans la même salle et avec le même professeur — un **groupe satellite** du cours. Il se place sur la grille sans générer de conflit, et sa composition n'a pas à être figée à l'avance. C'est la **carte joker** d'Omniscol : à utiliser quand le modèle strict classe + sous-groupes en partition ne colle pas. Très fréquent dans : - les **écoles d'art** (ateliers à inscription libre, projets transversaux), - les **projets en semi-autonomie** — petit groupe d'élèves qui travaille ensemble sous la supervision **légère** d'un professeur qui s'occupe principalement de sa classe à côté et qui passe régulièrement voir où ils en sont, - les **conférences inter-classes**, masterclasses, séminaires invités, - les **cours de soutien** et **clubs** volontaires, - les **TER et stages courts** à inscriptions libres. #### Comportement Un groupe libre est **rattaché à une classe** comme tout groupe, avec un effectif et, selon la configuration du compte, une liste d'élèves ou d'étudiants. Ce qui change, c'est la manière dont Omniscol vérifie les conflits. Sur une séance d'un groupe libre, Omniscol **désactive trois types de vérifications** : - conflit avec le reste de la classe sur le même créneau, - conflit avec une autre séance du même professeur, - conflit avec une salle déjà occupée. C'est ce qui permet au groupe libre de fonctionner comme un **groupe satellite** sur la grille de la classe principale : la séance principale a lieu, et la séance du groupe libre se place en parallèle sans déclencher d'alerte. Les séances d'un groupe libre **apparaissent explicitement** dans l'EDT des étudiants concernés, comme toutes les autres séances. #### Quand utiliser un groupe libre vs un groupe classique | Situation | Groupe classique | Groupe libre | | --- | --- | --- | | Composition fixée à l'avance | ✓ | ✓ (comme un groupe ordinaire : effectif, liste d'élèves facultative) | | Détection des conflits classe / professeur / salle | ✓ stricte | — désactivée | | Modélisation d'options en partition de classe | ✓ | — non | | Séance satellite, en parallèle du cours principal | — | ✓ | #### Précaution d'usage — limite réelle > **Avant tout : préférez les vrais sous-groupes en > [partition](#page-core-concepts.class-divisions)** quand vous le pouvez. > Le groupe libre est une **carte joker à usage parcimonieux**, > réservée aux cas où aucune autre solution propre ne marche. La raison : la mise en parallèle doit en pratique être **gérée par le planificateur humain**. L'algorithme de génération automatique n'a aucun moyen de savoir que tel groupe en semi-autonomie doit être planifié **en parallèle de telle séance précise du cours principal de la classe**. Si vous le laissez tourner, les séances du groupe libre peuvent tomber n'importe quand — sans cohérence avec ce que fait le reste de la classe. **Bonne pratique** : positionner manuellement la séance du groupe libre **en face** de la séance principale visée, puis **verrouiller sa position** pour que la génération automatique n'y touche plus. Voir [Verrouiller une séance](#page-timetables.lesson-lock). #### Création Au moment de créer le groupe (sur Ajouter un groupe), cochez l'option Groupe libre. Une icône [right-left] marque ensuite ces groupes dans les listes pour ne pas les confondre avec les groupes ordinaires. #### Effets de la désactivation des conflits Concrètement, sur une séance d'un groupe libre : - si Alice (étudiante de la classe) suit cette séance pendant qu'une autre séance principale a lieu pour le reste de la classe au même créneau, Omniscol n'émet **pas d'alerte** (alors qu'elle est en théorie attendue à deux endroits en même temps) ; - le professeur peut être affecté à une autre séance sur le même créneau sans alerte non plus ; - la salle peut être déjà occupée par la séance principale sans alerte. Cette tolérance est **assumée**. Charge à vous (planificateur) de garantir que la cohabitation a un sens pédagogique (typiquement : le professeur passe juste de temps en temps voir où en est le groupe en semi-autonomie ; les étudiants du groupe sortent de la séance principale sans poser problème ; la salle accueille les deux activités). #### Voir aussi - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Partitions de classe](#page-core-concepts.class-divisions) - [Verrouiller une séance](#page-timetables.lesson-lock) - [Groupe libre](#page-glossary.free-group) ### 2.8 Cours, séances, types de cours *Source: `help/fr/core-concepts/lessons-and-types.md` · id: core-concepts.lessons-and-types · Updated: 2026-06-13* Trois objets liés mais distincts à bien différencier dans Omniscol : le **cours** (l'unité pédagogique abstraite), la **séance** (une instance concrète du cours, à une date précise), et le **type de cours** (la classification, CM, TD, TP…). #### Cours Un **cours** est l'unité atomique d'enseignement : une matière, une classe ou un groupe, un professeur, une salle, une durée, un nombre d'occurrences hebdomadaires (ou un calendrier de dates en mode calendrier). Exemple : *« Mathématiques en 6e A, par M. Durand, 4 heures par semaine en salle B204 ».* Le cours porte la **logique pédagogique** : qui apprend quoi avec qui. C'est ce qu'on construit dans le module Gestion des EDT. Voir aussi la définition de glossaire : [Cours](#page-glossary.course). #### Séance Une **séance** est une **occurrence** concrète d'un cours, datée et horodatée. À partir du cours *Mathématiques en 6e A, 4h/semaine*, Omniscol génère 4 séances par semaine sur les semaines actives (par exemple lundi 8h-9h, mardi 10h-11h, mercredi 14h-15h, vendredi 9h-10h). C'est la séance qui est visible dans le module EDT, dans les portails, dans les exports iCal. C'est aussi sur la séance que portent les modifications ponctuelles (déplacer, annuler, remplacer). C'est le terme retenu par l'interface pour l'unité posée sur la grille : ce que vous placez, déplacez, verrouillez, éditez, annulez ou remplacez est une **séance** (ou « séance de cours » quand la précision aide). #### Type de cours Un **type de cours** classe chaque cours au-delà de sa matière : CM, TD, TP, examen, distanciel, sortie. Le type sert pour : - la **logique métier** (un examen ne se traite pas comme un TD), - les **statistiques** (heures de TD vs heures de CM par professeur), - la **lisibilité** (affichage dans les EDT). Voir [Types de cours (TD, TP, examen, magistral, etc.)](#page-admin.lesson-types) pour la gestion détaillée des types. #### Où vivent les cours dans la structure Selon la complexité de la structure des classes, les cours sont rattachés soit **à leur classe** (cas standard), soit **de manière transverse aux classes** (quand des groupes de groupes sont utilisés ou qu'une séance a plusieurs groupes simultanément). C'est transparent pour l'utilisateur — Omniscol bascule automatiquement selon la structure. Voir [Groupes de groupes](#page-core-concepts.groups-of-groups). #### Cours simples vs complexes Un cours peut être **simple** (un professeur, une classe, une matière, une salle, une récurrence régulière) ou **complexe** : alternance semaines A/B, concaténations (cours doubles), associations (rotation entre groupes), co-animations (plusieurs professeurs). Voir [Cours complexes](#page-core-concepts.complex-lessons). #### Voir aussi - [Séance / Leçon](#page-glossary.lesson) - [Type de cours](#page-glossary.lesson-type) - [Types de cours (TD, TP, examen, magistral, etc.)](#page-admin.lesson-types) - [Cours complexes](#page-core-concepts.complex-lessons) ### 2.9 Cours complexes : alternés, concaténés, associés, co-animés *Source: `help/fr/core-concepts/complex-lessons.md` · id: core-concepts.complex-lessons · Updated: 2026-06-13* Beaucoup de séances sont simples : un public, un professeur, une salle, un créneau récurrent. Mais Omniscol gère aussi des configurations plus sophistiquées, mixables entre elles. Les cours complexes sont des séances d'une même classe reliées entre elles par une configuration spéciale. Il en existe plusieurs types. #### 1. Séances alternées (semaines A/B/...) Des cours qui ne reviennent **pas chaque semaine**, mais alternent. Le cas classique : une séance en semaine A, un autre en semaine B, sur le même créneau. Cette configuration est très populaire en France et dans les systèmes scolaires qui s'en sont inspirés, mais très rare en dehors. **Prérequis** : activer les semaines alternées dans Paramètres (module Administration). Vous pouvez choisir la nomenclature (lettres A/B/C ou chiffres 1/2/3). **Décalage par les vacances** : l'alternance peut se recaler après une période de vacances. Ce réglage se fait sur la frise de l'écran [année scolaire](#page-admin.school-year). **Création** : 1. Survolez la séance à alterner. Une icône [plus] apparaît en haut à droite de la séance, cliquez. 2. Une plage libre est ajoutée pour la semaine alternée. 3. Créez la séance correspondant à cette nouvelle plage. 4. Positionnez-la avec son bouton punaise [thumbtack], puis cliquez le créneau jour/heure voulu parmi les pastilles colorées. Vous pouvez répéter pour ajouter d'autres semaines (alternance sur 3, 4, ou plus). #### 2. Séances concaténées (consécutives) Deux séances qui doivent **se suivre dans la journée**, sans intercalation. Cas typiques : - succession de TP de deux groupes différents (le professeur est sûr de venir pour une demi-journée complète), - CM + TD à la suite (CM d'introduction puis TD d'application), - double session d'examen. **Création** : glissez-déposez une séance sous une autre dans la vue de répartition des heures. Les deux séances sont alors collées, et sont considérées comme un bloc unique. On peut concaténer autant de séances qu'on le souhaite, mais évidemment il se pourrait que ça ne rentre plus dans la grille horaire, si la durée totale est trop importante. **Détacher** : un bouton « ciseaux » apparaît au survol entre les deux séances concaténées. Il sépare la concaténation. **Pourquoi pas une séance unique plus longue ?** Parce que les deux séances peuvent avoir : - des **types** différents (CM puis TD), - des **professeurs** différents (le titulaire pour le CM, un assistant pour le TD), - des **salles** différentes. Si tous les attributs sont identiques, allonger une seule séance est plus simple — concaténer apporte de la souplesse dans les autres cas. #### 3. Cours associés (alternance demi-groupes) Deux séances simultanées en **demi-groupes qui se permutent** entre elles, pour en former quatre. Le cas archétypal : ``` Créneau 1 : groupe A en bio, groupe B en physique Créneau 2 : groupe A en physique, groupe B en bio ``` Au bout des deux créneaux, les deux demi-groupes ont vu les deux matières, mais dans un ordre différent. La permutation nécessite donc deux professeurs (un de bio, un de physique) qui « tournent ». Cette configuration est assez populaire au collège en France et très populaire dans les pays francophones d'Afrique. Elle semble bien plus rare ailleurs, mais on peut la croiser au Brésil par exemple. **Création** : 1. Créez deux séances [concaténées](#2-seances-concatenees-consecutives) (l'une sous l'autre). 2. Survolez la frontière entre les deux : un bouton d'Association de séances (tandem) apparaît. 3. Cliquez et désignez les **deux groupes** qui doivent alterner. Idéalement, les deux groupes doivent être déclarés en [partition](#page-core-concepts.class-divisions) dans la classe. Il est possible d'aller au-delà de deux séances/deux groupes, mais ce cas reste plus théorique que rencontré dans la vie réelle. #### 4. Co-enseignement Deux ou plusieurs professeurs qui assurent **la même séance**, dans la **même salle**, **simultanément**. Cas typiques : - encadrement renforcé (titulaire + assistant), - *visiting professor* en duo avec le titulaire pour quelques séances, - module pluridisciplinaire (un médecin + un informaticien pour « informatique pour la santé »), - co-titulaires sur tout un semestre. **Création** : sur l'écran d'affectation des professeurs au cours, sélectionnez **plusieurs intervenants**. Chacun est crédité de la séance dans ses statistiques et son service horaire. #### 5. Combinaisons Ces complexités se **mixent**. Exemples : - **Alterné + concaténé** — un cours en semaine A est un double-bloc concaténé, en semaine B c'est un autre double-bloc. - **Alterné + co-animé** — semaine A avec le titulaire, semaine B avec le visiting professor (alternance d'intervenants). - **Concaténé + associé** — alternance demi-groupes sur un double-créneau (le cas le plus courant des TP de sciences en demi-classes). En France, on va trouver typiquement une manière de déclarer les demi-heures supplémentaires de français et mathématiques tout en résolvant le problème des trois heures de sport (faire 1h en moyenne via 2h une fois sur deux, en plus de 2h toutes les semaines). | Semaine A | Semaine B | | --- | --- | | Français | Sport | | Mathématiques | Sport | #### Cas hors-norme Si votre besoin ne tient dans aucune de ces catégories, contactez le support Omniscol — il est probable qu'on puisse le modéliser, mais cela peut nécessiter un peu d'aide pour identifier la meilleure approche. #### Procédure — Créer un TP en demi-groupes associés 1. **Le cas archétypal** : un TP de sciences sur deux créneaux, où demi-groupe A fait bio puis physique pendant que demi-groupe B fait physique puis bio. Concaténation + association. 2. **Préalable** : sur la classe concernée, déclarez les deux demi-groupes en **partition**, par exemple `(A, B)`. Voir [Partitions de classe](#page-core-concepts.class-divisions). C'est ce qui permet à Omniscol de les considérer comme exclusifs et donc permutables. 3. **Créez la première séance** (par exemple bio pour demi-groupe A) sur le premier créneau, dans la vue répartition des heures. Professeurs et salle de bio. 4. **Glissez-déposez la seconde séance** (physique pour demi-groupe B) **directement sous la première** (un emplacement apparaît au moment de lâcher la séance, qui se retrouve collée). 5. **Survolez la frontière** entre les deux séances concaténées : un bouton d'Association de séances (tandem) apparaît. Cliquez. Désignez les deux groupes (`A` et `B`) qui doivent alterner. Omniscol crée automatiquement la **rotation** : créneau 1 → A en bio + B en physique ; créneau 2 → A en physique + B en bio. Deux professeurs simultanés, deux salles, deux demi-groupes qui tournent, quatre séances en tout. 6. **Pour ajuster** : un bouton ciseaux entre les deux séances concaténées sépare l'association. Vous pouvez aussi mixer avec **alternance A/B** (TP différent semaine A vs B) ou **co-enseignement** (deux professeurs sur la même séance). Voir [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) pour le contexte complet. #### Voir aussi - [Cours alternés](#page-glossary.alternate-lessons) - [Cours concaténés](#page-glossary.concatenated-lessons) - [Cours associés](#page-glossary.associated-lessons) - [Co-enseignement](#page-glossary.co-teaching) - [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) ### 2.10 Campus, sites, salles, ressources, multi-salles *Source: `help/fr/core-concepts/sites-rooms-resources.md` · id: core-concepts.sites-rooms-resources · Updated: 2026-06-13* Cette page rassemble la modélisation **organisationnelle et physique** d'un établissement dans Omniscol : quels campus structurent les classes, où ont lieu les cours, dans quelles salles, avec quels équipements mobiles. > _Premium_ #### Campus — la maille organisationnelle Un [campus](#page-glossary.campus) permet de distinguer plusieurs implantations, facultés ou pôles au sein d'un même compte. C'est une notion d'organisation interne : elle sert à regrouper des classes selon la structure de l'établissement et à faciliter certains filtrages. Cette notion est **optionnelle**. Elle devient surtout utile quand la notion de site ne recoupe pas bien l'organisation logique de l'établissement, ou quand vous voulez garder les deux en parallèle. Le campus est transversal au site. Un site décrit plutôt une réalité géographique ou physique : lieu, grille horaire, salles, temps de trajet. Les deux notions ne se superposent pas forcément. C'est même dans ce cas qu'elles deviennent les plus utiles. Par exemple : - une faculté peut utiliser plusieurs sites ; - un site physique peut accueillir plusieurs campus ou pôles ; - plusieurs facultés peuvent partager les mêmes bâtiments ; - plusieurs écoles d'un groupe peuvent partager plusieurs sites de manière croisée ; - un campus peut servir surtout de filtre d'analyse, sans changer les temps de trajet. Même si campus et site se recoupent presque complètement, garder les deux peut rester utile pour les filtres, les regroupements et certaines analyses. Les campus se créent dans les [paramètres généraux](#page-admin.parameters), sous les niveaux de classe. Ils peuvent ensuite être renseignés sur les classes. Le diagnostic des conflits peut s'en servir pour filtrer les alertes par périmètre organisationnel. #### Sites — la maille géographique Chaque [site](#page-glossary.site) représente un lieu physique ou géographique distinct. Au moins un site est obligatoire. Si tous vos cours ont lieu au même endroit, créez un seul site. Si votre établissement est multi-sites avec des intervenants ou des élèves qui se déplacent, créez autant de sites que nécessaire **et renseignez les temps de trajet** entre eux. Chaque site porte sa propre **grille horaire** (heures de début/fin des créneaux, pauses, déjeuner, fermetures) — les sites peuvent avoir des grilles différentes (par exemple un bâtiment principal et une antenne avec d'autres horaires). Le multi-sites est une pratique courante en **enseignement supérieur** (campus multiples, antennes en région), mais aussi en **Enseignement scolaire** (collège + lycée sur un même groupe scolaire avec bâtiments séparés, école avec annexe maternelle, etc.). > Le multi-sites n'est pas inclus dans le plan **Lite**. Il est > disponible à partir du plan Standard. #### Multi-sites : politique et temps de trajet Cas typique : un professeur finit un cours sur le site A à 10 h, doit être au site B à 10 h 30, le trajet prend 15 minutes. Sur la grille horaire avec une pause inter-cours de 30 minutes, c'est bon. Avec une pause de 10 minutes seulement, ça ne passe pas. ##### Renseigner les temps de trajet Sur l'écran **Sites** du module Gestion des EDT, le bouton Distance entre les sites ouvre une popup qui présente les temps de trajet sous forme de **demi-matrice triangulaire** : N sites = N×(N−1)/2 cases à remplir (pas de diagonale, pas de doublons — la matrice est symétrique). Saisissez les durées en minutes pour chaque paire, validez avec Enregistrer. Sans cette saisie, le solveur considère qu'aucun trajet n'est nécessaire entre les sites — il pourra téléporter les professeurs, ce qui ne marche évidemment pas en pratique. ##### Politique professeurs : changement de site automatique Un **professeur** peut changer de site automatiquement d'une séance de cours à la suivante — c'est l'algorithme qui gère. Vous n'avez rien à déclarer côté professeur : il suffit que les temps de trajet inter-sites soient renseignés. ##### Politique classes : site par défaut + forçage manuel Une **classe** est rattachée par défaut à un site (son site d'inscription). Toutes ses séances de cours se déroulent par défaut sur ce site. Mais vous pouvez **manuellement attacher une salle d'un autre site** à une séance de la classe — par exemple « cours d'EPS au gymnase de l'annexe ». Dans ce cas : - la **salle préassignée** est conservée par l'algorithme (il ne cherche pas à la remplacer par une salle du site par défaut) ; - le solveur calcule les **temps de trajet** par rapport aux séances qui précèdent ou suivent (selon leur site : par défaut le site de la classe, sinon le site de la salle imposée sur ces séances). Si **aucune salle n'est précisée** sur une séance, l'algorithme choisit une salle du **site de la classe**. C'est la valeur par défaut. ##### Contrainte bloquante, à la minute près La contrainte inter-sites est **bloquante** dans l'algorithme de génération automatique. S'il manque ne serait-ce qu'une minute entre la fin d'une séance sur un site et le début d'une séance sur un autre site, le placement est **refusé** — pas de relâchement automatique. Vérification précise sur la **grille horaire effective** : si deux créneaux se suivent avec 15 minutes de récréation et qu'il faut 10 minutes de trajet, ça passe ; s'il faut 16 minutes de trajet, ça ne passe pas. ##### Pause déjeuner sur changement de site Quand un changement de site tombe sur la pause déjeuner, le temps de trajet est **soustrait du temps de déjeuner réel** disponible. L'algorithme prend en compte une durée minimale de déjeuner pour les professeurs et pour les élèves (calibrée côté site) ; si le trajet réduit ce temps en dessous du minimum, le placement est refusé. Conséquence pratique : déclarer correctement les temps de trajet et les durées de déjeuner par site évite les emplois du temps théoriquement valides mais impossibles à tenir physiquement. ##### Conséquence sur le diagnostic Si vous voyez « impossible » sur des placements multi-sites, vérifiez en priorité : - les **temps de trajet** déclarés (pas téléportés, ni surestimés ridiculement), - les **pauses inter-cours** sur la grille horaire, - l'éventuelle **pause déjeuner** sur le créneau concerné, - les **salles préassignées** : si une classe a une salle imposée sur un autre site, c'est elle qui fixe la contrainte. En positionnement manuel, la contrainte apparaît en orange, et vous pouvez toujours forcer. Mais à moins que les séances ne soient verrouillées, lancer l'algorithme de génération automatique a posteriori aura pour conséquence de déplacer la ou les séances pour résoudre ce conflit. ##### Cas d'usage : activités extérieures Au-delà des campus permanents, le mécanisme multi-sites couvre naturellement les **activités extérieures récurrentes** : - **visite d'hôtel ou de restaurant** pour une école d'hôtellerie / restauration ; - **visite de musée** ou d'atelier pour une école d'art ou de design ; - **sortie en entreprise** récurrente (visites en alternance) ; - **stage de terrain** sur un site externe (chantier, exploitation agricole, laboratoire partenaire). Créez un site dédié pour chaque lieu extérieur récurrent, avec son temps de trajet depuis votre site principal. La contrainte bloquante s'applique normalement : si le déplacement ne tient pas dans le temps disponible entre deux séances, le placement est refusé. ##### Pour aller plus loin : enseignement supérieur Le multi-sites est particulièrement courant en supérieur (campus multiples, antennes en région, intervenants qui circulent). Cas spécifiques (un EDT par site grâce aux EDT actifs multiples — inclus en Premium —, sites virtuels pour la visio, etc.) dans [Multi-sites en enseignement supérieur](#page-higher-ed.multi-site). #### Salles — les locaux Les [salles](#page-glossary.classroom) sont rattachées à un site, qui porte leur réalité physique : lieu, grille horaire, temps de trajet. Une salle porte : - un **nom**, - une **capacité** (nombre d'élèves ; champ critique pour le solveur), - éventuellement une **[spécialisation](#page-glossary.classroom-specialization)** (libellé libre : chimie, informatique, sport…), - éventuellement un **nombre maximal de classes simultanées**, pour les **[grandes salles](#page-glossary.large-room)** capables d'accueillir plusieurs séances en parallèle (salle d'examen, gymnase, piscine, espace extérieur) ; ce champ n'apparaît qu'une fois une spécialisation posée, - éventuellement des **tags** ou commentaires libres, - éventuellement un **bâtiment**, - éventuellement des **horaires d'ouverture** spécifiques. ##### Multi-salles : un cours dans plusieurs salles Omniscol **supporte** l'affectation de plusieurs salles à un même cours. Cas d'usage : - **Examens en amphithéâtres dédoublés** — un examen de 200 candidats réparti en trois amphithéâtres (capacité 70 + 60 + 80) avec un seul intervenant responsable. La capacité totale est calculée comme la **somme** des salles affectées. - **Cours magistral retransmis** — un CM dans un amphithéâtre principal, retransmis par visio dans une salle satellite (sur un autre site, voire dans une promotion entièrement à distance). - **TP dédoublés** — un TP de 30 étudiants réparti dans deux salles voisines (15 + 15) avec le même professeur qui circule. Limitation : si la somme des capacités reste **inférieure** à l'effectif du groupe, Omniscol affiche un conflit. C'est à l'administrateur de décider de le résoudre (en ajoutant une salle, en réduisant le groupe, ou en acceptant le conflit s'il est délibéré — par exemple, si on sait que tous les inscrits ne viendront pas). ##### Spécialisations de salles Les **[spécialisations](#page-glossary.classroom-specialization)** (chimie, informatique, sport, gymnase, multimédia, salle de devoirs surveillés) sont des libellés **libres** optionnels définis par l'établissement. Vous créez les spécialisations qui correspondent à votre nomenclature, pour discriminer certaines salles qui sont dédiées à des cours spécifiques (un gymnase pour du sport, une piscine pour la natation, un laboratoire pour un TP de chimie, etc.). Le solveur respecte strictement les spécialisations : si une matière requiert « chimie », seules les salles portant exactement cette spécialisation seront utilisées. Chaque salle porte **au plus une spécialisation**. Pour une salle polyvalente entre deux usages spécialisés, utilisez un libellé englobant (par exemple « informatique-multimédia ») et associez ce même libellé aux matières concernées. Voir [Spécialisations de salles](#page-core-concepts.classroom-specializations). ##### Salle dédiée à une classe Beaucoup de configurations primaire/secondaire associent une salle à chaque classe (les cours s'y déroulent par défaut, seuls les professeurs se déplacent). C'est configurable sur la classe — le moteur priorise alors cette salle pour les cours de la classe (avec une priorité supérieure à la salle préférée du professeur, si elle est définie). ##### Salles dans deux sites virtuels Si vous avez deux sites virtuels pour un lieu physique unique (typique d'un collège + lycée partageant les locaux), une salle ne peut appartenir qu'à un seul site à la fois. Pour la rendre utilisable dans les deux contextes, dupliquez-la dans les deux sites et renseignez des horaires d'ouverture exclusifs (« libre le matin pour le collège, l'après-midi pour le lycée ») pour éviter les double-attributions. #### Ressources — les équipements mobiles Une [ressource](#page-glossary.resource) est un équipement **mobile** non attaché à une salle particulière : trois vidéoprojecteurs portables, une valise de tablettes, un kit de microphones, etc. Chaque ressource porte : - un **nom**, - une **quantité disponible** (la valise compte pour 1, pas pour 30 — saisissez le nombre de valises, pas de tablettes individuelles). Le solveur garantit qu'à un même créneau, le nombre de cours demandant la ressource ne dépasse pas la quantité disponible. Inutile de modéliser les ressources dont vous avez « toujours assez » — ne le faites que pour les vraies limites partagées. #### Cas particulier — visioconférence et liens par cours Le format d'une séance — présentiel, distanciel, hybride ou autonomie — est porté par sa **[modalité](#page-glossary.lesson-modality)** (Premium) : c'est elle qui détermine si la séance mobilise une salle physique. Pour un cours en distanciel ou hybride, vous pouvez attacher un **lien de visioconférence** au cours (Zoom, Teams, Meet…). Voir [Liens de visioconférence par cours](#page-higher-ed.videoconference-links). C'est plus fin que le lien de visioconférence sur la classe, qui est un lien général par défaut sur toutes les séances. #### Voir aussi - [Spécialisation de salle](#page-core-concepts.classroom-specializations) - [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) - [Examens multi-salles dans le supérieur](#page-higher-ed.multi-room-exams) - [Liens de visioconférence par cours](#page-higher-ed.videoconference-links) - [Modalité](#page-glossary.lesson-modality) ### 2.11 Grille horaire, créneaux et durées *Source: `help/fr/core-concepts/timetable-grid.md` · id: core-concepts.timetable-grid · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* La **grille horaire** décrit les créneaux d'un site : heures de début, heures de fin, pauses, pause méridienne et fermetures. Elle sert à la fois à l'affichage, au contrôle des disponibilités et à la génération automatique. #### Stockage standard : le créneau, pas l'heure écrite Par défaut, une séance positionnée est rattachée à un **créneau de la grille**. Omniscol conserve l'emplacement dans la grille, puis recalcule les heures affichées à partir de la grille du site. Conséquence utile : si la sonnerie de début passe un jour de `08:15` à `08:10`, les séances placées sur ce créneau suivent la nouvelle grille sans avoir à modifier chaque séance une par une. #### Mode d'affichage de la grille Le **mode d'affichage** détermine la présentation de la colonne des heures, sans rien changer au placement des séances : - **Heures de cours** — chaque ligne porte l'horaire réel du créneau (8 h 15 – 9 h 10, 9 h 15 – 10 h 15…), tel que défini par la grille du site. - **Périodes** — chaque ligne porte un numéro de période (P0, P1, P2…), convention répandue dans les établissements anglo-saxons. - **Agenda** — affichage calendaire à heures rondes (8 h, 9 h, 10 h…), indépendant de la grille : chaque séance se place à son heure réelle sur un fond horaire continu. #### Durée unitaire de cours La **durée unitaire de cours** est la durée de référence d'un créneau. Elle peut inclure l'inter-cours si l'établissement raisonne ainsi. Exemples : - cours de 55 minutes avec 5 minutes d'inter-cours : durée unitaire de `60` minutes ; - cours de 1h30 réguliers : durée unitaire de `90` minutes ; - cours majoritairement d'une heure, avec quelques cours de 1h30 : durée unitaire de `60` minutes et fractionnement adapté. Cette durée sert aux volumes horaires configurés et à la génération. Les heures réelles de début et de fin peuvent varier dans la grille : une récréation peut faire qu'un créneau affiché dure 55 minutes tout en restant rattaché à une durée de référence de 60 minutes. Dans l'interface, ce réglage se nomme Durée du créneau horaire et se définit sur l'onglet **Général** de l'édition de l'EDT (voir [Paramètres généraux](#page-timetables.general-settings)). Les durées typiques, par ordre de popularité, sont : 60, 45, 50, 120, 90, 30, 180. Parfois, dans les établissements du supérieur, les séances font toujours plusieurs heures, mais les cours peuvent commencer aléatoirement à 8h ou 9h, ou alors ils peuvent durer 6 ou parfois 5 heures. Dans ce cas, c'est le plus grand commun diviseur qui prévaut, et ce sera généralement 60 minutes de durée unitaire. #### Fractionnement Le **fractionnement** indique en combien de sous-parties la durée unitaire peut être découpée. C'est le pas horaire minimal. Voici quelques exemples : - `1` : uniquement des cours d'une durée unitaire complète ; - `1/2` : pas de 30 minutes si la durée unitaire est 60 minutes ; - `1/4` : pas de 15 minutes si la durée unitaire est 60 minutes. Choisissez la granularité la plus simple qui couvre les besoins réels. Un fractionnement plus fin permet plus de souplesse, mais augmente le nombre de possibilités à tester lors de la génération. Dans l'interface, ce réglage s'ajuste sur l'onglet **Général** via Fractionnement du créneau horaire. Dans la plupart des systèmes scolaires du monde, il n'y a pas de subdivision de la grille horaire. En France, c'est généralement 1/2 dans le secondaire (quelques séances durent 1h30). Dans certains organismes de formation, on peut descendre à 10 minutes de précision : c'est donc 60 minutes de durée unitaire mais 1/6 en fractionnement. #### Position et durée : un stockage en pas horaires Une séance n'est pas enregistrée avec des heures « en dur » mais comme un **nombre de pas horaires** sur la grille. Le **pas** est la durée unitaire divisée par le fractionnement : une durée unitaire de 60 minutes avec un fractionnement 1/2 donne un pas de 30 minutes. Une séance d'1 h occupe alors 2 pas, une séance d'1h30 en occupe 3. Trois notions cohabitent, sans se confondre : - la **durée de référence** (la durée unitaire) sert à compter les volumes horaires et à **afficher la durée** d'une séance ; - les **heures réelles** affichées (début et fin) viennent de la **grille du site**, créneau par créneau ; - le **stockage** se fait en **pas horaires**, à la finesse du fractionnement. C'est pourquoi un même créneau peut afficher 8 h 15 – 9 h 10 (heures réelles) tout en comptant pour 1 h (durée de référence). #### Interdictions globales de créneaux Certains créneaux doivent rester **interdits pour tout l'établissement** : mercredi après-midi, créneau de réunion, plage réservée. Ces interdictions se posent **directement sur la grille du site**, en marquant le créneau comme **indisponible** : aucune séance n'y sera placée, ni à l'affichage ni à la génération. C'est une **contrainte horaire portée par la grille**. Le même mécanisme permet aussi, sur les comptes Premium, des contraintes souples (créneaux à éviter sans les fermer). Voir [Contraintes horaires (système général)](#page-core-concepts.time-constraints). #### Pause méridienne et décalages La pause déjeuner se décrit par une **plage** (par exemple 12 h 00 – 14 h 00) et une **durée** de déjeuner à préserver. Quand la durée à préserver est **plus courte** que la plage, Omniscol autorise un cours **sur une partie** de la pause, tant que la durée de déjeuner reste possible — avant ou après le cours intercalé. Il est très fréquent que la pause déjeuner dure deux heures, mais qu'il soit permis de positionner une séance d'une heure, généralement des options où toute la classe n'est pas présente, ou des cours transverses où il est complexe de synchroniser plusieurs classes. Les parties de la classe n'ayant pas cours ne sont pas considérés comme étant en permanence (pour l'algorithme, ce n'est pas un trou). La pause méridienne est aussi le seul cas de figure où un créneau irrégulier est traité comme un ensemble de pas horaire différent. Avec un pas horaire de 30 minutes, une durée unitaire de cours de 1h et une plage de pause de 12 h 00 à 13 h 30, le logiciel considère qu'il s'agit de 3 x 30 minutes. On peut déclarer soit un créneau unique de 1h30, soit 1h + 30 minutes, soit 30 minutes + 1h, peu importe. Dans ce cas de figure, les séances de l'après-midi sont décalées d'une demi-heure. Si l'on déclare alors une durée de déjeuner d'une demi-heure minimale, cela laisse la possibilité de poser une séance d'une heure sur la pause, laissant les élèves concernés déjeuner soit avant, soit après le cours. On peut aussi indiquer que la **cantine ouvre juste avant** la pause officielle : un « trou » sur ce créneau ne compte alors pas comme un temps perdu pour les élèves. L'important est de modéliser la règle voulue : créneaux ouverts, créneaux fermés, pause méridienne flexible, disponibilités ou indisponibilités. La grille doit refléter ce que l'établissement accepte réellement. > _Premium_ #### Horaires personnalisés sur une séance Une séance peut recevoir un **horaire personnalisé** : début et fin précis, qui ne correspondent pas forcément aux bornes exactes d'un créneau. Ce cas existe dans tous les types d'EDT. La séance s'affiche hors grille, avec ses heures réelles : elle peut commencer ou se terminer en dehors des bornes du créneau affiché. Omniscol utilise ces heures personnalisées pour calculer son chevauchement réel. Toute entité affectée au cours — professeur, salle, classe, groupe ou ressource — est considérée occupée dès que l'horaire personnalisé mord sur un créneau. Pour la génération automatique, une séance avec horaire personnalisé est traitée comme indéplaçable : sa position est verrouillée automatiquement. > _Premium_ #### Classe hors grille La **classe hors grille** est un autre cas : les cours de la classe sont stockés avec des horaires précis, indépendamment de la grille du site. Cette fonction ne concerne que les EDT de type calendrier. Elle sert surtout aux formations continues ou programmes très souples qui partagent les locaux et les professeurs avec la formation initiale, sans suivre la même grille horaire. L'établissement choisit alors un pas horaire par défaut, par exemple le quart d'heure, et les séances sont stockées avec leurs heures de début et de fin. > _Premium_ #### Durées personnalisées Un cours peut aussi porter des **durées personnalisées** : - **Durée calculée** : durée déduite des heures personnalisées du cours ; - **Durée réelle** : durée utilisée en priorité dans les tableaux de bord ; - **Durée comptabilisée** : durée utilisée pour la facturation ou la paie du professeur. Exemple : un examen occupe une salle de `08:30` à `11:30` parce qu'il faut préparer la salle avant et la libérer après. Le tableau de bord peut ne compter que 2h d'examen en durée réelle, tandis que la durée comptabilisée du professeur surveillant peut être plus élevée si l'établissement y intègre une compensation de correction. #### Voir aussi - [Paramètres généraux](#page-timetables.general-settings) - [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) - [Séances hors grille](#page-timetables.off-grid-lessons) ### 2.12 Spécialisations de salles *Source: `help/fr/core-concepts/classroom-specializations.md` · id: core-concepts.classroom-specializations · Updated: 2026-06-13* Toutes les salles ne se valent pas : un laboratoire de chimie ne peut pas accueillir un cours de sport, une salle informatique n'a de sens que pour les matières qui utilisent ses postes, un gymnase est réservé au sport. La **spécialisation de salle** dans Omniscol permet de déclarer ces affinités pour que la génération automatique et les diagnostics respectent les contraintes physiques. #### Comment ça marche : un libellé partagé entre salles et matières La spécialisation repose sur un **libellé libre**, défini par l'établissement selon sa nomenclature, qui relie deux déclarations : - **Côté salle** — chaque salle porte **au plus une spécialisation** (« chimie », « informatique », « gymnase »…). La plupart des salles n'en ont aucune. - **Côté matière** — une matière affectée à une classe peut exiger une salle spécialisée via son champ Salle spéciale. La valeur doit correspondre **exactement** au libellé porté par au moins une salle. Le lien est strict dans les deux sens : une matière qui exige « chimie » n'est placée que dans une salle portant ce libellé, et une salle spécialisée est **réservée** aux matières qui demandent son libellé — elle n'est pas utilisée pour les cours ordinaires. La **capacité** de la salle reste une vérification distincte : quelle que soit la spécialisation, l'effectif prévu doit tenir dans la salle. #### Effet sur la génération Lors de la génération automatique, l'algorithme ne considère, pour chaque cours, que les salles **compatibles** : libellé de spécialisation exigé par la matière (le cas échéant) et capacité suffisante pour l'effectif. Si aucune salle compatible n'est disponible, la génération le signale et le diagnostic identifie la matière, la classe et la spécialisation concernées. À vous d'arbitrer : ajouter le libellé à une autre salle, retirer l'exigence portée par la matière, ou revoir les effectifs. #### Salles polyvalentes Une salle ne porte qu'**un seul** libellé de spécialisation. Pour une salle qui doit servir deux usages spécialisés — par exemple l'informatique et le multimédia — créez un libellé englobant (« informatique-multimédia ») et indiquez ce même libellé sur toutes les matières concernées. #### Salles génériques Les salles **génériques** (sans spécialisation) accueillent toutes les matières qui n'exigent pas de salle spécialisée. C'est le cas le plus courant ; ajoutez une spécialisation uniquement quand vous voulez restreindre. #### Grande salle : plusieurs séances à la fois Une salle spécialisée accueille normalement **une séance à la fois**. Vous pouvez en faire une **[grande salle](#page-glossary.large-room)** en renseignant son **nombre maximal de classes simultanées** : elle accueille alors plusieurs séances différentes en parallèle (professeurs et groupes distincts), tant que la somme des effectifs tient dans sa capacité. C'est le cas d'une salle d'examen, d'un gymnase, d'une piscine ou d'un espace extérieur. Ce réglage n'apparaît **qu'après** avoir donné une spécialisation à la salle. #### Bonnes pratiques - **Démarrez large** — au moment du paramétrage initial, ne mettez pas trop de contraintes, vous risquez de bloquer la génération. - **Affinez après le premier diagnostic** — quand vous voyez le résultat de la génération, vous identifiez les cas où une spécialisation manquante aurait évité un mauvais placement. - **Documentez côté équipe** — les professeurs et les agents de salle doivent comprendre pourquoi telle salle est restreinte ; sinon ils contournent à la main. #### Procédure — Paramétrer un laboratoire de SVT 1. **Paramétrer une salle spécialisée** (laboratoire de SVT, salle informatique, gymnase) pour que la génération automatique ne s'y trompe pas. 2. **Ouvrez la salle** dans l'écran Sites / Salles / Ressources de l'EDT. Renseignez sa **spécialisation** : choisissez un libellé existant ou créez-le (par exemple `SVT`). Une salle ne porte qu'un seul libellé. 3. **Capacité** : nombre de places. La génération vérifie que l'effectif du groupe affecté reste ≤ capacité. ⚠ Soyez réaliste — trop strict bloque la génération, trop large mène à des sur-réservations. 4. **Côté matière** : sur la ou les matières concernées de chaque classe (Sciences de la vie et de la terre, Biologie…), renseignez le champ Salle spéciale avec le même libellé `SVT`. La correspondance doit être exacte — c'est elle qui réserve la salle à ces matières. 5. **Démarrez large** au paramétrage initial — moins de contraintes = moins de risque de bloquer la génération. Vous **affinerez après le premier diagnostic** quand vous verrez les cas où une spécialisation manquante aurait évité un mauvais placement. 6. **Pour une salle non restreinte** (générique), ne renseignez aucune spécialisation : la salle accueille alors toutes les matières sans exigence particulière. C'est le défaut le plus simple — ajoutez la spécialisation uniquement quand vous voulez restreindre. #### Voir aussi - [Spécialisation de salle](#page-glossary.classroom-specialization) - [Grande salle](#page-glossary.large-room) - [Sites, salles, ressources, multi-salles](#page-core-concepts.sites-rooms-resources) - [Gérer les matières](#page-admin.subjects) ### 2.13 Disponibilités et contraintes horaires des professeurs *Source: `help/fr/core-concepts/wishes-and-availability.md` · id: core-concepts.wishes-and-availability · Updated: 2026-06-21* Les **disponibilités** d'un professeur indiquent au logiciel les créneaux qui sont **impossibles**, **indésirables** ou **préférés** pour lui. Le solveur respecte strictement les impossibilités et tente d'optimiser les autres préférences. On parle aussi de **vœux** dans l'éducation secondaire — c'est le même concept. #### Quatre niveaux | Couleur | Signification | Effet | | --- | --- | --- | | **Noir** | Impossible | Contrainte dure : le solveur ne place jamais une séance là | | **Rouge** | Indésirable | Contrainte molle : le solveur évite si possible | | **Vert** | Préféré | Le solveur favorise ce créneau si plusieurs sont valides | Une plage non-marquée est **neutre** — disponible sans préférence. #### Activer la saisie des disponibilités Le mode de saisie se choisit dans les [paramètres généraux](#page-admin.parameters), sur le réglage Disponibilités des professeurs : - **Désactivé** — pas de saisie de disponibilités par les professeurs. - **Hebdomadaire** — disponibilités saisies sur une semaine type. Pour les EDT hebdomadaires et cycliques. - **Calendrier** — disponibilités saisies date par date. Pour les EDT calendriers, sur les comptes Premium. - **Calendrier + Hebdomadaire** — les deux saisies coexistent, sur les comptes Premium, quand des EDT récurrents et calendaires cohabitent, ou tout simplement pour laisser une possibilité plus simple aux professeurs d'indiquer qu'ils ne sont jamais disponibles un certain jour de la semaine, peu importe la date (des exceptions peuvent cependant être indiquées). #### Saisie par le professeur lui-même Les professeurs peuvent saisir leurs propres disponibilités depuis leur compte [heart]. Gain de temps majeur pour l'administration. Si l'école ne souhaite pas que le professeur se connecte, vous pouvez aussi lui **envoyer un lien de partage** direct vers son propre écran de disponibilités, en mode édition, généré depuis Télécharger avec date d'expiration. Le professeur saisit ses disponibilités sans même avoir l'autorisation de se connecter à son compte. En pratique, ce lien est souvent envoyé dans un message personnalisé avec les matières prévues, le volume horaire, les déplacements ou contraintes particulières, et une date limite explicite. Omniscol ne fait pas de publipostage dédié pour ce cas : chaque lien s'insère dans la communication déjà préparée pour le professeur correspondant. #### Validation administrative dans l'emploi du temps Dans un emploi du temps hebdomadaire : - Les disponibilités saisies par le professeur sont par défaut en **attente de validation**. - Le planificateur vérifie et **valide** (potentiellement après modification — par exemple en supprimant une disponibilité trop contraignante, ou en changeant le noir en rouge). - Toute modification ultérieure du professeur passe à nouveau en attente. Dans le secondaire, les disponibilités peuvent être ouvertes plusieurs semaines avant la planification. De fait, ils se saisissent sur une grille horaire générique, et la phase de validation adapte à la vraie grille horaire des cours de l'emploi du temps : la phase de validation sert aussi à adapter correctement cette translation. Les disponibilités des professeurs virtuels sont directement enregistrées. Cela permet, par exemple, de donner par défaut le mercredi. En mode calendrier ([Premium](#page-overview.plans-and-options)) : - Les disponibilités sont **consolidées en temps réel**. - Les conflits sont détectés directement. En effet, on considère qu'en mode calendrier, il y a moins de contraintes sur la grille (puisqu'il existe une multitude de dates), et les professeurs sont autonomes, voire externes à l'école, cumulant les postes et les responsabilités : ce n'est pas un vœu mais une disponibilité réelle. De manière exceptionnelle, les données des disponibilités des professeurs en mode calendrier sont donc modifiables à la fois depuis l'écran du module d'administration et depuis un emploi du temps. #### Conflit de disponibilités à la génération Si les disponibilités d'un professeur sont **trop restrictives** pour permettre de positionner ses séances, la génération échoue avec un diagnostic explicite. Voir [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation). Solutions : - Assouplir les disponibilités (passer une plage en rouge plutôt que noir). - Redistribuer les cours (un professeur avec 18h et seulement 12 créneaux libres ne peut pas s'en sortir). - Recruter (cas extrême — mais parfois c'est le bon diagnostic). #### Procédure — Collecter et valider les disponibilités des professeurs 1. **Les disponibilités** indiquent au solveur quels créneaux sont **impossibles** (noir — contrainte dure), **indésirables** (rouge — molle) ou **préférés** (vert). Le solveur respecte strictement le noir et optimise les autres. 2. **Activez le mode de saisie** dans les paramètres généraux (réglage Disponibilités des professeurs) : **désactivé**, **hebdomadaire** (disponibilités sur semaine type, mode classique), ou **calendrier** (sur les comptes Premium, disponibilités date par date — cumulable avec l'hebdomadaire). Choisissez selon votre type d'EDT. 3. **Ouvrez la saisie** aux professeurs. Deux options : - ils se connectent et saisissent depuis leurs comptes [heart] ; - vous générez un **lien de partage direct** via Télécharger avec date d'expiration — pas besoin que le professeur se connecte à son un compte — et vous l'envoyez à chaque personne concernée. 4. **Côté professeur** : il se connecte ou clique sur le lien, voit sa grille, marque les créneaux en noir (impossible), rouge (indésirable), vert (préféré). Sauvegarde directe. Le geste est rapide. 5. **Validation côté administrateur (mode hebdomadaire)** : les disponibilités saisies arrivent en **attente de validation**. Vérifiez puis validez — vous pouvez modifier en passant. Toute modification ultérieure du professeur repasse en attente. En mode calendrier, c'est consolidé en temps réel. ⚠ Si un professeur marque trop de noir, le solveur ne saura pas positionner ses séances — le diagnostic le signalera (voir [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation)). #### Voir aussi - [Contraintes horaires (système général)](#page-core-concepts.time-constraints) - [Disponibilités des professeurs (vœux)](#page-glossary.wishes) - [Incompatibilité (entre matières)](#page-glossary.incompatibility) - [Solveur](#page-glossary.solver) - [Disponibilités en mode calendrier](#page-timetables.calendar-wishes) ### 2.14 Contraintes horaires : classes, matières, groupes, salles et grille *Source: `help/fr/core-concepts/time-constraints.md` · id: core-concepts.time-constraints · Audience: admin · Updated: 2026-06-27* Les **contraintes horaires** indiquent au solveur les créneaux à **éviter** ou à **privilégier**. Le même éditeur sert pour les **disponibilités d'un professeur** et pour les contraintes portées par une **classe**, une **matière**, un **groupe**, une **salle** ou la **grille** elle-même. Chaque surface n'expose que les niveaux qui ont un sens pour elle. Pour le détail du cas professeur (saisie par le professeur, lien de partage, validation), voir [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability). #### Les quatre niveaux Un créneau se peint avec l'un de ces niveaux, repérés par une couleur : | Couleur | Niveau | Effet sur la génération | | --- | --- | --- | | ⚫ **Noir** | Indisponible | Contrainte dure : le solveur ne place jamais de séance là | | 🔴 **Rouge** | Non souhaité | Contrainte souple forte : le solveur évite autant que possible | | 🟠 **Orange** | Peu souhaité | Contrainte souple légère : à éviter si le reste le permet | | 🟢 **Vert** | Préféré | Préférence positive : le solveur favorise ce créneau | Un créneau non peint est **neutre**. La [eraser] Gomme efface un niveau posé et revient au neutre. #### Qui porte quels niveaux Tous ne donnent pas accès aux quatre niveaux : - **Professeur** — Indisponible, Non souhaité, Préféré (noir, rouge, vert). Ce sont ses **disponibilités**. - **Classe** (Contraintes horaires de la classe), **matière** ([clock]), **salle** (Disponibilités) — Indisponible et Non souhaité (noir, rouge). On y décrit les créneaux où l'on ne veut pas, ou plutôt pas, que la classe travaille / la matière soit posée / la salle soit utilisée. - **Groupe** (Disponibilités) — mêmes niveaux noir et rouge, fonction Premium (voir plus bas). - **Grille horaire** (le site) — c'est la **seule** surface qui propose le niveau **orange** (Peu souhaité). Voir ci-dessous. L'accès se fait partout via la **petite horloge** [clock] posée sur l'entité (sur chaque classe, chaque matière de la classe, chaque salle…). L'horloge se **colore** quand des contraintes sont déjà saisies. #### Contraintes posées sur la grille Sur la grille d'un site, on peint directement les **contraintes globales**, valables pour **tout l'établissement** : - peindre un créneau en **noir** le **ferme** pour tout le monde — c'est ainsi qu'on interdit globalement un créneau (mercredi après-midi, pause, créneau de réunion…). > _Premium_ En Premium, la grille accepte en plus des contraintes **souples** : **rouge** (Non souhaité) et **orange** (Peu souhaité), pour décourager un créneau sans le fermer. Voir [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) pour la structure de la grille (créneaux, durées, pauses). #### L'éditeur de contraintes L'éditeur est commun à toutes les entités, et tout se fait au clic. **Choisissez d'abord un niveau** dans la barre en haut (les niveaux proposés dépendent de l'entité). Il devient le « pinceau » actif et s'applique à chaque créneau que vous touchez : - **Cliquez une cellule** pour peindre ce seul créneau ; **cliquez puis glissez** sur plusieurs cellules pour les peindre d'un seul geste. - **Cliquez l'en-tête d'un jour** pour peindre **toute la colonne** (la journée entière) ; **cliquez l'en-tête d'une heure** pour peindre **toute la ligne** (ce créneau sur tous les jours). C'est le moyen le plus rapide de couvrir de larges plages. - La [eraser] Gomme est un pinceau comme les autres : sélectionnez-la, puis cliquez ou glissez pour revenir au neutre. ##### Semaine type et vue calendaire Pour un emploi du temps hebdomadaire ou cyclique, les contraintes se saisissent sur une **semaine type**. > _Premium_ Pour un emploi du temps de type calendrier (Premium), une barre de navigation permet de basculer entre **semaines**, **mois**, **toute l'année** et **semaine type** : on saisit des contraintes datées, et on peut aussi déclarer une contrainte récurrente sur la semaine type. Les [fenêtres de dates](#page-timetables.date-windows) restreignent en plus les périodes où certains cours peuvent être planifiés. Sur la **semaine type**, chaque créneau **consolide** les contraintes de toutes les dates correspondantes de la période (tous les lundis de 8 h, par exemple). Quand ces dates divergent, le créneau affiche un **bandeau de couleurs proportionnel** — la largeur de chaque couleur reflète le nombre de jours concernés — et son **info-bulle** donne le décompte par niveau (combien de jours indisponibles, non souhaités, etc.). **Cliquer sur ce créneau force le niveau choisi sur toutes ces dates** d'un coup : c'est la façon générique de trancher pour toute la journée type. #### Options complémentaires > _Premium_ Sous l'éditeur, une contrainte de classe ou de groupe peut porter des **plafonds** (Premium) : - Nombre d'heures de cours maximal dans la journée — au format `HH:MM` ; - Nombre d'heures de cours maximal dans la semaine — en mode calendrier. Le solveur respecte ces plafonds comme des contraintes d'optimisation. Côté professeur, un **commentaire** libre permet de communiquer une remarque sur ses disponibilités (déplacements, contrainte particulière). #### Héritage entre niveaux > _Premium_ Un **groupe** hérite des contraintes de sa **classe** et de ses **groupes parents** (voir [Hiérarchie de groupes](#page-core-concepts.group-hierarchy)). Quand il faut **autoriser** localement un créneau malgré une contrainte héritée, le niveau **Cours autorisés** neutralise la contrainte héritée **sans modifier la source**. #### Effet à la génération Les contraintes **noires** sont **bloquantes** : une séance ne sera jamais posée sur un créneau indisponible. Les niveaux rouge et orange sont des **malus** que le solveur cherche à minimiser ; le vert est un **bonus**. Si les contraintes rendent une séance impossible à placer, la génération le signale — voir [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation). #### Voir aussi - [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) - [Hiérarchie de groupes](#page-core-concepts.group-hierarchy) - [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) - [Fenêtres de dates](#page-timetables.date-windows) - [Disponibilités des professeurs (vœux)](#page-glossary.wishes) ### 2.15 Année scolaire, semaines alternées, vacances *Source: `help/fr/core-concepts/school-year.md` · id: core-concepts.school-year · Plan: standard · Updated: 2026-05-12* L'**année scolaire** est le cadre temporel dans lequel se déroulent les emplois du temps. Elle pose trois questions structurantes : quand commence et finit l'année, quand sont les vacances, et — si l'établissement utilise des semaines alternées — comment leur alternance se cale sur ce calendrier. On parle aussi de calendrier académique. #### Année scolaire et bornes Une année scolaire a une **date de début** et une **date de fin**. Sur cette plage, les semaines sont numérotées. La publication d'un EDT s'applique à un sous-ensemble ou la totalité de ces semaines. Un EDT de type calendrier peut même être publié sur une période supérieure à l'année scolaire (typiquement un EMBA en 18 mois), mais seules les dates déclarées sur les années scolaires seront prises en compte. Sans année scolaire active, Omniscol ne déploie pas les modules quotidiens (emploi du temps, tableau de bord, absences) — c'est un prérequis. Voir [Année scolaire et vacances](#page-admin.school-year). Les années scolaires ne peuvent pas partager de dates. Généralement, une période de vacances les sépare, mais on peut tout à fait les enchaîner. Certains établissement de formation ne sont pas soumis à un cycle académique : l'année scolaire est alors simplement l'année civile, du 1er janvier au 31 décembre. #### Vacances Les **vacances** sont des plages de dates **inactives** : pas de cours, pas d'évènements, pas de comptabilisation. Deux sources : - **Vacances communes** — issues du calendrier officiel du pays (Toussaint, Noël, hiver, printemps). Omniscol peut vous en proposer selon le pays configuré, à vous de faire votre choix d'importation. - **Vacances spécifiques** — propres à l'établissement (journée pédagogique, examens, pont local). Vous les ajoutez à la main. Les deux types se cumulent indistinctement. En revanche, les vacances sont globales à tout l'établissement. Si cela ne concerne que certaines classes, utilisez une absence de classe, ou une période d'indisponibilité de la classe (potentiellement réutilisables pour plusieurs classes, par exemple qui se trouvent à l'étranger). #### Semaines alternées (A/B et au-delà) Certaines écoles ont des cours qui ne tournent qu'une semaine sur deux (voire plus) : EPS en double séance, vie de classe en alternance, options. Omniscol gère cela par **comptage des semaines** : les semaines de l'année ne sont pas étiquetées, elles sont comptées en continu. Chaque cours, lui, tourne sur son propre cycle — une semaine sur deux (A/B), une sur trois (A/B/C), etc. Un même créneau accueille alors des séances différentes selon le rang de la semaine dans le cycle, par exemple une séance les semaines impaires et une autre les semaines paires, au même jour et à la même heure. Comme le calcul est dynamique, des cours en A/B et des cours en A/B/C peuvent coexister dans une même classe. L'**activation** des semaines alternées et le **format d'affichage** de l'alternance (`A/B`, `1/2`…) se règlent dans les [paramètres généraux](#page-admin.parameters). L'écran de l'[année scolaire](#page-admin.school-year) sert ensuite à **forcer, sur la frise, les points où le comptage repart en semaine A** — par exemple pour reprendre proprement après des vacances ; pour rester lisible, la frise n'affiche l'alternance qu'en A/B. Pour **déclarer des séances alternées** sur un créneau, voir [Cours complexes](#page-core-concepts.complex-lessons). #### Plusieurs années en parallèle Omniscol gère **plusieurs années scolaires en parallèle** dans le même compte : par exemple l'année courante 2026-2027 et l'année suivante 2027-2028 en préparation. La notion d'**année scolaire courante** détermine ce que voient les utilisateurs au quotidien ; les autres restent accessibles en gestion / consultation administrative. #### Voir aussi - [Année scolaire](#page-glossary.school-year) - [Cours alternés](#page-glossary.alternate-lessons) - [Année scolaire et vacances](#page-admin.school-year) - [Publication d'un EDT](#page-timetables.publication) - [Cours complexes](#page-core-concepts.complex-lessons) ### 2.16 Ligne de temps et navigation temporelle *Source: `help/fr/core-concepts/timeline-navigation.md` · id: core-concepts.timeline-navigation · Updated: 2026-05-12* Tous les écrans Omniscol qui affichent un planning ou des statistiques portent une **ligne de temps** (la « banderole ») en haut de page. C'est avec elle qu'on **navigue dans le temps** : choisir l'année scolaire, la période affichée, et — sur certains écrans — passer d'une vue semaine à une vue mois ou année. Cette page explique les principes communs ; chaque module a ses spécificités qu'on retrouve sur sa page dédiée. #### Boutons de la ligne de temps La ligne de temps expose des **flèches gauche / droite** des deux côtés opposés : - **flèche gauche** ← revient à l'**année scolaire précédente**, - **flèche droite** → avance à l'**année scolaire suivante** (année scolaire suivante en préparation, par exemple). L'année (ou la période) **affichée actuellement** est généralement nommée en clair au dessus de la ligne de temps. #### L'oubli classique : la flèche droite > Le module **Gestion des EDT** affiche **par défaut l'année scolaire > courante**. Quand un planificateur prépare la rentrée suivante, > il doit **explicitement cliquer la flèche droite** de la > ligne de temps pour basculer sur l'année scolaire suivante avant de > pouvoir répartir / publier son EDT dessus. Il est aussi possible de > naviguer d'une année à l'autre, sur cet écran spécifique, en cliquant > sur l'année scolaire. La courante est en vert, la suivante en orange. #### Vues temporelles selon le module Tous les modules n'exposent pas les mêmes granularités : | Module | Vue défaut | Autres vues | | --- | --- | --- | | **EDT** | Semaine | Jour, mois | | **Tableau de bord** | Semaine | Mois, année, plage libre date à date | | **Gestion des absences** | Semaine | Mois, année, plage libre date à date | | **Service du personnel** | Semaine | Jour | | **Gestion des EDT** | Année scolaire entière | | | **Édition d'un EDT calendrier** | Semaine | Mois | | **Disponibilités horaires calendaires** | Semaine | Mois, année scolaire, semaine-type | Les **boutons de bascule de vue** sont à côté de la ligne de temps, en général au-dessus à gauche. Les vues `année` et `plage libre de date à date` sont surtout présentes dans le **tableau de bord** où elles servent aux statistiques inter-période. #### Année scolaire affichée par défaut L'**année scolaire courante** (configurée dans [Administration](#page-admin.school-year)) est **affichée par défaut** dans tous les modules pour tous les utilisateurs. - Les professeur et élève en consultation d'EDT ne voient **que l'année courante**. Pas d'accès aux années antérieures ou préparatoires côté portail. C'est volontaire : pour eux, l'EDT c'est aujourd'hui. - Les **absences** ne peuvent être déclarées **que sur l'année scolaire courante**. Vous ne pouvez pas déclarer rétroactivement une absence sur une année passée, ni anticiper sur l'année suivante. - Les **administrateurs** peuvent en revanche **naviguer** entre années via la ligne de temps — d'où l'intérêt de comprendre les flèches. L'année scolaire courante est aussi celle prise en compte pour les exportations et synchronisation avec les logiciels externes. #### Quand on bascule l'année scolaire courante Enchaînement typique : 1. **Année N en cours**. Vous travaillez en parallèle sur l'année N+1 dans [Gestion des EDT](#page-timetables.overview), via la flèche droite. Tous les utilisateurs voient encore l'année N sur leurs portails et leurs absences. 2. **Préparation finale** de la rentrée N+1 : l'EDT N+1 est publié sur les semaines correspondantes (mais l'année courante reste N). 3. **Juste avant la rentrée**, quand vous êtes prêt à ce que tout le monde bascule sur N+1 : changement de l'année scolaire courante dans [Administration → Année scolaire](#page-admin.school-year). 4. **Effet immédiat** : tous les utilisateurs voient désormais N+1 par défaut. Les professeur et élève accèdent à leur nouvel EDT. Les absences se déclarent maintenant sur N+1. Le moment exact de la bascule dépend de votre établissement — souvent **la veille de la rentrée** quand tout est validé, parfois **le matin de la rentrée** pour laisser une marge de contrôle. Pas d'urgence : vous gardez l'accès en consultation sur l'année passée comme historique. #### Année scolaire ≠ année civile Une **année scolaire** dans Omniscol n'est pas forcément calée sur septembre → août. Cas particuliers fréquents : - **Organismes de formation continue** — souvent calés sur l'**année civile** (1er janvier → 31 décembre). Définissez votre année scolaire avec ces dates dans [Administration → Année scolaire](#page-admin.school-year) ; tout fonctionne pareil. - **Universités** à semestres décalés ou cycles long (modules intensifs sur 18 mois) — vous pouvez définir des années scolaires de longueur non standard. #### Voir aussi - [Année scolaire](#page-core-concepts.school-year) - [Année scolaire et vacances](#page-admin.school-year) - [Publier (activer) un emploi du temps](#page-timetables.publication) - [Préparer la rentrée suivante](#page-timetables.next-school-year) ### 2.17 Rechercher et filtrer dans les listes *Source: `help/fr/core-concepts/search-and-filter.md` · id: core-concepts.search-and-filter · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-27* La même barre de recherche équipe la plupart des listes d'Omniscol (salles, professeurs, classes, matières, ressources, élèves…) : elle combine une recherche **textuelle** et, là où une valeur chiffrée existe, une condition **numérique**. Sur les **salles**, cette condition porte sur la **capacité** — c'est l'usage le plus complet, détaillé ici. Vous retrouvez cette barre dans l'onglet Salles du Tableau de bord comme dans le **sélecteur de salle** d'une séance, quand vous affectez ou changez une salle dans l'EDT (Affecter une salle de classe). #### Recherche textuelle La recherche textuelle fonctionne sur **toutes ces listes**. Sur les salles, elle porte sur le nom de la salle, le site, le bâtiment, la spécialisation ou les tags renseignés dans Omniscol ; sur les autres listes, sur les champs affichés (nom, code, etc.). Exemples : - `nord` affiche les salles dont les informations contiennent `nord`. - `laboratoire chimie` affiche les salles qui correspondent aux deux termes. - `amphi, gymnase` affiche les salles correspondant à `amphi` ou à `gymnase`. #### Filtre de capacité (salles) Sur les listes de salles, les comparateurs numériques filtrent sur la capacité de la salle : - `>50` : capacité strictement supérieure à 50 ; - `>=50` : capacité au moins égale à 50 ; - `<25` : capacité strictement inférieure à 25 ; - `<=100` : capacité au plus égale à 100 ; - `=30` : capacité exactement égale à 30 ; - `50-100` : capacité comprise entre 50 et 100 ; - `50-` : capacité égale ou supérieure à 50 ; - `-25` : capacité égale ou inférieure à 25. #### Combinaisons utiles Les espaces ajoutent des critères à respecter ensemble. Les virgules séparent des possibilités. - `>50 site nord` : salles de plus de 50 places liées au site nord. - `<=30 laboratoire` : petites salles de type laboratoire. - `amphi, >100` : salles contenant `amphi` ou salles de plus de 100 places. - `bâtiment A informatique` : salles liées au bâtiment A et à l'informatique. #### Pourquoi bien renseigner les salles Les filtres deviennent plus précis lorsque les sites, bâtiments, spécialisations et tags sont tenus à jour. Ces informations améliorent les recherches dans l'EDT, les statistiques de salles et les analyses d'occupation des bâtiments. #### Voir aussi - [Statistiques salles](#page-dashboard.classrooms) - [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) - [Sites, salles et ressources](#page-timetables.sites-rooms) ### 2.18 Collaboration entre administrateurs *Source: `help/fr/core-concepts/collaboration.md` · id: core-concepts.collaboration · Audience: admin · Feature: collab · Updated: 2026-06-13* > **Premium** L'option **Collaboration temps réel** permet à plusieurs administrateurs de travailler simultanément sur le même compte Omniscol : chacun voit la présence des autres en direct, et le serveur fusionne les actions concurrentes. #### La présence en temps réel En haut de l'écran, un indicateur sous forme de **disque avec initiales** apparaît pour chaque autre administrateur connecté au compte en même temps que vous (le vôtre est en bleu clair, et les disques se superposent quand vous êtes nombreux). Survolez-les : une infobulle donne le nom de chaque personne et **l'écran qu'elle a ouvert en direct**. Un indicateur passe **au rouge** lorsqu'un autre administrateur ouvre le **même écran d'édition** que vous — construction d'un emploi du temps (sites, classes, groupes, répartition des heures), réorganisation, service du personnel, utilisateurs, matières ou paramètres. C'est le signal d'un **risque de modification simultanée**. Rien ne vous bloque pour autant : le serveur **fusionne les actions concurrentes** autant que possible, pour que chacun conserve ses modifications sans écrasement silencieux. Cependant, modifier exactement le même champ d'un utilisateur ou d'une séance, ou encore importer des données massives, mène forcément à un conflit : le dernier qui modifie gagne. L'indicateur rouge est une invitation à vous coordonner pour ne pas travailler de manière concurrente au même endroit, sur les mêmes données, en même temps. #### Quand l'utiliser - **Grosse école avec plusieurs gestionnaires** — chacun s'occupe d'un département, d'une promotion ou d'un site, mais tous travaillent dans Omniscol en même temps. - **Périodes intenses** — construction de la rentrée, basculement d'une session d'examens, traitement d'une vague d'absences. - **Coordination en réunion** — l'équipe se réunit autour d'une décision et plusieurs participants modifient sur leurs postes : les disques de présence permettent de se répartir les zones. #### Limite de synchronisation Les disques de présence sont relayés en temps réel. En revanche, la vue métier ouverte par un autre utilisateur n'est pas forcément rafraîchie automatiquement après votre sauvegarde. Si un collègue vient de modifier une donnée que vous consultez, rechargez la vue ou rouvrez l'objet avant de prendre une décision dessus. #### Bonnes pratiques - **Définir des périmètres** : qui s'occupe de quoi. Le périmètre peut être informel (par e-mail), ou matérialisé via les [rôles personnalisés](#page-admin.customroles). - **Communiquer hors de l'app** — gardez un canal de coordination séparé pour les décisions métier ; les indicateurs de présence ne remplacent pas une consigne de travail. - **Éviter d'éditer la même structure en même temps** : si vous êtes deux à toucher la liste des élèves d'une classe au même moment, le risque de conflit augmente. Découpez les sous-tâches par périmètre. #### Procédure — Coordonner une rentrée à trois administrateurs 1. **Sur les grosses écoles**, la construction de la rentrée mobilise plusieurs administrateurs en parallèle. L'option **Collaboration temps réel** ajoute la présence en temps réel et la fusion des actions concurrentes. 2. **Définissez les périmètres** au préalable (en réunion ou par e-mail) : qui gère quel département / promotion / site. Vous pouvez compléter cette organisation avec les [rôles personnalisés](#page-admin.customroles), qui limitent les modules et opérations accessibles à chaque compte ; la répartition par département ou par site reste, elle, une convention d'équipe. 3. **Tout le monde se connecte** sur le compte Omniscol. En haut d'écran, **les indicateurs aux initiales** des autres administrateurs connectés apparaissent en temps réel. Au survol, le nom et l'écran courant de chacun. 4. **Signal de conflit** : un indicateur passe au **rouge** quand deux administrateurs ouvrent le même écran d'édition (les mêmes classes, la même réorganisation…). C'est le signe d'un risque de modification simultanée, visible par tous les administrateurs concernés. 5. **Le serveur fusionne** les actions concurrentes : rien ne vous bloque pendant l'édition et chacun conserve ses modifications, autant que possible. L'indicateur rouge vous invite à vous coordonner avant de toucher au même endroit. 6. **Bonnes pratiques** : gardez un canal de coordination séparé et découpez les sous-tâches par périmètre (un administrateur par département). Évitez à deux d'éditer la même structure (liste d'élèves d'une classe par exemple) au même moment. Après une modification faite par un collègue, rechargez la vue concernée avant de considérer les données affichées comme à jour. #### Voir aussi - [Plans et options Omniscol](#page-overview.plans-and-options) - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Rôles personnalisés](#page-admin.customroles) --- ## 3. Création d'un emploi du temps (module Gestion des EDT) ### 3.1 Vue d'ensemble du module Gestion des EDT *Source: `help/fr/timetables/overview.md` · id: timetables.overview · Audience: admin · Updated: 2026-06-13* Le module **Gestion des EDT** est le cœur d'Omniscol : c'est là qu'on crée les emplois du temps, qu'on les configure, qu'on les génère et qu'on les publie. Pour un EDT de type récurrent (hebdomadaire/cyclique), il s'utilise **occasionnellement** (typiquement avant la rentrée, au moment de créer un trimestre ou semestre différent, et lors de modifications structurelles), pas quotidiennement (pour ça, c'est le module [Emploi du temps](#page-schedules.consult-and-filter)). Pour un EDT de type calendrier, dans l'éducation supérieure, c'est au contraire l'écran principal de travail de toute l'équipe de planification, au quotidien. #### Flux de planification Construire un EDT n'est pas une ligne droite : après la création et le paramétrage, le cœur est un **cycle** — placer quelques séances, générer, analyser, ajuster, reboucler — avant une frise linéaire qui démarre à la **publication** (la rentrée). ```mermaid flowchart LR A["Création"] --> B["Paramétrage
sites, salles, professeurs,
classes, groupes, cours"] B --> M["Placement manuel
ancres, verrous"] M --> G["Génération
auto/manuelle,
partielle ou complète"] G --> J["Analyse,
ajustements ciblés"] J -->|reboucler| G J --> P["Publication
= début d'année scolaire"] P --> E["Exploitation"] E --> Mod["Modifications
au fil de l'année"] Mod -.->|exception| J ``` Vous revenez en arrière à tout moment, sauvegardez en cours de route, dupliquez un EDT pour en créer une variante. Le cœur du cycle est détaillé dans [Génération automatique](#page-timetables.generation) et [Positionnement manuel](#page-timetables.manual-placement) ; après la rentrée, les retouches passent par [Modifications ponctuelles](#page-schedules.ad-hoc-changes). #### Plusieurs EDT en parallèle Vous pouvez avoir plusieurs EDT dans votre compte : - des **brouillons** non publiés (pour préparer la rentrée pendant que l'année en cours fonctionne), - des EDT pour des **périodes** différentes (S1, S2…), - en Premium, des EDT **simultanément actifs** sur les mêmes semaines (par exemple, un EDT hebdomadaire matinal + un EDT calendrier après-midi) — voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). Cette possibilité peut aussi être ouverte contractuellement sur certains comptes Standard. #### Étapes détaillées Chacune fait l'objet d'une page dédiée : Le **prérequis** : [Prérequis pour créer un EDT](#page-timetables.prerequisites). Ensuite, huit étapes : 1. [Paramètres généraux](#page-timetables.general-settings) 2. [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) 3. [Affecter les professeurs](#page-timetables.assigning-teachers) 4. [Créer les classes et leurs groupes](#page-timetables.creating-classes) 5. [Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups) 6. [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) 7. [Génération automatique](#page-timetables.generation) 8. [Publier (activer) un emploi du temps](#page-timetables.publication) À tout moment, vous pouvez : - **Visualiser** un EDT (mode lecture seule), pour vérification. - **Réorganiser** un EDT (mode édition rapide), pour ajuster les positions des séances. - **Dupliquer** un EDT (créer un brouillon à partir d'un EDT existant). - **Importer** ou **exporter** la configuration des cours en tableur (cf. [Import massif](#page-timetables.mass-import)). #### Démarrer rapidement Si c'est votre premier EDT : 1. Vérifiez d'abord que votre [compte est configuré](#page-getting-started.setup-school) (paramètres, année scolaire, matières, utilisateurs). 2. Cliquez sur Créer un EDT en haut à droite. 3. Choisissez le [mode d'EDT](#page-overview.timetable-modes) (hebdomadaire, cyclique, calendrier). 4. Suivez les étapes dans l'ordre. Si vous avez déjà des données dans un tableur (Excel, Google Sheets, export d'un autre logiciel), passez directement par [l'import massif](#page-timetables.mass-import) : Omniscol crée la structure pour vous, vous finalisez ensuite. #### Voir aussi - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) - [Cas particuliers et configurations avancées](#page-faq.edge-cases) ### 3.2 Prérequis pour créer un EDT *Source: `help/fr/timetables/prerequisites.md` · id: timetables.prerequisites · Audience: admin · Updated: 2026-05-10* Avant de créer un EDT, trois éléments doivent exister au niveau de l'école : #### 1. Au moins une année scolaire Sans année scolaire, pas de ligne de temps, donc pas de publication possible. Création dans Années scolaires. Voir [Année scolaire et vacances](#page-admin.school-year). #### 2. Les matières utilisées Omniscol pré-remplit la base de matières communes pour votre pays. Pour les disciplines spécifiques, créez les **matières personnalisées** dans Créer. ⚠ Soignez l'orthographe : Omniscol fait une copie interne au moment de l'affectation à un EDT, et un correctif ne se propage pas dans les EDT déjà publiés dans le présent ou le passé. Voir [Gérer les matières](#page-admin.subjects). #### 3. Les professeurs Créez tous les professeurs dans Administration > Professeurs (un par un ou en masse via [import](#page-getting-started.preparing-data)). Renseignez au moins prénom, nom, e-mail. Les matières enseignées et le service horaire sont optionnels mais utiles. Voir [Gérer les professeurs](#page-admin.teachers). #### Optionnel mais utile - **Étudiants** — pas nécessaires pour la création de l'EDT, mais utiles pour les EDT individuels après publication. - **Types de cours** (TD, TP, CM…) — si votre nomenclature pédagogique en utilise, créez-les dans Créer. - **Niveaux** — vérifiez que Administration > Paramètres contient les niveaux de classe que vous utiliserez. #### On peut commencer même sans tout Omniscol est **flexible**. Si vous n'avez pas tous les professeurs ou toutes les matières au moment de créer l'EDT, vous pouvez commencer et compléter en cours de route. C'est moins linéaire, mais cela fonctionne. Cependant, l'**année scolaire** est, elle, vraiment indispensable avant publication. #### Démarrer Une fois ces prérequis (au moins partiellement) en place : 1. Allez dans le module Gestion des EDT. 2. Cliquez sur Créer un EDT. 3. Choisissez le [mode d'EDT](#page-overview.timetable-modes). 4. Vous arrivez sur la page des [paramètres généraux](#page-timetables.general-settings). 5. Donnez-lui un label (ex. « EDT 2025-2026 », « S1 2025 ») et une description. #### Procédure — Vérifier les prérequis avant de créer un EDT 1. **Trois éléments doivent exister au niveau de l'école** avant qu'un EDT soit créable : une année scolaire, les matières, les professeurs. 2. **Année scolaire** : ouvrez Années scolaires. Vérifiez qu'au moins une année est définie, avec ses dates de début et fin et les vacances. Sans année, pas de ligne de temps, pas de publication. Voir [Année scolaire et vacances](#page-admin.school-year). 3. **Matières** : Omniscol pré-remplit la base pour votre pays. Si votre établissement a des matières spécifiques (`Économie domestique`, `Robotique`, `Mandarin avancé`), créez-les via Créer. ⚠ Soignez l'orthographe : Omniscol copie le nom dans chaque EDT, un correctif après création ne se propagera pas dans les publications du passé et du présent. 4. **Professeurs** : ouvrez Professeurs. Pour chaque professeur, au minimum prénom, nom, e-mail. Matières enseignées et service horaire sont optionnels mais utiles. Pour beaucoup de professeurs : import massif (cf. [Préparer les données](#page-getting-started.preparing-data)). 5. **Optionnel mais utile** : types de cours (TD, TP, CM…) via Créer si votre nomenclature en utilise. Niveaux de classe à vérifier dans paramètres généraux (Créer). 6. **Vous êtes prêt** : module **Gestion des EDT**, bouton Créer un EDT. Choisissez le mode ([modes d'EDT](#page-overview.timetable-modes)), donnez un label (`EDT 2026-2027`, `S1 2026`) et une description. Étape suivante : [paramètres généraux](#page-timetables.general-settings). #### Voir aussi - [Configurer le compte de l'école](#page-getting-started.setup-school) - [Étape suivante — Paramètres généraux](#page-timetables.general-settings) ### 3.3 Mode calendrier — options avancées *Source: `help/fr/timetables/calendar-mode.md` · id: timetables.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Le **mode calendrier** est l'un des trois types d'EDT supportés par Omniscol, à côté du mode hebdomadaire et du mode cyclique. Il s'utilise quand l'EDT ne suit pas de récurrence régulière : chaque séance a une date précise, sans schéma hebdomadaire répétitif. La création d'un EDT calendrier est incluse dans l'offre Premium, au même titre que les [disponibilités en mode calendrier](#page-timetables.calendar-wishes) et la publication de [plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) : sur un compte Premium, ces fonctions sont disponibles sans activation particulière. #### Ce que le mode calendrier permet spécifiquement - créer un EDT dont les séances sont datées individuellement ; - définir une plage de dates de début et de fin ; - utiliser des contraintes de dates quand elles sont configurées ; - générer seulement une fenêtre cible plus courte que la plage totale de l'EDT ; - demander au solveur de compacter les séances en début de période, en fin de période ou sans préférence de position ; - afficher, publier et consulter les séances comme les autres EDT mais sur un intervalle de dates ; - utiliser le mode hors-grille sur des classes calendrier, avec des heures de début et de fin explicites sur chaque séance. #### Fonctions complémentaires D'autres fonctions, décrites sur leurs pages dédiées, complètent naturellement un EDT calendrier : - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) pour publier plusieurs EDT sur une même période ; - [Disponibilités en mode calendrier](#page-timetables.calendar-wishes) pour collecter des disponibilités datées ; - [Groupes de groupes](#page-core-concepts.groups-of-groups) pour travailler avec des groupes transversaux. #### Quand préférer le calendrier au hebdomadaire - **Formations non récurrentes** : modules intensifs, séminaires, conférences à dates variables. - **Formation continue** : sessions qui ne tournent pas sur une année académique régulière. - **Vacataires intervenants** : chaque intervenant a un calendrier propre, pas un service hebdomadaire fixe. - **Cours de fin de cursus** : projets, soutenances, jurys. Voir [Mode calendrier](#page-higher-ed.calendar-mode) pour les cas typiques de l'enseignement supérieur. #### Procédure — Créer un EDT calendrier 1. **Créez un nouvel EDT** dans Gestion des EDT. À l'écran de sélection du type, choisissez **mode calendrier**. Indiquez les dates de début et de fin, puis validez. 2. **Configurez le calendrier** : label, description, jours ouvrés et structure horaire. Vous pouvez aussi déclarer des **[fenêtres de dates](#page-timetables.date-windows)** réutilisables, appliquées sur les contraintes horaires des salles, classes, matières et groupes. 3. **Saisissez les séances** à dates précises : date, horaires, groupe ou classe, professeur(s) et salle(s). Si une classe est en hors-grille, renseignez des heures de début et de fin explicites. 4. **Lancez la génération** si vous utilisez le solveur sur cet EDT. Les contraintes disponibles dépendent des données renseignées : professeurs, salles, dates, disponibilités et contraintes de calendrier. Pour un test ou une construction progressive, utilisez les options avancées pour limiter la fenêtre de dates générée ; activez le compactage si vous ne voulez pas que l'algorithme étale les séances sur toute la période disponible. 5. **Publiez et combinez** : vous pouvez publier ce calendrier en parallèle d'un EDT hebdomadaire régulier. Les personnes concernées voient les séances fusionnées à la consultation. Voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). #### Voir aussi - [Mode calendrier](#page-glossary.calendar-mode) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Disponibilités en mode calendrier](#page-timetables.calendar-wishes) - [Fenêtres de dates](#page-timetables.date-windows) - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) - [Mode calendrier pour formations non récurrentes](#page-higher-ed.calendar-mode){append=(enseignement supérieur)} ### 3.4 Disponibilités et contraintes en mode calendrier *Source: `help/fr/timetables/calendar-wishes.md` · id: timetables.calendar-wishes · Audience: admin/teacher · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ En **mode calendrier**, la planification se fait sur des **dates précises** plutôt que sur une semaine type récurrente. Cela change la façon dont s'expriment les **contraintes horaires**, sur deux plans distincts : - les **contraintes internes** des salles, classes, matières et groupes ; - les **disponibilités des professeurs**. En calendrier, on parle de **disponibilités** : le terme *vœux* reste réservé à la saisie d'un professeur sur semaine type, en amont de la planification, et soumis à la validation du planificateur. #### Contraintes horaires des salles, classes, matières et groupes Dès qu'un emploi du temps est de type calendrier, les contraintes horaires **internes** de ces entités sont automatiquement exprimées **par date**, et non plus sur une semaine type. Vous pouvez en plus indiquer une **récurrence sur semaine type** lorsqu'une contrainte se répète à l'identique d'une semaine à l'autre. Pour des périodes réutilisables — sessions d'examens, vacances propres à certaines classes, créneaux autorisés — appliquez une [fenêtre de dates](#page-timetables.date-windows) comme calque sur ces contraintes. #### Disponibilités des professeurs En semaine type, un professeur déclare une règle constante — *« je ne suis pas disponible le mercredi après-midi »*. En calendrier, la disponibilité se déclare **date par date**, ce qui capte des situations plus fines : - *« je suis indisponible le mercredi 12 mars matin uniquement »*, - *« je peux assurer un cours seulement entre le 20 et le 30 janvier »*, - *« je suis disponible 3 demi-journées par semaine, à choisir selon les semaines »*. C'est le mode à privilégier quand les disponibilités varient selon les semaines — typique de l'enseignement supérieur, des vacataires et de la formation continue. ##### Régler le mode de saisie Côté professeurs, réglez le paramètre Disponibilités des professeurs (paramètres généraux de l'école) sur **calendrier** ou **calendrier + hebdomadaire** pour coller à une planification sur dates précises. Le mode combiné laisse en plus le professeur indiquer simplement qu'il n'est **jamais disponible un certain jour de la semaine**, quelle que soit la date (des exceptions ponctuelles restent possibles) — l'équivalent, côté professeurs, de la récurrence sur semaine type des contraintes internes. ##### Niveaux de disponibilité L'écran de saisie utilise une **vue calendrier**. Le planificateur ou le professeur clique sur les dates concernées et qualifie le créneau : - **Indisponible** : indisponibilité bloquante — la génération n'y placera aucune séance ; - **Non souhaité** : contrainte forte, à éviter autant que possible ; - **Préféré** : préférence positive ; - **Gomme** : efface les disponibilités déjà posées sur la zone couverte. La saisie peut se faire à la journée, à la demi-journée ou au créneau horaire selon la granularité configurée pour l'école. ##### Pour qui - **Vacataires et intervenants externes** — n'ont pas un service hebdomadaire fixe. Voir [Intervenants externes (vacataires, visiting)](#page-higher-ed.external-faculty). - **Professeurs avec mi-temps thérapeutique ou aménagement spécifique** — semaines variables. - **Cours en formation continue** — chaque session est ponctuelle. - **Professeurs en année de mobilité partielle** — disponibles certaines semaines seulement. #### Procédure — Collecter les disponibilités d'un vacataire au calendrier 1. **Pour un vacataire qui n'a pas un service hebdomadaire fixe** (un intervenant externe par exemple), la saisie sur semaine type ne suffit pas. Le mode **calendrier** capture les disponibilités date par date. 2. **Activez le mode adapté** : réglez le paramètre Disponibilités des professeurs (paramètres généraux de l'école) sur **calendrier** ou **calendrier + hebdomadaire**, selon le besoin du compte. 3. **Ouvrez la saisie** au vacataire. Soit il se connecte avec son compte professeur, soit vous générez un **lien de partage direct** vers son écran de disponibilités (cf. [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability)). Le lien direct évite de créer un compte dédié quand ce flux est utilisé. Tout administrateur peut aussi rentrer les disponibilités par lui-même. 4. **Côté vacataire** : il voit un **calendrier annuel** plutôt qu'une grille hebdomadaire. Il clique sur les dates (ou demi-journées, ou créneaux horaires selon la granularité de l'école) et qualifie la zone avec les niveaux de disponibilité proposés. 5. **Vérifiez la consolidation** côté administration. Les disponibilités enregistrées sont relues par les écrans d'emploi du temps et par les diagnostics qui consultent les contraintes. 6. **Lancez la génération auto** sur les cours du vacataire : le solveur combine les priorités de disponibilité avec les autres contraintes du cours. Cas d'usage couverts : vacataires, mi-temps thérapeutique, formation continue, professeurs en mobilité partielle. #### Voir aussi - [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) - [Mode calendrier](#page-timetables.calendar-mode) - [Fenêtres de dates](#page-timetables.date-windows) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) ### 3.5 Fenêtres de dates *Source: `help/fr/timetables/date-windows.md` · id: timetables.date-windows · Audience: admin · Plan: premium · Updated: 2026-06-20* > **Premium** > _Premium_ Une **fenêtre de dates** est une période d'**inclusion** ou d'**exclusion** de dates, **réutilisable**, qui restreint les périodes pendant lesquelles certaines séances peuvent être planifiées. Vous la définissez une fois, puis vous l'appliquez comme un **calque** sur les contraintes horaires de plusieurs entités — classes, groupes, matières ou salles. Cette fonction ne concerne que les **EDT de type calendrier**. #### Deux types : autorisation ou exclusion - **Cours autorisés** — les séances ne peuvent être planifiées **que** pendant ces dates. - **Cours exclus** — les séances ne peuvent **pas** être planifiées pendant ces dates. #### Comment elles se combinent Plusieurs fenêtres peuvent s'appliquer à une même entité : - les fenêtres autorisées s'additionnent entre elles ; - les fenêtres exclues s'additionnent entre elles ; - en cas de chevauchement, **une exclusion l'emporte sur une autorisation**. #### Cas d'usage typiques - **Classes au même rythme d'alternance** — plusieurs classes ne suivent certains cours que sur des semaines précises (ou seulement en début ou en fin de semaines). Une fenêtre *autorisée* décrivant ces semaines, appliquée à toutes ces classes, évite de re-saisir le rythme classe par classe. - **Périodes d'examens** — une fenêtre *exclue* couvrant la session d'examens bloque temporairement les salles concernées, ou les classes, pour qu'aucun cours ordinaire n'y soit planifié. - **Vacances propres à certaines classes** — sur un campus à l'étranger, un groupe de classes suit un calendrier de vacances différent du reste de l'établissement. Une fenêtre *exclue* sur ces dates, appliquée à ces seules classes, neutralise la période sans toucher aux autres. #### Définir une fenêtre de dates Sur l'écran d'édition d'un EDT calendrier, dans la section Fenêtres de dates : 1. Ajouter ouvre le sélecteur de dates. 2. Donnez un **libellé** et choisissez le type — autorisation ou exclusion. 3. Sélectionnez les dates sur la grille calendrier : clic-glissé, semaine entière, colonne d'un jour, raccourcis semaines paires / impaires, ou inversion de la sélection. 4. Enregistrez : la fenêtre rejoint la liste réutilisable de l'EDT. #### Appliquer une fenêtre Une fois définie, la fenêtre est disponible dans les contraintes horaires des **classes, groupes, matières et salles** : sélectionnez-y une ou plusieurs fenêtres. La même fenêtre peut servir à autant d'entités que nécessaire — c'est tout l'intérêt du calque réutilisable. #### À la génération Le solveur traite les fenêtres comme des contraintes : il ne place une séance que dans les dates autorisées, et jamais dans les dates exclues. #### Voir aussi - [Mode calendrier](#page-timetables.calendar-mode) - [Disponibilités en mode calendrier](#page-timetables.calendar-wishes) - [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) - [Génération automatique](#page-timetables.generation) - [Positionnement manuel](#page-timetables.manual-placement) ### 3.6 Étape 1 — Paramètres généraux *Source: `help/fr/timetables/general-settings.md` · id: timetables.general-settings · Audience: admin · Updated: 2026-05-18* Sur l'onglet **Général**, vous fixez les paramètres globaux qui structurent l'EDT. Les valeurs pré-remplies viennent des [paramètres de l'école](#page-admin.parameters), que vous pouvez aussi ajuster en amont. #### Champs à renseigner 1. **Label** — nom de l'EDT (« EDT 2025-2026 », « S1 2025 »…). Visible partout. Modifiable. 2. **Description** — texte libre, utile quand on a plusieurs EDT. 3. **Affichage** — par défaut, une ligne par créneau horaire avec les heures à gauche. Vous pouvez choisir un style anglo-saxon avec périodes numérotées, ou un affichage calendrier avec heures rondes. 4. **Durée unitaire de cours** — durée de référence d'un créneau, éventuellement avec l'inter-cours. Si vos cours durent 55 min avec 5 min d'inter-cours, saisissez **60 min**. Si vos cours réguliers durent 1h30, saisissez **90 min**. 5. **Fractionnement** — en combien de sous-parties la durée unitaire peut-elle être découpée ? Pour pouvoir créer des séances de 1h, 1h30 ou 2h avec une durée unitaire de 60 min, choisissez **1/2**. Pour descendre au quart d'heure, choisissez **1/4**. - **Conseil** : ne descendez pas plus fin que nécessaire. Plus le fractionnement est fin, plus le calcul du solveur est long. 6. **Jours ouvrés** — cochez les jours de cours. Par défaut lundi à vendredi (sauf paramétrage pays différent — pays arabes, Israël…). 7. **Pour les EDT cycliques** — nombre de jours du cycle. 8. **Pour les EDT calendriers** — dates de début et de fin (modifiables plus tard) et éventuellement fenêtres de dates. #### Sauvegarder Le bouton Enregistrer en bas sauvegarde la configuration. #### Et ensuite Une fois ces paramètres validés, passez à l'étape suivante : [Sites, salles, ressources](#page-timetables.sites-rooms). > **Astuce.** Si vous migrez de système ou que vous souhaitez simplement > tester rapidement Omniscol, pour les grosses créations en masse de séances > (centaines d'un coup), l'[Import massif via tableur](#page-timetables.mass-import) > est plus rapide que la saisie écran par écran. Cependant, plus > vous rentrez de données structurelles en amont et meilleure sera l'importation. #### Procédure — Configurer les paramètres généraux d'un EDT 1. **Étape 1 de la création d'EDT** : fixer label, durée-type des cours, fractionnement, jours ouvrés. Ces choix structurent durablement l'EDT — autant les poser proprement dès le début. 2. **Label et description** : un nom parlant (`EDT 2026-2027`, `S1 2026 — promo M2 commerce`) et une description libre. Visible partout dans l'interface. Modifiable, mais évitez de renommer en production. 3. **Affichage** : ligne par créneau horaire (défaut) ou périodes numérotées (style anglo-saxon) ou calendrier avec heures rondes. Suivez la culture de votre établissement. 4. **Durée unitaire de cours** : la durée de référence d'un créneau. Cours de 55 min avec 5 min d'inter-cours → **60 min**. Cours réguliers de 1h30 → **90 min**. Si vous gardez une durée unitaire de 60 min, le fractionnement permet tout de même des cours de 1h30. 5. **Fractionnement** : en combien de sous-parties la durée unitaire peut-elle se diviser ? **1/2** pour des pas de 30 min avec une durée unitaire de 60 min, **1/4** pour des pas de 15 min. Plus c'est fin, plus le solveur a de possibilités à tester. 6. **Jours ouvrés** : cochez lundi à vendredi (défaut). Pays arabes, Israël : dimanche à jeudi. Pour les EDT **cycliques** : nombre de jours du cycle. Pour les EDT **calendriers** : dates de début et de fin (modifiables ensuite). 7. **Sauvegardez** via Enregistrer. Étape suivante : [Sites, salles, ressources](#page-timetables.sites-rooms). Pour les grosses créations en masse, voir [Import massif via tableur](#page-timetables.mass-import). #### Voir aussi - [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) - [Étape précédente — Prérequis](#page-timetables.prerequisites) - [Étape suivante — Sites](#page-timetables.sites-rooms) - [Paramètres généraux de l'école](#page-admin.parameters) ### 3.7 Étape 2 — Sites, grilles horaires, salles, ressources *Source: `help/fr/timetables/sites-rooms.md` · id: timetables.sites-rooms · Audience: admin · Updated: 2026-06-13* C'est sur l'onglet **Sites** que vous modélisez la dimension physique de votre établissement. #### Créer les sites Si tous vos cours ont lieu au même endroit : un site suffit. Cliquez Créer un site, donnez-lui un nom. Si vous êtes multi-sites : créez un site par lieu physique distinct. Renseignez les **temps de trajet** entre sites (matrice des durées). C'est essentiel — sans ces temps, le solveur peut placer un professeur à 9h à 10h sur le site A et à 10h05 sur le site B distant de 5km, ce qui est physiquement impossible. Ne confondez pas site et campus : un [campus](#page-glossary.campus) est un regroupement organisationnel configuré dans les paramètres généraux ; un site porte la grille horaire, les salles et les temps de trajet. Voir [Site](#page-glossary.site) pour les cas d'usage et limites (deux sites virtuels pour un même lieu, choix entre multi-sites et multi-comptes, etc.). #### Configurer la grille horaire Chaque site porte sa propre **grille horaire** : - heures de début / fin des créneaux, - pauses, - pause méridienne, - fermetures (mercredi après-midi, samedi…). Les séances standards sont rattachées aux créneaux de cette grille. Si vous modifiez ensuite l'heure d'un créneau, les séances placées dessus suivent la nouvelle grille. Les horaires personnalisés et les classes hors grille sont des cas particuliers décrits dans [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid). Omniscol devine automatiquement la grille à partir des informations saisies, mais relisez-la et personnalisez-la — c'est important pour le rendu et pour l'algorithme. Les créneaux devraient correspondre à la durée unitaire de cours renseignée dans l'écran précédent. Si vous avez indiqué 60 minutes, par exemple, pour une séance standard, alors chaque créneau sera considéré comme faisant 1 heure, peu importe les horaires effectivement renseignés — parfois 50 ou 55 minutes, cela peut être marginalement variable à cause des pauses. Si l'écart théorique/pratique est trop important, sur un créneau donné, les horaires pourraient passer en rouge pour vous avertir d'une mauvaise configuration. Ne déclarez pas les pauses comme des créneaux ! Tout créneau peut accueillir des séances (sauf si l'on indique la période comme indisponible). Une erreur fréquente est de croire que les horaires ont un impact direct : ce n'est pas le cas, Omniscol place les séances sur des créneaux, et les affiche ensuite avec les heures renseignées pour chaque créneau concerné. #### Saisir les salles Pour chaque site, créez les [salles](#page-glossary.classroom). Champs : - **Nom** (obligatoire), - **Capacité** (obligatoire — sans ce champ, le solveur ne peut pas vérifier le dimensionnement), - **[Spécialisations](#page-glossary.classroom-specialization)** (chimie, info, sport… libres), - Nombre maximal de classes pour une **[grande salle](#page-glossary.large-room)** (salle d'examen, théâtre, gymnase, piscine, extérieur). Ce champ n'apparaît qu'une fois une spécialisation renseignée, - **Un ou plusieurs campus** si la salle doit être privilégiée pour un pôle, une faculté ou une école dans l'attribution automatique, et pour certains filtres, - **Bâtiment** (optionnel), - **Contraintes horaires** (utile pour les salles partagées avec un autre établissement, ou les salles de sport extérieures), - **Tags / commentaire** (paper board, prises, ordinateurs… libres). L'association d'une salle à un ou plusieurs campus reste une **préférence de répartition**. Si aucune salle du campus n'est compatible ou disponible, Omniscol peut en attribuer une autre. Vous pouvez créer les salles **en masse** par copier-coller depuis un tableur. > _Premium_ ##### Multi-salles Omniscol permet d'affecter plusieurs salles à une même séance, avec capacité totale = somme des salles. Voir [Multi-salles](#page-glossary.multi-room) pour les cas d'usage typiques (examens en amphithéâtres dédoublés, CM retransmis, TP dédoublés, etc.). ##### Spécialisations Les **spécialisations** (champs libre) servent à indiquer qu'une matière requiert un type de salle particulier. Le solveur respecte strictement. ##### Grande salle Une salle spécialisée peut devenir une **[grande salle](#page-glossary.large-room)** : renseignez son Nombre maximal de classes pour qu'elle accueille plusieurs séances différentes au même moment (professeurs et groupes distincts), dans la limite de ce nombre et de sa capacité. C'est le cas des salles d'examen, théâtres, gymnases, piscines ou espaces extérieurs. Le champ n'apparaît qu'après avoir donné une spécialisation à la salle. #### Saisir les ressources Les [ressources](#page-glossary.resource) sont les équipements mobiles non rattachés à une salle particulière (vidéoprojecteurs portables, valises de tablettes, kits…). Pour chaque ressource : - **Nom**, - **Quantité disponible**. Une valise de 30 tablettes compte pour 1 (pas 30) — vous saisissez le nombre de valises. Inutile de modéliser les ressources dont vous avez « toujours assez » — ne le faites que pour les vraies limites partagées. > _Premium_ Les **sites**, **salles** et **ressources** peuvent être synchronisés depuis un système externe — chaque liste propose alors son bouton de synchronisation (Synchroniser, Synchroniser, Synchroniser). Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Et ensuite Étape suivante : [Affecter les professeurs](#page-timetables.assigning-teachers). #### Procédure — Créer un site et sa grille horaire 1. **Un site** modélise un lieu physique distinct, avec sa propre grille horaire (créneaux, pauses, déjeuner). Au moins un site est obligatoire. Cette procédure décrit la création d'un site et ses dépendances minimales (salles, ressources). 2. **Cliquez sur Créer un site** et donnez-lui un nom (`Bâtiment principal`, `Antenne Paris`…). Si vous démarrez mono-site, un seul site suffit. Pour le multi-sites, ajoutez-en autant que de lieux physiques à distinguer. 3. **Configurez la grille horaire** : heures de début / fin des créneaux, pauses inter-cours, pause méridienne, fermetures (mercredi après-midi, samedi…). 4. **Saisissez les salles** : nom, capacité (champ critique pour le solveur), spécialisations (chimie, info, sport…), horaires d'ouverture, campus si votre organisation en utilise. Le campus sur une salle sert à la privilégier pour certaines classes, sans bloquer les autres salles compatibles. Une salle appartient à un seul site — pour une salle utilisée par plusieurs sites virtuels, voir [Sites, salles, ressources — concepts](#page-core-concepts.sites-rooms-resources). 5. **Saisissez les ressources** (équipements mobiles) : nom + quantité disponible. Ne modélisez que les ressources à vraie limite partagée (vidéoprojecteurs nomades, valise de tablettes, kit de microphones), pas celles dont vous avez « toujours assez ». 6. **Si multi-sites, renseignez les temps de trajet** via la popup distances (demi-matrice triangulaire). Sans ces temps, le solveur téléporte — voir [Multi-sites : politique et temps de trajet](#page-core-concepts.sites-rooms-resources) pour les nuances. #### Voir aussi - [Sites, salles, ressources — concepts](#page-core-concepts.sites-rooms-resources) - [Campus](#page-glossary.campus) - [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) - [Multi-salles](#page-glossary.multi-room) - [Spécialisation de salle](#page-glossary.classroom-specialization) ### 3.8 Étape 3 — Affecter les professeurs *Source: `help/fr/timetables/assigning-teachers.md` · id: timetables.assigning-teachers · Audience: admin · Updated: 2026-06-13* Sur l'onglet **Professeurs**, vous indiquez quels professeurs sont **mobilisés** sur cet EDT — par opposition à ceux simplement déclarés au niveau de l'école. #### Affecter Cliquez sur Affecter des professeurs. La liste des professeurs disponibles s'affiche. Sélectionnez ceux concernés. Vous pouvez **affecter par tranches** : commencer avec les professeurs définitivement recrutés, puis ajouter les nouveaux au fur et à mesure des recrutements. > _Premium_ Les professeurs peuvent être synchronisés depuis un système externe : Synchroniser ouvre le rapprochement. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Professeurs virtuels Le bouton Virtuel crée un **professeur virtuel** pour représenter provisoirement un poste à pourvoir. Pratique pour préparer la rentrée sans attendre que les recrutements soient finalisés. Une icône [ghost] apparaît à côté du nom. Quand le recrutement est finalisé, le bouton Transformer en bout de ligne « réifie » le professeur virtuel : choisissez le vrai professeur dans la liste, et toutes ses références basculent vers lui — les affectations aux matières dans les classes comme toutes les séances de cours. Le professeur virtuel disparaît alors définitivement. **L'action est irréversible.** #### Remplacement définitif d'un professeur Le même bouton Transformer s'applique aussi à un professeur **réel** : il transfère l'intégralité de ses cours vers un autre professeur de la liste — déjà affecté à cet EDT ou simplement déclaré au niveau école — puis retire le professeur d'origine de l'EDT. C'est le geste du **remplacement définitif**, utile lorsqu'un professeur prévu fait défaut, est muté ou doit abandonner ses cours : toutes les séances et affectations passent au remplaçant en une seule opération. **L'action est irréversible.** #### Disponibilités Si vous avez activé la saisie des disponibilités via le paramètre Disponibilités des professeurs (cf. [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability)), c'est ici que vous **vérifiez et validez** les disponibilités saisies par les professeurs. Vous pouvez aussi : - modifier le **service horaire** (nombre d'heures hebdomadaires prévues, repris dans les nouveaux EDT), - attribuer une **salle préférée** (utilisée comme priorité par le solveur pour les cours du professeur, sauf si la classe a sa propre salle dédiée). #### Distinction école / EDT Important : la fiche professeur **au niveau école** porte les informations identifiantes (nom, e-mail, login) et reste stable. La fiche professeur **au niveau EDT** porte les informations *liées à cet EDT* (disponibilités, salle préférée, service horaire). Conséquence : si vous corrigez le nom d'un professeur dans Professeurs après création d'EDT, l'EDT garde le nom historique. C'est un choix volontaire pour la traçabilité, mais cela suppose que le nom soit bien orthographié au moment de la création de l'EDT. #### Vacataires (intervenants externes) Pour les vacataires, voir [glossaire](#page-glossary.external-teacher). Ils se créent comme des professeurs ordinaires. > _Premium_ Le marqueur **Professeur externe** de la fiche utilisateur ajoute une petite icône [user-tie] qui distingue les vacataires des permanents dans certains écrans. Pour les visiting professors qui interviennent ponctuellement (une ou deux séances), vous pouvez selon les cas : - les ajouter en co-animateur d'une séance (cf. [Co-enseignement](#page-glossary.co-teaching)), - créer un cours séparé pour leur intervention (mode calendrier surtout). #### Et ensuite Étape suivante : [Créer les classes et leurs groupes](#page-timetables.creating-classes). #### Procédure — Affecter les professeurs à un EDT 1. **Étape 3 de la création d'EDT** : indiquez quels professeurs sont **mobilisés** sur cet EDT (par opposition à tous ceux déclarés au niveau école). 2. **Affectez les professeurs définitivement recrutés** via Affecter des professeurs. La liste des professeurs déclarés au niveau école s'affiche. Sélectionnez ceux concernés par cet EDT. Vous pouvez **affecter par tranches** : commencez avec les permanents, ajoutez les nouveaux au fur et à mesure des recrutements. 3. **Pour tout poste à pourvoir**, créez un **professeur virtuel** via Virtuel. Une icône [ghost] le distingue. Pratique pour préparer la rentrée sans bloquer sur les recrutements. Quand le recrutement est finalisé, le bouton Transformer en bout de ligne bascule toutes ses références vers le vrai professeur choisi dans la liste. Les cours déjà positionnés sont conservés. Le même bouton sert au **remplacement définitif** d'un professeur réel par un autre (mutation, désistement…). **Précisez les matières enseignées** par le professeur virtuel sur cet EDT : il sera proposé en priorité pour ces matières, lors des affectations. 4. **Disponibilités** : pour un EDT hebdomadaire, vous **vérifiez et validez** les saisies. Pour tout type d'EDT, vous pouvez **consulter et renseigner** toutes les disponibilités. Voir [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability). 5. **Salle préférée** (optionnel) : si le professeur a une salle dédiée, attribuez-la ici via [location-pin]. Le solveur la priorise pour ses cours, sauf si la classe a déjà sa propre salle dédiée (priorité classe > priorité professeur). 6. **Étape suivante** : [créer les classes et leurs groupes](#page-timetables.creating-classes). #### Voir aussi - [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) - [Gérer les professeurs au niveau école](#page-admin.teachers) - [Professeur](#page-glossary.teacher) - [Vacataire](#page-glossary.external-teacher) ### 3.9 Étape 4 — Créer les classes et leurs groupes *Source: `help/fr/timetables/creating-classes.md` · id: timetables.creating-classes · Audience: admin · Updated: 2026-05-10* C'est l'étape la plus structurante. Sur l'onglet **Classes**, vous créez les classes, leurs groupes, et vous renseignez les volumes horaires par matière. #### 1. Créer les classes Cliquez sur Créer une classe. Pour chaque classe : - **Nom** (obligatoire), - **Niveau** (parmi les niveaux existants ; cliquez sur Créer pour en ajouter un), - **Campus** si votre établissement utilise cette organisation, - **Site** par défaut (le solveur ne cherchera que parmi les salles de ce site, sauf affectation explicite d'une séance sur un autre site), - **Salle dédiée** (optionnel — les cours s'y dérouleront par défaut), - **Effectif théorique** (optionnel mais recommandé pour le dimensionnement des salles). Le campus et le site répondent à deux questions différentes : le campus indique à quelle entité de l’établissement appartient la classe ; le site indique où elle est physiquement située et quelles salles sont utilisées par défaut. ⚠ Si vous oubliez d'attribuer le site, les cours ne pourront pas être positionnés (faute de salles et de grille horaire). Une alerte vous le rappelle. #### 2. Créer les groupes pour chaque classe Cliquez sur le bouton Ajouter un groupe d'une classe. Créez autant de groupes qu'il y a de cours où les étudiants ne sont pas en classe entière. Pour chaque groupe : - **Nom** et **code** (jouez sur les deux pour identifier facilement), - **Effectif théorique**, - Si plusieurs groupes doivent ou peuvent être au **même créneau** (TP-A et TP-B, ou LV2 Esp et LV2 All), créez une [partition](#page-core-concepts.class-divisions) via Ajouter une partition. Astuce : si les groupes d'une classe sont (presque) identiques à ceux d'une autre, utilisez le bouton Importer d'une autre classe pour importer la configuration et l'ajuster. > _Premium_ Les **classes** et les **groupes** peuvent être synchronisés depuis un système externe : Synchroniser et Synchroniser ouvrent le rapprochement. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### 3. Configurer les matières par classe (les cours) Allez dans l'onglet **Matières** (ou le bouton Cours d'une classe). Chaque matière que vous affectez ainsi à une classe — avec son volume horaire et, éventuellement, son type (TD, TP, CM…) — constitue un **[cours](#page-glossary.course)** : l'unité de base de votre offre pédagogique (« les mathématiques en 3e A, 4 h par semaine, en TD »). L'interface parle de « matières » à cet endroit, mais c'est bien la notion de cours que vous construisez ; l'ensemble des cours d'une classe en forme le **programme** (sa maquette, sa plaquette). Les [séances](#page-glossary.lesson) que vous placerez ensuite sur la grille en sont les occurrences. Pour chaque cours, indiquez : - **Nombre d'heures** par semaine, - **Type de cours** éventuel (TD, TP, CM…), - **Professeur(s)** affecté(s), - **Pondération pédagogique** (le solveur tente d'équilibrer la matière sur les jours), - **Salle spéciale requise** (parmi les [spécialisations](#page-glossary.classroom-specialization) du site), - **Préférences de placement** (éviter les mathématiques en fin de journée, sport aux heures chaudes…). Astuce : utilisez Importer d'une autre classe pour réutiliser une configuration de matières d'une autre classe. La boîte de dialogue permet même d'importer une classe d'un autre emploi du temps, et on peut étendre le périmètre : avec ou sans remplacement de la liste existante, et avec ou sans les professeurs associés, les groupes, les incompatibilités, les contraintes horaires de la classe. On peut aller jusqu'à dupliquer la répartition en séances, là encore en choisissant l'extension de l'importation. En ce qui concerne les positions des séances, sur un emploi du temps de type calendrier, il est possible de décaler les journées (cela recalcule alors la succession selon les jours ouvrés de la source et de la cible). C'est très pratique pour les organismes qui ont des sessions complètes récurrentes, par exemple de six ou huit semaines consécutives, plusieurs fois dans l'année. #### 4. Incompatibilités entre matières Une [incompatibilité](#page-glossary.incompatibility) interdit à une matière d'en **suivre** une autre. La règle est **orientée** : « la matière A ne doit pas être suivie de la matière B » n'est pas la même chose que l'inverse. Le cas typique : « pas de mathématiques juste après le sport ». Déclarez-les dans l'onglet **Incompatibilités** de la classe. Au moment de créer la règle, choisissez la **fenêtre** d'application : - **Consécutif** — pas dans la séance qui suit immédiatement, le même jour. Ex. : ne pas enchaîner une matière exigeante sur une matière éprouvante, « pas de mathématiques juste après le sport ». - **Demi-journée** — pas plus tard dans la même demi-journée. Ex. : alterner les langues, « pas d'espagnol après l'anglais » — et, pour une exclusion mutuelle, ajoutez la règle inverse « pas d'anglais après l'espagnol ». - **Journée** — pas plus tard dans la même journée. Ex. : étaler les apprentissages artistiques, « pas de dessin après la musique le même jour ». Pour ce genre d'équilibrage, la **pondération pédagogique** de la matière est souvent une option plus simple. - **Semaine** — pas plus tard dans la même semaine. Ex. : respecter l'ordre cours magistral puis travaux pratiques, « pas de travaux pratiques de chimie avant le cours magistral de chimie ». - **Toujours** *(EDT calendrier)* — jamais après, sur toute la période : l'outil de **séquencement** des prérequis. Ex. : « pas de C++ avant le C », « pas de finance avant la comptabilité ». Quelques repères pour ne pas se tromper de réglage : - **Une matière à ne pas placer à un moment précis** (« pas de maths en première heure », « pas de sport en milieu de journée ») n'est **pas** une incompatibilité : utilisez les **contraintes horaires de la matière** ([clock]), qui portent sur le placement absolu d'une seule matière. - **Empêcher qu'une matière revienne deux fois le même jour** se règle plus simplement avec l'option globale d'**auto-incompatibilité** qu'avec des règles deux à deux. - Une incompatibilité est une contrainte **souple** (un malus que le solveur cherche à éliminer), pas un blocage : elle peut subsister dans l'EDT généré, où le [diagnostic](#page-glossary.diagnostic) la signale. Évitez d'en accumuler — chacune réduit la liberté du solveur. #### Et ensuite Étape suivante : [Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups), si vous avez des cours communs inter-classes ([cours transverses](#page-glossary.transverse-course)). Sinon, passez directement à [Répartir les heures](#page-timetables.hour-distribution). #### Procédure — Créer une classe avec ses groupes et partitions 1. **Une classe** regroupe les étudiants d'un même cursus. Elle se décompose en **groupes** (demi-classes, options, niveaux), avec des **partitions** pour déclarer les groupes mutuellement exclusifs au sein de la classe. 2. **Cliquez sur Ajouter une classe.** Renseignez nom (`6A`, `L1-Info`…), niveau (parmi ceux configurés), campus si vous l'utilisez, site par défaut, éventuellement salle dédiée + effectif théorique. Sans site, les cours ne pourront pas être positionnés — alerte explicite. 3. **Créez les groupes** de la classe. Un groupe par usage pédagogique distinct : `TP-A`, `TP-B` (demi-classes labos), `LV2 Allemand`, `LV2 Espagnol` (options), `Anglais Renforcé`, `Anglais Standard` (niveaux). Recommandation forte : **un groupe par cours distinct**, même si les étudiants sont les mêmes. 4. **Déclarez les partitions** — groupes mutuellement exclusifs. Sélectionnez les groupes (ex. `LV2 Allemand` + `LV2 Espagnol`), cliquez Ajouter une partition. Sans partition, le solveur traite deux groupes d'une même classe comme potentiellement conflictuels. 5. **Configurez les matières par classe** : volumes horaires hebdomadaires, professeurs affectés, type de cours par défaut. Les matières sont sélectionnées depuis le référentiel école (officielles ou personnalisées). 6. **Étape suivante** : [Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups) si vous avez des cours communs entre plusieurs classes, sinon directement [Répartir les heures](#page-timetables.hour-distribution). #### Voir aussi - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Partitions](#page-core-concepts.class-divisions) - [Campus](#page-glossary.campus) - [Classe](#page-glossary.class) - [Groupe](#page-glossary.group) ### 3.10 Étape 5 — Alignements et groupes de groupes *Source: `help/fr/timetables/alignments-and-groups-of-groups.md` · id: timetables.alignments-and-groups-of-groups · Audience: admin · Updated: 2026-05-10* Cette étape est **optionnelle** — passez-la si vous n'avez pas de cours communs inter-classes. Elle est nécessaire dès que des élèves de classes différentes doivent suivre **un même cours ensemble** (latinistes de plusieurs classes, options inter-classes, spécialités, etc.). #### Alignements Utilisables dans **tous** les types d'EDT, mais surtout pertinents pour les EDT **récurrents** (hebdomadaire / cyclique) avec des classes parallèles de structure identique. Voir la page de référence : [Alignements de groupes](#page-core-concepts.alignments). Synthèse : - Créez d'abord, dans chaque classe concernée, un **groupe** au nom identique (« Latinistes » dans 8A, dans 8B, dans 8C). - Puis sur l'onglet **Alignement de groupes**, cliquez sur Ajouter un alignement et liez les groupes des trois classes. - Vérifiez que les **volumes horaires sont identiques** entre les groupes alignés (sinon Omniscol émettra un diagnostic d'incohérence). #### Groupes de groupes Voir la page de référence : [Groupes de groupes](#page-core-concepts.groups-of-groups). Synthèse : - Onglet **Groupe de groupes**. - Créez le groupe de groupes en sélectionnant les groupes membres (de la même classe ou de classes différentes). - Assignez ensuite les cours au groupe de groupes — ils apparaîtront dans toutes les classes parentes. - Modifiable à tout moment (ajout / retrait de groupes membres). #### Affectation directe de plusieurs groupes à une séance Il existe aussi un raccourci pour **affecter plusieurs groupes directement à une séance**, sans créer de groupe de groupes nommé. Ce mode est pratique pour un besoin **ponctuel** ou exploratoire : - vous cochez plusieurs groupes dans le sélecteur de groupe de la séance ; - la séance est alors partagée entre ces groupes sans créer une entité nommée dédiée ; - vous pouvez revenir ensuite à un groupe simple, ou formaliser le cas en groupe de groupes si le besoin devient durable. En revanche, c'est **moins lisible** et **moins réutilisable** qu'un groupe de groupes nommé : on perd l'intention métier explicite et il est plus difficile de repérer, rééditer ou réappliquer le même regroupement sur plusieurs séances. #### Quand utiliser l'un ou l'autre | Situation | Outil | | --- | --- | | Cours commun récurrent en mode hebdomadaire / cyclique | **Alignement** | | Cours commun ponctuel ou évolutif | **Groupe de groupes** | | Composition susceptible de bouger | **Groupe de groupes** | | Besoin ponctuel sans structure nommée | **Affectation directe de plusieurs groupes** | | Configuration figée définitive | **Alignement** ou **groupe de groupes** | #### Pièges classiques - **Volumes différents entre les groupes alignés.** Si un groupe a 3h de latin et un autre 2h, l'alignement émet un diagnostic. Soit on harmonise, soit on désaligne. - **Cours commun à 2 classes seulement** sur 3 alignées. Pour qu'une des classes ait son cours indépendant à ce créneau, il faut dupliquer son groupe et désaligner le clone. - **Élèves en double inscription** (par exemple un élève qui suit le latin dans 8A mais est inscrit en 8B). Solution : créer un groupe « Latinistes » dans 8A *et* dans 8B avec le même élève dans les deux, puis aligner. #### Et ensuite Étape suivante : [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution). #### Procédure — Créer un alignement inter-classes 1. **Un alignement** déclare que plusieurs groupes de **classes différentes** doivent suivre un même cours, à la même heure, dans la même salle, avec le même professeur. Cas typique : les latinistes de 8A, 8B, 8C. 2. **Prérequis** : créez d'abord, **dans chaque classe concernée**, un groupe au **même nom logique** (`Latinistes` dans 8A, dans 8B, dans 8C). Voir [Créer une classe avec ses groupes](#page-timetables.creating-classes). 3. **Onglet Alignement de groupes** → cliquez sur Ajouter un alignement. Sélectionnez les groupes des classes concernées (`Latinistes 8A`, `Latinistes 8B`, `Latinistes 8C`). Validez. 4. **Vérifiez les volumes horaires** : ils doivent être identiques entre les groupes alignés (3 h de latin partout, par exemple). Sinon, Omniscol émet un diagnostic d'incohérence. 5. **Mode calendrier** : préférez les [groupes de groupes](#page-core-concepts.groups-of-groups) qui sont plus flexibles (modifiables a posteriori, ajout / retrait de groupes sans dupliquer). Bouton Ajouter un groupe de groupes sur l'onglet dédié. Si le besoin est **ponctuel**, vous pouvez aussi affecter plusieurs groupes directement à la séance depuis le sélecteur de groupe, sans créer de groupe de groupes nommé. 6. **Étape suivante** : [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution). #### Voir aussi - [Alignements de groupes](#page-core-concepts.alignments) - [Groupes de groupes](#page-core-concepts.groups-of-groups) - [Cours transverse](#page-glossary.transverse-course) - [Alignement de groupes](#page-glossary.alignment) - [Groupe de groupes](#page-glossary.groups-of-groups) ### 3.11 Étape 6 — Répartir les heures et créer les séances de cours *Source: `help/fr/timetables/hour-distribution.md` · id: timetables.hour-distribution · Audience: admin · Updated: 2026-06-25* Vous avez déjà déclaré les volumes horaires par matière sur chaque classe (étape 4). C'est ici qu'on décompose ces volumes en **séances de cours individuelles**. L'écran s'organise en deux parties : - **À gauche** : la liste des classes et de leurs **cours** (les matières de la classe, éventuellement déclinées par type), avec un compteur dynamique d'heures déjà créées par cours. - **À droite** : les séances de cours créées pour la classe sélectionnée. #### Trois modes d'affichage Le panneau de droite se travaille dans **trois modes**, qu'on bascule avec le sélecteur en haut à gauche de ce panneau. Chacun a sa raison d'être, et on passe de l'un à l'autre **sans perdre son travail en cours**. ##### Post-its (par défaut) Les séances de cours apparaissent comme des **cartes** classées par matière ou par date (pour les EDT de type calendrier). C'est le mode détaillé dans tout le reste de cette page : double-clic pour créer, glisser la bordure pour la durée, icônes de la carte pour les attributs. - **Avantages** : très visuel ; idéal pour **créer** les séances de cours, décomposer les volumes, ajuster les durées au glisser et manipuler les cours complexes (alternés, concaténés…) directement sur la carte. - **Inconvénients** : peu pratique pour agir sur **beaucoup** de séances d'un coup, pour avoir une vue globale filtrée finement, voir les positionnements et positionner rapidement les séances de cours. ##### Emplois du temps (réorganisation) Les séances de cours s'affichent dans une disposition proche de l'EDT, prêts à être **réorganisés en lot**. - **Sélection** : un clic sélectionne une séance et ouvre une fiche interactive. - **Multi-sélection** : **Maj+clic** étend la sélection à une **plage**. Les séances de cours sélectionnées s'éditent alors **ensemble** sur une fiche commune (durée de masse, attributs communs…). - **Filtres dynamiques** et **choix des journées à afficher** resserrent l'affichage sur ce que vous traitez. - **Filtres « en attente »** : isolez les séances **en attente de salle** ou **en attente de professeur** pour terminer les affectations manquantes ; des pastilles d'avertissement signalent ce qui reste à compléter. - Une **bascule jours / entités** réoriente l'axe du planning selon ce que vous comparez. - **Avantages** : placement manuel très efficace, vues croisées (classe + professeur, par exemple), réorganisation de nombreuses séances, filtrage ciblé pour traiter les manques, édition **en lot** rapide directement sur un calendrier. - **Inconvénients** : moins direct que les post-its pour la création initiale, pas de création de cours complexes, moins de filtrage fin pour la vision et l'édition en lot. ##### Listing Une **vue tableau** des séances de cours : une **ligne par séance**, une **colonne par information** (statut, classe, matière, durée, position, semaine alternée, professeur, groupe, salle, effectif, ressource, mémo). - **Tri** : **chaque colonne** est triable — cliquez son en-tête pour trier dessus, recliquez pour inverser le sens (croissant / décroissant). - **Filtrage par colonne** : sous chaque en-tête, un **menu déroulant à choix multiples** filtre la colonne (parfois **deux** menus pour une colonne composée comme jour + heure ; un champ à intervalles `>=10, <5, 10-20` pour l'effectif). Plusieurs valeurs dans **un même menu** se combinent en **OU**, sauf si ce sont des valeurs de types différents (par exemple, sur les salles : entre les étiquettes, la visioconférence, la taille et le nom), auquel cas c'est un **ET** ; des filtres posés sur **plusieurs colonnes** se cumulent en **ET**. Un bouton réinitialise tous les filtres. - **Pagination** : pour les gros volumes, la liste se pagine ; la taille de page s'**ajuste automatiquement** (de quelques centaines à quelques milliers de lignes) pour rester fluide. - **Édition massive simplifiée** : cochez les séances voulues (colonne de sélection), puis utilisez le **bouton d'action en en-tête** de la colonne (durée, professeur, groupe, salle…) pour l'appliquer **d'un coup** à toute la sélection. - **Allocation automatique des salles** : choisissez un **ensemble de séances** et un **ensemble de salles** ; l'algorithme propose une **affectation optimale** (effectifs, contraintes de salles, disponibilités), que vous **ajustez ligne par ligne** avant de confirmer. Voir [Attribution automatique des salles](#page-timetables.auto-room-assignment). - **Avantages** : vue d'ensemble triable, **filtrage fin par colonne**, édition et affectation de salles **en masse**. - **Inconvénients** : moins de contexte visuel temporel que les deux autres modes, pas de création de cours complexes. #### Créer une séance de cours Une *séance* est une occurrence individuelle d'un **cours** (sa matière, une durée, parfois un groupe, généralement un professeur et une salle), positionnée ensuite sur l'EDT. Sélectionnez une classe, puis **double-cliquez sur un cours** : une séance de la matière est créée avec les valeurs par défaut (durée = unité de temps de la classe, professeur(s) du cours, salle par défaut le cas échéant). Elle naît **sans position** et rejoint les **séances non encore placées**, prête à être positionnée par l'algorithme ou à la main. Le double-clic fonctionne dans les trois modes ; la liste des cours est simplement à un endroit différent : au centre en post-its, **sous chaque classe dans le panneau de gauche** en emplois du temps et en listing. Pour ensuite **régler** la séance (durée, groupe, professeur, salle, ressource), l'interface dépend de la façon dont elle s'affiche : - **Tant qu'elle est une carte** — en post-its, ou non encore placée dans la vue emplois du temps — glissez la **bordure inférieure** pour la durée et cliquez les **icônes** de la carte pour les attributs. - **Une fois placée sur le calendrier, ou en listing**, les réglages passent par un **menu déroulant** : la fiche *Modification du cours* (clic sur la séance du calendrier), ou les menus de ligne et de colonne du listing — ces derniers permettant en plus l'édition **en masse**. #### Décomposer un volume horaire Exemple : les 4 h hebdomadaires d'un cours de mathématiques peuvent donner : - 4 séances de 1 h, ou - 2 séances de 2 h, ou - 1 séance de 2 h + 2 séances de 1 h. À vous de choisir selon votre rythme pédagogique. Le compteur du cours suit votre avancement en continu (voir ci-dessous). ##### Répartition automatique Le menu Actions propose une **Répartition automatique** qui comble d'un coup le **volume manquant** de chaque cours : elle ajoute des séances de la durée choisie (1 ou 2 créneaux de la grille, 3 et 4 en calendrier — la valeur en heures dépend donc de la durée de créneau de l'EDT) et finit par une séance plus courte si le reste n'est pas entier. Elle respecte les séances déjà créées, pose les professeurs et la salle par défaut, et laisse tout **non positionné**. Elle n'agit que sur les **cours visibles** : combinez-la avec le **filtre** (Filtrer) par matière ou par type pour ne répartir, par exemple, que les « Cours théoriques ». En **listing**, elle traite **toutes les classes** d'un coup ; ailleurs, la **classe sélectionnée**. #### Le compteur d'heures par cours Chaque cours, à gauche, porte un compteur qui oppose les **heures créées** au **volume cible** déclaré à l'étape 4 (par exemple `3 h / 4 h`). C'est l'**aspect de la carte** qui signale votre avancement : - **Sous le volume** : aspect normal — il reste des heures à créer. - **Pile au volume** : la carte **s'estompe** (opacité réduite), signe qu'elle est bouclée. - **Au-dessus du volume** : **bordure rouge** — vous avez créé trop d'heures. La pastille du compteur, elle, reprend simplement la **couleur de la matière** (elle peut donc être verte, bleue… sans rapport avec l'avancement) ; au survol, la carte se souligne de la couleur d'accent de l'interface. Le survol affiche aussi une bulle détaillant la **ventilation** des séances créées (durées, types, semaines alternées, brouillons / annulés). ##### Sous-groupes et indicateur d'équilibre Quand un cours est éclaté en **partition** (plusieurs sous-groupes qui ont cours **en même temps**, typiquement un dédoublement), le compteur ne **multiplie pas** par le nombre de groupes : une partition compte **une seule fois** — sinon le total afficherait `n × volume`, qui n'aurait pas de sens. Reste à vérifier que tous les sous-groupes reçoivent bien le même volume : c'est le rôle de l'icône [scale-balanced] qui apparaît alors à droite du cours. - **Balance verte** — *Groupes en partition à l'équilibre* : tous les sous-groupes ont le même nombre d'heures. - **Balance orange** — *Groupes en partition en déséquilibre* : un sous-groupe a plus ou moins d'heures que les autres. Le survol de l'icône liste le **détail par groupe** (heures de chaque sous-groupe), pour repérer immédiatement celui à rattraper. #### Dupliquer une séance Deux niveaux de duplication coexistent. **Clone rapide.** L'icône Dupliquer — présente sur la carte post-it comme sur chaque ligne du listing — crée **une copie** de la séance dans la **zone temporaire** (non positionnée), attributs compris. Idéal pour enchaîner des séances identiques. **Duplication avancée.** Dans la fiche de la séance (popup *Modification du cours*), le bouton copie à chevron ouvre un menu bien plus riche, exploité surtout en vue **emplois du temps / calendrier**. On choisit d'abord **combien** de copies (1 à 999) — ou, sur un EDT de type calendrier, **jusqu'à une date** — puis **comment** les placer : - **Nouvelle séance dans la zone temporaire** — copies laissées non positionnées. - **Même créneau horaire** — répète la séance sur le même créneau. - **Prochain(s) créneau(x) libre(s)** — cherche automatiquement les créneaux compatibles avec la durée. - **Jour(s) suivant(s)** / **précédent(s)** — décale sur les jours voisins. - **Semaine(s) suivante(s)** / **précédente(s)** — *(calendrier uniquement)* reporte d'une semaine sur l'autre. - **Choisir les créneaux** — vous pointez vous-même les créneaux libres sur le planning. Sur les options par jour ou par semaine, un bouton **« libre(s) »** restreint la recherche aux seuls créneaux non occupés. En calendrier, cette recherche peut même s'étendre au-delà de l'EDT courant lorsqu'une comparaison inter-EDT est active. #### Mémos Vous pouvez attacher un **mémo** (commentaire libre) à une séance via l'icône Commentaire. Plusieurs mémos sont possibles, avec des **niveaux de visibilité** différents : - administrateurs seulement, - administrateurs + professeurs, - tout le monde (visible pour les élèves et sur le panneau d'affichage). Les mémos apparaissent dans les bulles au survol des séances sur les EDT. #### Cours complexes Pour les configurations sophistiquées, voir la page dédiée : [Cours complexes](#page-core-concepts.complex-lessons). Synthèse : - **Alternés** (semaine A/B) — Ajouter une semaine en haut à droite de la séance, ajoute une semaine alternée. - **Concaténés** (consécutifs) — glisser-déposer une séance sous une autre. - **Associés** (alternance demi-groupes) — bouton qui apparaît entre deux séances concaténées. - **Co-animés** (plusieurs professeurs sur la même séance) — sélection multi-professeur sur Affecter des professeurs. #### Actions de masse Le menu Actions en haut à droite donne accès aux opérations massives : - **Annuler le positionnement** de toutes les séances (sauf les verrouillés), - **Annuler les verrous** de positionnement, - **Effacer les affectations de salles**, - **Affecter les salles préconfigurées** (de la classe ou du professeur par défaut, hors salles spéciales), - **Distribution automatique** des séances sur 1 ou 2 périodes, - **Import / export tableur** (cf. [Import massif](#page-timetables.mass-import)), - **Supprimer toutes les séances** d'une classe ⚠. #### Détection dynamique des erreurs À chaque modification, Omniscol vérifie la cohérence et affiche les alertes en haut de l'écran et sur les classes / séances concernées. Voir [Diagnostic](#page-glossary.diagnostic). #### Sauvegarder ⚠ La suppression d'une séance est **immédiate et définitive** (sauf si vous n'avez pas encore sauvegardé). Sauvegardez régulièrement avec Enregistrer. Il n'y a pas de fonction Undo / Redo globale sur cet écran. Avant d'enregistrer, relisez les suppressions et les actions de masse. #### Et ensuite Étape suivante : [Génération automatique](#page-timetables.generation). #### Procédure — Répartir les heures d'un cours 1. **Vous avez déclaré les volumes horaires de chaque cours** sur ses classes à l'étape 4. Cette étape **décompose** ces volumes en séances individuelles (une séance = un créneau placé ensuite par l'algorithme ou à la main). 2. **Sélectionnez une classe à gauche.** Le panneau de droite affiche les séances déjà créées pour cette classe, regroupées par cours. Le compteur de chaque cours oppose les heures créées au volume cible (`3 h / 4 h`) : la carte s'estompe quand le volume est atteint, passe en bordure rouge s'il est dépassé. 3. **Double-cliquez sur un cours** pour ajouter une séance avec les paramètres par défaut (durée, type). Glissez la **bordure inférieure** de la séance pour ajuster la durée. Cliquez sur les **icônes** dans la carte pour modifier groupe, professeur, salle, ressources. 4. **Décomposez le volume comme vous voulez** : un cours de 4 h = 4 séances de 1 h, ou 2 séances de 2 h, ou un mélange. La carte du cours s'estompe dès que vous êtes pile au volume cible. En partition (sous-groupes simultanés), une icône [scale-balanced] verte / orange signale si tous les sous-groupes reçoivent le même volume. 5. **Pour des séances identiques en série**, créez la première puis **dupliquez** : clone rapide vers la zone temporaire via Dupliquer, ou duplication avancée depuis la fiche (même créneau, jours / semaines voisins, créneaux libres…), surtout en vue calendrier. 6. **Cours complexes** (alternés A/B, concaténés en double-période, associés avec rotation, co-animés à plusieurs professeurs) : voir les icônes dédiées sur la carte de la séance et la page [Cours complexes](#page-core-concepts.complex-lessons). 7. **Étape suivante** : [Génération automatique](#page-timetables.generation). #### Voir aussi - [Cours complexes](#page-core-concepts.complex-lessons) - [Import massif des cours via tableur](#page-timetables.mass-import) - [Cours](#page-glossary.course) - [Séance / Leçon](#page-glossary.lesson) ### 3.12 Attribution automatique des salles *Source: `help/fr/timetables/auto-room-assignment.md` · id: timetables.auto-room-assignment · Audience: admin · Updated: 2026-06-27* L'**attribution automatique des salles** affecte **en une fois** une salle à un ensemble de séances sélectionnées. Vous choisissez un **ensemble de salles candidates**, l'algorithme propose une affectation optimale, et vous **validez après relecture** — ligne par ligne si besoin. C'est un outil de **répartition des salles uniquement**. Il ne déplace pas les séances dans le temps, ne change pas leur durée, n'affecte pas de ressources et ne relance pas la génération complète de l'emploi du temps. Pour faire poser les salles **pendant** la génération, voir plutôt [Génération automatique](#page-timetables.generation). #### Où la trouver Cet outil vit dans le **mode listing** de l'écran [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) (la vue tableau, une ligne par séance). 1. Affichez les séances en **mode listing**. 2. **Cochez** au moins deux séances (colonne de sélection). Au besoin, servez-vous du **tri** et des **filtres par colonne** pour isoler les séances à traiter — par exemple celles **en attente de salle**. 3. Ouvrez l'action de salle groupée de l'en-tête, Affecter une salle de classe. 4. Dans le sélecteur de salles, activez le mode Affectation automatique des salles. Les séances en **distanciel** ou en **autonomie** (selon leur [modalité](#page-glossary.lesson-modality)) sont ignorées : elles n'ont pas besoin de salle physique. Les séances **hybrides** restent prises en compte. Laissez **hors de la sélection** les séances dont la salle est **verrouillée** : l'outil ne force pas un verrou. #### Choisir l'ensemble de salles candidates En mode automatique, le sélecteur affiche les salles regroupées par **site** puis par **bâtiment**, avec des cases à cocher à trois niveaux : - cocher un **site** prend toutes ses salles éligibles ; - cocher un **bâtiment** prend toutes les salles de ce bâtiment ; - cocher une **salle** l'ajoute individuellement. Les salles déjà affectées aux séances sélectionnées sont **pré-cochées**. Une salle dont la **spécialisation** ne correspond à aucune séance sélectionnée, ou **trop petite** pour toutes les séances compatibles, est **désactivée**. La capacité passe en **rouge** quand la salle ne peut accueillir aucune des séances compatibles, en **orange** quand elle n'en accueille qu'une partie. Validez l'ensemble pour lancer le calcul. #### Ce que fait l'algorithme À partir de l'ensemble choisi, l'algorithme attribue **une salle par séance** en respectant des **règles strictes** et en optimisant le reste : - la **spécialisation** requise par la matière de la séance ; - la **capacité** de la salle face à l'effectif de la séance ; - l'**occupation existante** de la salle sur le créneau — séances d'autres emplois du temps ou d'autres comptes liés, évènements, contraintes horaires de salle, [grandes salles](#page-glossary.large-room) partagées ; - une **préférence pour le site** de référence de la séance ; - les **semaines alternées** : deux séances qui ne tombent jamais la même semaine peuvent réutiliser la même salle. L'algorithme peut **réorganiser les salles entre les séances sélectionnées** pour mieux les loger, et préfère la **plus petite salle qui convient**. Quand la salle actuelle convient déjà et qu'une autre n'apporterait qu'un gain marginal, il la **conserve** plutôt que de produire un changement inutile. Si **aucune** salle de l'ensemble ne convient, la séance est laissée **sans solution**. #### Relire, ajuster, appliquer Le calcul ouvre une **fenêtre d'aperçu** : tant qu'elle est ouverte, l'emploi du temps réel **n'est pas modifié**. Chaque ligne y porte un **statut** — affectée, inchangée, sans solution, ou ajustée manuellement — ainsi que la salle **avant** et la salle **proposée**. - **Ajuster une ligne** : cliquez sa salle proposée pour ouvrir le sélecteur classique. Le choix manuel n'est **pas limité** à l'ensemble candidat de départ ; la ligne passe au statut « ajustée » et les conflits éventuels se recalculent aussitôt sur toutes les lignes. - **Réinitialiser** : un bouton rétablit la proposition de l'algorithme sur les lignes ajustées. - **Décocher** une ligne l'**exclut** de l'application. - **Valider** applique les lignes cochées à l'emploi du temps ; **Annuler** ferme sans rien changer. Après application, les séances modifiées **clignotent** et un récapitulatif indique le **nombre de séances modifiées, inchangées et sans solution**. #### À noter - Une séance qui portait **plusieurs salles** peut être ramenée à **une seule** par l'attribution automatique. - Une séance **sans créneau positionné** peut tout de même recevoir une salle (par ensemble, spécialisation, capacité et site), mais aucun conflit horaire ne peut alors être vérifié pour elle. - Pour seulement **poser les salles par défaut** (de la classe ou du professeur, hors salles spéciales) ou **effacer** des affectations, le menu Actions propose des actions de masse dédiées — voir [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution). #### Voir aussi - [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) - [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) - [Spécialisations de salles](#page-core-concepts.classroom-specializations) - [Grande salle](#page-glossary.large-room) ### 3.13 Étape 6 bis — Import massif des cours via tableur *Source: `help/fr/timetables/mass-import.md` · id: timetables.mass-import · Audience: admin · Updated: 2026-06-02* Si vous avez déjà la liste de vos cours dans un tableur — un export de votre SIS, un planning préparé en amont sur Excel, voire un export d'un autre logiciel comme Hyperplanning ou Aurion — vous pouvez la **copier-coller** directement dans Omniscol. #### Accéder à l'import Dans le menu Actions (sur l'écran de répartition des heures), choisissez **« Tableau - import / export »**. Si aucune classe n'a encore été créée, un lien direct est aussi disponible. L'import s'effectue en **quatre étapes**. #### Étape 1 — Coller le tableau Une zone éditable ouvre avec un **canevas de colonnes pré-défini** par Omniscol. Les colonnes sont typées par position (3e colonne = matière, etc.) ; vous pouvez **réorganiser les colonnes du canevas** pour qu'elles correspondent à l'ordre de votre tableur source — ce qui rend le copier-coller depuis Excel ou Google Sheets propre, sans réécrire votre fichier. Champs reconnus : - **Classe** + **matière** (au minimum, pour qu'un cours soit valide), - **Durée**, ou **heure début + heure fin** (et **jour** pour les séances pré-positionnées), - **Groupe** (séparateurs libres pour multi-groupes), - **Type de cours** (TD, TP, CM…), - **Professeur(s)** (séparateurs libres), - **Site** + **Salle(s)** (plusieurs salles par séance sont possibles, cf. [multi-salles](#page-glossary.multi-room)), - **Ressource(s)**, - **Semaines alternées** (format `A/B`, `1/2`…), - **Commentaire**. Vous pouvez aussi importer la **liste des cours déjà créés** (ce que fait l'export) si vous voulez les retravailler dans Excel et réimporter. #### Étape 2 — Vérification du planning et des sites Omniscol affiche les heures détectées (encore éditables). Si plusieurs sites sont devinés, vous pouvez **glisser-déposer** les classes, salles et ressources mal affectées au bon site. Si un site superflu a été créé, videz-le et il disparaîtra. #### Étape 3 — Désambiguïsation Après analyse des valeurs importées, le tableau réapparaît avec des **menus déroulants** sur les champs ambigus. Vérifiez et corrigez les correspondances proposées. C'est ici qu'on tranche par exemple : - « Maths » = quelle matière exacte (avec ou sans type) ? - « M. Dupont » = lequel des trois M. Dupont ? - « A102 » = la salle A102 du site Lyon, du site Avignon, ou autre ? #### Étape 4 — Création des entités inconnues Si l'import a détecté des entités qui n'existent pas dans la base (classes, groupes, groupes de groupes, professeur, matière personnalisée, type de cours, site, salle, ressource…), une dernière étape vous demande : - de **valider la création** dans l'EDT, - pour les **matières personnalisées** et certains **professeurs**, de demander si besoin une création côté **Administration** pour les rendre disponibles dans toute l'école. #### Limites L'import automatise la préparation, mais ne remplace pas une vérification humaine : - Les **cours complexes** (alternances multiples, concaténations, associations) sont parfois imparfaitement reconstruits — comptez sur une passe manuelle de finition. - Sur des nomenclatures internes très spécifiques, certaines colonnes resteront ambiguës — vous trancherez à l'étape 3. - Pour des **migrations dédiées** depuis un logiciel précis (Aurion, ASC…), il existe des [adaptateurs spécialisés](#page-migration.overview). #### Procédure — Préparer puis importer les cours 1. **Avant de cliquer Importer**, prenez 10 minutes pour préparer le fichier source. Un fichier propre = un import sans aller-retour. Dans Excel ou Google Sheets, supprimez les lignes fusionnées, les en-têtes multi-lignes et les sous-totaux. **Une ligne = une séance de cours.** Gardez des libellés cohérents pour les classes, matières, professeurs, groupes, sites, salles et ressources. 2. **Ouvrez l'écran d'import** depuis l'écran de répartition des heures, menu *Actions → Tableau - import / export*. Réorganisez les colonnes du canevas pour qu'elles correspondent à l'ordre de votre tableur, puis **collez le tableau** dans la zone éditable. C'est l'étape 1. 3. **Étape 2 — vérification du planning et des sites.** Omniscol affiche les heures détectées et les sites devinés. Si besoin, glissez-déposez les classes, salles et ressources vers le bon site, ou videz un site superflu pour le faire disparaître. 4. **Étape 3 — désambiguïsation.** Le tableau réapparaît avec des menus déroulants sur les champs ambigus : matière exacte, professeur homonyme, salle homonyme, etc. Vous tranchez ici. 5. **Étape 4 — création des entités inconnues.** Validez les créations proposées selon votre fichier : classes, groupes, groupes de groupes, professeurs, matières et types, sites, salles, ressources. Pour les matières personnalisées et certains professeurs, vous pouvez aussi demander une création côté Administration. Les cours sont ensuite injectés dans l'EDT. 6. **À la sortie**, vous obtenez un EDT partiellement configuré. Comptez sur une passe manuelle de finition pour les cas complexes (alternances multiples, concaténations, associations) que l'import ne reconstitue pas toujours complètement. Pour les migrations depuis un autre logiciel, voir [Migration depuis un autre logiciel](#page-migration.overview). #### Voir aussi - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Migration depuis un autre logiciel](#page-migration.overview) - [Étape précédente — Répartir les heures](#page-timetables.hour-distribution) - Étape suivante — [Génération automatique](#page-timetables.generation) ### 3.14 Étape 7 — Génération automatique *Source: `help/fr/timetables/generation.md` · id: timetables.generation · Audience: admin · Updated: 2026-06-24* Une fois les séances créées, vous les positionnez sur la grille. Construire un EDT est en pratique un **cycle**, pas un geste unique : 1. on **place quelques séances à la main** — pour ancrer des immuables ou verrouiller des contraintes fortes (interventions datées, examens, calages) ; 2. on **génère** (tout ou partie) pour que l'algorithme place le reste sous contraintes ; 3. on **ajuste en marge** — corriger un cas particulier, déplacer une séance, changer d'avis ; 4. et ça **peut reboucler** : on régénère au fil de l'eau (séances ajoutées, ou — en mode calendrier — par intervalles de dates, par lots de classes ou de campus). On peut aussi tout faire **100 % à la main**, sans solveur. Le positionnement manuel (placer, déplacer, verrouiller, une à une ou en lot) a sa page dédiée : [Positionnement manuel](#page-timetables.manual-placement). Pour le flux d'ensemble, voir [Vue d'ensemble du module](#page-timetables.overview). Cette page couvre la **génération automatique**. #### Disponibilité Disponible sur les EDT [hebdomadaires](#page-glossary.weekly-timetable), [cycliques](#page-glossary.cyclic-timetable) et [calendrier](#page-glossary.calendar-mode). En mode calendrier, les séances sont placées sur des dates réelles et les options peuvent limiter la plage de dates à générer. #### Préparation Avant de cliquer Générer EDT : - déroulez l'onglet **Génération** (intitulé Vérification sur un EDT calendrier) pour vérifier les statistiques globales, - corrigez les **alertes critiques** (rouges) — elles bloquent la génération, - relisez les **avertissements** (orange) — ils ne bloquent pas mais signalent un risque (disponibilités trop contraignantes, capacité limite, etc.). L'écran indique aussi : - nombre de séances créées vs séances positionnées, - volumes horaires saisis vs services horaires des professeurs, - groupes affectés à au moins un cours (pour repérer les groupes oubliés ou inutilisés). #### Lancement Cliquez sur Générer EDT. Omniscol lance un environnement de calcul dédié et parallélisé. La durée dépend de la taille de l'EDT, du nombre de contraintes et des options choisies. Il n'y a pas de file d'attente à gérer côté école ; l'initialisation prend souvent autour d'une dizaine de secondes avant que le calcul commence réellement. Le calcul est **plafonné à vingt minutes**, mais c'est en pratique bien au-delà du nécessaire : un EDT d'environ 200 cours répond souvent en une vingtaine de secondes — l'algorithme est quasi instantané, c'est surtout le démarrage de la machine qui pèse — et ~600 cours en une minute environ. Pour un très gros établissement qui approcherait ce plafond, l'équipe Omniscol peut augmenter la puissance de la machine de calcul, sur demande. #### Options de génération Par défaut, la génération place toutes les séances créées et non positionnées. Elle peut aussi déplacer des séances déjà positionnées si cela améliore l'EDT. Les séances verrouillées gardent leur position. Le menu d'options permet notamment de : - gérer les salles avec trois choix : assignation optimisée par défaut, vérification uniquement, ou ignorance complète des salles ; - sélectionner seulement certaines classes ou certaines matières ; - restreindre un EDT calendrier à une fenêtre de dates cible ; - ignorer les salles déjà assignées ou les positionnements actuels ; - assigner uniquement les salles sans recalculer tout le placement ; - lancer une génération rapide sans optimisation ; - autoriser le placement flexible sur les sous-créneaux de la grille horaire quand l'EDT utilise des sous-créneaux. Les paramètres avancés d'optimisation permettent aussi de réduire les trous, éviter deux séances de la même matière le même jour, répartir les séances, fixer des minima ou maxima d'heures, ou choisir le nombre de jours de présence des professeurs. Les usages varient selon les pays : en France, certains établissements cherchent à réduire le nombre de jours de présence des professeurs ; dans d'autres contextes, on peut au contraire préférer répartir ces jours, par exemple pour organiser d'autres missions sur site. #### Options spécifiques au mode calendrier En mode calendrier, les options avancées peuvent limiter la génération à une **fenêtre de dates cible** plus courte que la plage totale de l'EDT. C'est utile pour générer seulement une partie de l'année : test sur un mois, construction progressive d'un semestre, ou reprise d'une période déjà préparée. L'autre option importante est le **compactage des journées** pour les classes. Par défaut, le solveur cherche plutôt un équilibre sur les jours disponibles ; si vous générez seulement une partie des séances de l'année, ce comportement peut étaler artificiellement les cours. Le compactage permet de demander un regroupement : - en début de fenêtre ; - en fin de fenêtre ; - sans préférence de début ou fin, mais en gardant les journées aussi compactes que possible. #### Comment la génération travaille Comprendre la logique du solveur aide à anticiper ce qu'il placera, ce qu'il sacrifiera, et comment l'orienter. Il poursuit **deux objectifs, dans cet ordre** : 1. **Tout faire entrer** — la priorité absolue : positionner *toutes* les séances en respectant les contraintes dures. 2. **Optimiser la qualité** — une fois que tout rentre, réduire les trous, lisser les journées, honorer les préférences. Il part d'un état propre (les séances **verrouillées** gardent leur place, les autres sont rejouées) et place **de la séance la plus difficile à la plus facile**. La difficulté tient surtout à l'**étroitesse des contraintes** : un cours dont le professeur n'est disponible qu'une après-midi par semaine, ou un **bloc de quatre heures** à caser d'un seul tenant, passe en tête. À difficulté égale, il alterne les matières et traite **les plus rares avant les plus courantes**, pour répartir équitablement les chances de chacune. ##### Quand tout ne rentre pas : le sacrifice Si l'EDT est trop contraint pour tout caser, le solveur **ne renonce pas** : il choisit le plus petit ensemble de séances à **laisser de côté** pour que le reste tienne, puis optimise cet EDT partiel. Les séances sacrifiées restent dans la barre des post-its à placer. Comme le tri a priorisé le plus dur et le plus rare, ce sont plutôt des séances **faciles et nombreuses** qui cèdent : la 5ᵉ heure d'une matière à gros volume avant l'unique heure d'une matière rare. Vous gardez la main sur ces arbitrages : **verrouillez** les séances qui ne doivent jamais bouger — placées en priorité, elles ne sont pas sacrifiées — et **détendez la sur-contrainte** (créneaux ouverts, disponibilités) là où c'est possible, pour que l'ensemble rentre. ##### Contraintes dures et contraintes souples Toutes les contraintes ne se valent pas : - **Dures** — jamais violées : l'**occupation** (un professeur, une classe, un groupe, une salle ou une ressource ne sert pas deux fois au même moment), les plages marquées **Indisponible** (en noir) sur un professeur, une classe, une salle, une matière ou un groupe, l'**absence de salle ou de ressource libre** sur le créneau, les **jours fermés**, les **positions verrouillées** et les **alignements**. - **Souples** — tout le reste, que le solveur peut **enfreindre** au prix d'une pénalité pour réussir à tout caser : les plages marquées **Non souhaité** (en rouge — à éviter, pas interdites) et les préférences d'optimisation (compacité, étalement, regroupement par jour…). Une contrainte de priorité *élevée* pèse plus lourd qu'une de priorité *faible*, mais aucune n'est bloquante. Le solveur tente aussi des assouplissements ponctuels (placement sur les sous-créneaux de la grille…) quand c'est le prix à payer pour ne sacrifier aucune séance. ##### Vérifier sans optimiser L'option de **génération rapide** (sans optimisation) lance une passe allégée qui répond surtout à une question : *est-ce que tout rentre ?* Utile pour tester la faisabilité d'une configuration avant d'investir le temps d'une optimisation complète. #### Résultat - **Bannière verte** : génération réussie. Les séances du périmètre demandé ont pu être positionnées et le résultat peut être inspecté. - **Bannière rouge** : aucune solution complète n'a été trouvée. Le meilleur EDT calculé reste visualisable et les séances non positionnées apparaissent dans la barre des post-its pour diagnostic. Voir [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation). #### Consolider ou copier Après une génération réussie, Omniscol propose deux options : - **Consolider** dans l'EDT en cours (le positionnement remplace l'existant). - **Créer une copie** (l'EDT actuel reste intact, le résultat optimisé devient un nouvel EDT). Si vous prévoyez de re-générer plus tard (parce que vous construisez incrémentalement, par exemple), **ne consolidez pas** : sinon les séances déjà positionnées seraient des points de départ pour la nouvelle génération. #### Verrouiller une séance avant de relancer une génération Sur une séance déjà positionnée, utilisez le **cadenas** de position pour la verrouiller. La prochaine génération ne la déplacera pas mais ajustera les autres séances autour. Pratique pour ancrer les séances « immuables » (interventions extérieures fixées, examens datés, calages manuels…). Détails complets dans [Verrouiller une séance](#page-timetables.lesson-lock) : verrouillage en masse, effets sur le diagnostic (rouge → orange), comportement de l'algorithme. #### Exporter un EDT en JSON Le bouton [download] exporte **l'EDT courant uniquement** au format JSON. Ce n'est pas l'export complet du compte documenté dans [Import et export](#page-admin.import-export). Cas typiques : - conserver une trace d'un brouillon ou d'un scénario avant suppression ; - archiver un état intermédiaire avant une réorganisation importante ; - transmettre cet EDT précis à l'équipe Omniscol dans le cadre du support. Comme pour l'exportation complète du compte école en JSON, la réinjection n'est pas un usage standard librement accessible côté école. #### Et ensuite Étape finale : [Publier (activer) un emploi du temps](#page-timetables.publication). #### Procédure — Lancer une génération automatique 1. **La génération automatique** positionne les séances sur la grille en respectant des dizaines de contraintes (disponibilités, capacités, alignements, spécialisations, alternances). Disponible sur EDT hebdomadaire, cyclique et calendrier. 2. **Vérifiez l'onglet Génération.** Les statistiques globales y apparaissent : séances créées vs positionnées, volumes horaires saisis vs services des professeurs, alertes critiques (rouge — bloquent), avertissements (orange — préviennent sans bloquer). 3. **Corrigez les alertes rouges** avant de lancer. Tant qu'il en reste, la génération ne peut pas démarrer — sauf à forcer via le menu "plus d'options", mais cela n'est pas recommandé. Les orange sont à arbitrer mais n'empêchent pas la génération. 4. **Réglez les options de génération** si besoin : salles à assigner, vérifier seulement ou ignorer ; classes ou matières ciblées ; génération rapide sans optimisation ; ignorer les salles déjà assignées ou des positions actuelles. En mode calendrier, les options avancées permettent aussi de restreindre la fenêtre de dates générée et de compacter les séances en début de période, en fin de période ou sans préférence. 5. **Cliquez sur Générer EDT.** Le traitement tourne en arrière-plan ; l'écran indique l'état de la génération et permet d'inspecter le résultat lorsqu'il est disponible. 6. **Sauvegardez** quand la note vous convient. L'EDT est positionné. Étape suivante : passez en revue les éventuels conflits, ajustez à la main les cas particuliers (voir [Positionnement manuel](#page-timetables.manual-placement)), puis publiez. 7. **Et ensuite** : [Publier (activer) un emploi du temps](#page-timetables.publication). #### Voir aussi - [Positionnement manuel](#page-timetables.manual-placement) - [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) - [Solveur](#page-glossary.solver) - [Détecter et résoudre les conflits](#page-timetables.conflicts) ### 3.15 Étape 8 — Publier (activer) un emploi du temps *Source: `help/fr/timetables/publication.md` · id: timetables.publication · Audience: admin · Plan: standard · Updated: 2026-06-13* ⚠ Étape **souvent oubliée** : un EDT généré n'est **pas automatiquement publié**. Tant qu'il n'est pas publié, c'est un brouillon — visible uniquement dans le module Gestion des EDT par les administrateurs. C'est seulement après publication que l'EDT apparaît dans le module [Emploi du temps](#page-schedules.consult-and-filter) consulté par tous les utilisateurs autorisés. #### Comment publier Sur la page d'accueil du module Gestion des EDT : 1. Sélectionnez l'**année scolaire** concernée dans la **ligne de temps en haut**. Par défaut, l'**année scolaire courante** est affichée. Si vous préparez la rentrée suivante, cliquez la **flèche droite de la ligne de temps** pour basculer sur l'année N+1 — sinon vous tenterez de publier sur les semaines de l'année en cours, où les semaines sont déjà attribuées à l'EDT actuel. Voir [Ligne de temps et navigation temporelle](#page-core-concepts.timeline-navigation) pour le concept général. 2. Cliquez sur Répartition des EDT (Répartition des EDT). 3. Une grille apparaît : les EDT en lignes, les semaines en colonnes. 4. Pour chaque EDT, **sélectionnez les semaines** où il s'applique (cliquez ou glissez sur la banderole). Le bouton Ajouter une période ajoute une plage supplémentaire pour un EDT. 5. Sauvegardez avec Enregistrer. #### Compte standard : un EDT par semaine Avec un compte standard, **une seule publication** par semaine est permise. Si vous voulez publier deux EDT différents, ils doivent porter sur des plages disjointes (semestre 1 vs semestre 2, par exemple). > _Option: Plusieurs EDT actifs en parallèle_ #### Publications simultanées Lorsque votre compte dispose de cette capacité (incluse en Premium), vous pouvez publier **plusieurs EDT en parallèle** sur les mêmes semaines. Le moteur fusionne dynamiquement les vues : si deux EDT publiés partagent un professeur ou une salle, son emploi du temps consolidé montre les séances des deux EDT. Cas d'usage typique : un EDT hebdomadaire pour les cours du tronc commun récurrents + un EDT calendrier pour les masterclasses ponctuelles. #### EDT calendrier : publication binaire Un EDT en mode [calendrier](#page-glossary.calendar-mode) ne se publie pas par plages de semaines (les séances sont déjà datées individuellement). La publication est binaire — l'EDT est publié, ou il ne l'est pas. #### EDT hebdomadaire / cyclique : publication par plages Pour les EDT hebdomadaires et cycliques, vous ajoutez **une ou plusieurs plages** de publication, puis sauvegardez. Les modifications en cours apparaissent en hachuré pour les ajouts et en transparence pour les suppressions. #### Semaines alternées : quelles séances sur quelles dates Quand un EDT à semaines alternées passe en opérationnel, chaque semaine réelle ne conserve que la séance dont le rang dans le cycle correspond au **comptage des semaines**. Les vacances peuvent décaler ce comptage : la **frise** de l'écran [année scolaire](#page-admin.school-year) permet de forcer les points où il repart en semaine A, pour que les bonnes séances alternées soient retenues à chaque date. #### Affecter les élèves après publication Une fois l'EDT publié pour l'année scolaire en cours, vous pouvez **affecter les élèves à leurs classes et groupes** : 1. Module Élèves. 2. Sélectionnez les élèves concernés. 3. Assigner à une classe. Les élèves ne verront leur EDT personnalisé qu'une fois cette affectation faite — et après changement de l'année courante si vous préparez la suivante. #### Procédure — Publier un EDT en 5 étapes 1. **Publier rend un EDT visible** dans le module EDT de tous les utilisateurs autorisés. Tant qu'il n'est pas publié, l'EDT reste un brouillon visible des seuls administrateurs. 2. **Vérifiez l'année scolaire affichée** dans la ligne de temps en haut. Par défaut, c'est l'année courante. Pour publier sur l'année prochaine, cliquez **flèche droite de la ligne de temps** pour basculer sur N+1 avant de continuer. 3. **Cliquez sur Répartition des EDT.** Une grille apparaît avec les EDT en lignes et les semaines de l'année scolaire en colonnes. 4. **Sélectionnez les semaines** où l'EDT doit s'appliquer. Cliquez ou glissez sur la banderole. Les semaines retenues apparaissent colorées ; les autres restent blanches. 5. **Sauvegardez la publication.** L'EDT bascule immédiatement en production : il devient visible dans le module Emploi du temps de tous les utilisateurs autorisés. 6. **Étape suivante : affecter les élèves** à leurs classes et groupes. Cette affectation ne peut se faire qu'après une première publication. Les élèves verront alors leur EDT personnalisé. #### Voir aussi - [Publication / Activation d'un EDT](#page-glossary.publication) - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) - [Préparer la rentrée suivante](#page-timetables.next-school-year) ### 3.16 Plusieurs EDT actifs en parallèle *Source: `help/fr/timetables/multiple-active-timetables.md` · id: timetables.multiple-active-timetables · Audience: admin · Options: multiple-active-timetables · Updated: 2026-06-13* > **Option: Plusieurs EDT actifs en parallèle** Au palier standard, **un seul EDT** peut être publié à la fois sur une période donnée. C'est suffisant pour un fonctionnement classique de collège ou lycée. Dans certains contextes — typiquement enseignement supérieur, formations modulaires, écoles à parcours multiples —, le besoin se fait sentir de **publier plusieurs EDT en parallèle** qui se complètent. Cette capacité est incluse de base avec les comptes Premium. Dans certains comptes scolaires mixtes, par exemple collège-lycée ou primaire-collège-lycée avec plusieurs EDT réellement séparés, Omniscol peut activer cette capacité spécifiquement. Le cadrage et la facturation sont alors adaptés au besoin réel. #### Pourquoi plusieurs EDT en parallèle Quelques scénarios typiques : - **Tronc commun + spécialisations** — un EDT hebdomadaire couvre le tronc commun (matières partagées par toutes les promotions), des EDT par spécialité ou par parcours s'ajoutent dessus avec leurs propres contraintes. - **Régulier + calendrier ponctuel** — un EDT hebdomadaire régulier porte la majorité des cours, un EDT calendrier porte les séances datées (conférences, examens, jurys). - **Sites multiples** — un EDT par site avec gestion locale, fusion à la consultation pour les étudiants qui passent d'un site à l'autre. - **Programmes de durées différentes** — par exemple un parcours EMBA sur 18 mois, un cycle Grande École en semestres calendrier et une prépa hebdomadaire, avec des professeurs et des salles partagés. Sans cette option, ces cas obligent à fusionner toute la complexité dans un seul EDT, ce qui devient vite ingérable. #### Fonctionnement Vous créez plusieurs EDT dans le module Gestion des EDT, comme d'habitude. Au moment de la **publication** sur les semaines, l'écran de répartition accepte plusieurs EDT sur les mêmes semaines plutôt qu'un seul. Côté consommation (portails, panneaux d'affichage, iCal, API), les EDT publiés sur une semaine sont **fusionnés dynamiquement** : un étudiant voit toutes les séances qui le concernent, peu importe de quel EDT elles viennent. Au sein d'un même compte, les EDT actifs en parallèle partagent les occupations des ressources concernées : salles, professeurs et, dans les cas où c'est pertinent, classes. Cela permet d'éviter qu'un même professeur ou une même salle soit réservé deux fois par deux EDT actifs. Le cas des classes partagées entre plusieurs EDT existe aussi, mais il reste plus marginal et dépend fortement de l'organisation pédagogique. #### Détection de conflits inter-EDT Deux mécanismes se complètent, selon l'endroit où vous travaillez. ##### Pendant la construction de l'EDT Quand vous construisez ou réorganisez un EDT dans Gestion des EDT, le bouton Synchronisation (barre d'outils de la réorganisation comme de l'édition d'un EDT calendrier, sur les **dates partagées**) confronte votre travail aux **autres EDT publiés**. Il prend automatiquement en compte ceux dont les **dates recouvrent** celles de l'EDT en cours et qui partagent au moins un **professeur**, une **salle** ou une **classe** — en local (même compte) comme avec les **[comptes liés](#page-integrations.linked-accounts)**. Il s'active donc de lui-même dès qu'il y a des ressources communes (orange = actif). Ce couplage automatique relie les EDT **datés (calendrier)**. Une exception bienvenue : il **ignore une simple copie** de l'EDT en cours (mêmes séances). Vous pouvez ainsi travailler sur un **brouillon dupliqué** sans être mis en conflit avec vous-même. L'occupation de ces EDT entre alors dans le moteur de conflits : - les **créneaux candidats** au positionnement (pastilles colorées) passent en orange ou rouge si le professeur ou la salle est déjà pris ailleurs ; - le **diagnostic** signale les doubles réservations inter-EDT. Le conflit remonté précise alors bien qu'il provient d'un emploi du temps exogène avec sa référence précise. Le menu déroulant du bouton liste les EDT et comptes pris en compte : décochez ceux que vous ne voulez pas surveiller, par exemple pour assumer un chevauchement. ##### À la consultation (EDT opérationnel) Une fois publiés, les EDT se **fusionnent** en un emploi du temps **opérationnel** unique — la vue de consultation dans Omniscol (le module EDT), et tout ce qui consomme l'EDT (portails, panneaux d'affichage, iCal, API). Les conflits entre EDT s'y lisent naturellement : un professeur (ou une salle) pris sur deux séances simultanées issues de deux EDT publiés les voit superposées sur la grille fusionnée. C'est la logique de la fusion : elle forme l'emploi du temps réellement vécu, **tous types confondus** (un EDT hebdomadaire et un EDT calendrier compris). En vue réorganisation, cela crée un conflit. Dans les deux cas, la résolution reste une action de planning : déplacer, adapter ou accepter le conflit selon le cas. #### Procédure — Publier un EDT régulier + un EDT calendrier en parallèle 1. **Le cas hybride classique** : un EDT **hebdomadaire** régulier pour la majorité des cours, plus un EDT **calendrier** pour les séances datées (conférences invitées, examens, jurys). 2. **Préalable** : deux EDT créés dans Gestion des EDT — un hebdomadaire avec les cours réguliers, un calendrier avec les séances datées. Configurez-les indépendamment. Voir aussi [Mode calendrier](#page-timetables.calendar-mode). 3. **Lancez la génération** sur chaque EDT séparément si vous utilisez le solveur. Vérifiez d'abord les conflits propres à chaque EDT. 4. **Publiez l'EDT hebdomadaire** sur les semaines voulues (typiquement : toute l'année). Voir [Publication](#page-timetables.publication). Puis **publiez le second EDT** (calendrier) sur **les mêmes semaines**. L'écran de répartition accepte plusieurs EDT en parallèle (vs un seul au palier standard). 5. **Vérifiez la fusion** : ouvrez le portail étudiant ou professeur — les séances des deux EDT apparaissent sur la même grille, fusionnées dynamiquement. iCal, API, panneaux d'affichage voient pareil. 6. **Conflits inter-EDT** : entre un EDT hebdomadaire et un EDT calendrier, le recoupement se voit surtout sur l'**EDT opérationnel fusionné** (consultation, portails) — si une conférence (calendrier) tombe sur le créneau d'un cours régulier (hebdomadaire) pour le même professeur ou la même salle, les deux séances s'y superposent. Résolution comme un conflit ordinaire : déplacer, adapter ou accepter. #### Voir aussi - [Publication d'un EDT](#page-timetables.publication) - [Mode calendrier](#page-timetables.calendar-mode) - [Comptes liés et ressources partagées](#page-integrations.linked-accounts) - [Plans et options Omniscol](#page-overview.plans-and-options) ### 3.17 Positionnement manuel des séances *Source: `help/fr/timetables/manual-placement.md` · id: timetables.manual-placement · Audience: admin · Updated: 2026-06-23* Positionner une séance **à la main**, c'est lui choisir vous-même son créneau, au lieu de laisser l'algorithme décider. Cela se combine presque toujours avec la [Génération automatique](#page-timetables.generation) : la construction d'un EDT est un **cycle** (placer quelques séances → générer → ajuster), décrit dans [Vue d'ensemble du module](#page-timetables.overview). #### Quand placer à la main - **Ancrer des immuables avant de générer** — une intervention datée, un examen, un calage imposé : on le place (et souvent on le **verrouille**, voir [Verrouiller une séance](#page-timetables.lesson-lock)) pour que la génération construise *autour*. - **Corriger en marge après une génération** — déplacer une séance, régler un cas particulier, changer d'avis sur un créneau. - **Construire entièrement à la main** — sur un petit EDT, ou quand vous préférez garder la main de bout en bout (voir plus bas). #### Le geste : punaise puis créneau coloré Positionner une séance **n'est jamais un glisser-déposer**. Cliquez le bouton de positionnement (punaise, Positionner sur l'emploi du temps) de la séance — sur sa carte post-it, sa ligne de listing, ou dans sa fiche (Positionner sur l'emploi du temps) si elle est déjà placée. Omniscol affiche alors **tous les créneaux possibles**, colorés selon le niveau de conflit : - **vert** — aucun conflit ; - **jaune** puis **orange** — conflits mineurs à modérés (la raison s'affiche) ; - **rouge** — conflit bloquant. Le détail de chaque niveau et la liste complète des détections sont dans [Conflits et diagnostic](#page-timetables.conflicts). Les créneaux apparaissent sur la classe **et** sur le ou les professeurs concernés, avec les autres séances déjà placées pour aider à choisir. **Cliquez le créneau retenu** pour y placer la séance. Pour la retirer, double-cliquez sur une séance déjà positionnée (elle repart dans la zone des séances non placées, sans être supprimée). #### Placer en lot — vue planning Cliquez sur Grille : le planning des classes / professeurs s'affiche, pratique pour enchaîner les positionnements. Le geste ne change pas — punaise [thumbtack] d'une séance, puis clic sur un créneau coloré. C'est utile en mode calendrier pour caler des dates imposées ou reprendre localement le résultat d'une génération. #### Verrouiller pour figer un placement manuel Une séance placée à la main reste, par défaut, déplaçable par la prochaine génération. Pour qu'elle **ne bouge plus**, verrouillez sa position (cadenas) : la génération construit alors autour d'elle. Détails (verrouillage en masse, effet sur le diagnostic) : [Verrouiller une séance](#page-timetables.lesson-lock). #### Tout faire à la main (sans génération) Rien n'oblige à lancer le solveur. Sur un EDT hebdomadaire de petite taille, ou quand le placement est très contraint par des choix humains, vous pouvez positionner **chaque séance** une à une (ou en lot dans la vue planning) et ne jamais générer. Le diagnostic en temps réel reste actif : les conflits (professeur, salle, classe, ressource) sont signalés au fil de l'eau, comme en génération. Vous publiez ensuite normalement. Pour des séances qui sortent de la grille (horaires explicites, examens élargis), voir [Séances hors grille](#page-timetables.off-grid-lessons). #### Et ensuite Une fois l'EDT positionné — à la main, par génération, ou les deux — [Publier (activer) un emploi du temps](#page-timetables.publication). #### Voir aussi - [Génération automatique](#page-timetables.generation) - [Verrouiller une séance](#page-timetables.lesson-lock) - [Séances hors grille](#page-timetables.off-grid-lessons) - [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) ### 3.18 Édition d'une séance de cours *Source: `help/fr/timetables/lesson-edit.md` · id: timetables.lesson-edit · Audience: admin · Updated: 2026-06-12* Une fois la séance créée (voir [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution)), vous en ajustez les **champs** un par un : matière, groupe, professeur, salle, ressources, durée, mémo, et — selon votre offre — statut et modalité. Cette page récapitule **tous les champs** d'une séance de cours et comment les modifier. #### Où s'édite une séance Les mêmes champs se règlent de **trois façons**, selon le mode d'affichage de la répartition (voir [Trois modes d'affichage](#page-timetables.hour-distribution)) : - **Post-its** : chaque carte de séance porte une rangée d'**icônes** (une par champ) ; un clic ouvre le sélecteur correspondant. - **Réorganisation** : un clic sur une séance ouvre une **fiche de cours** regroupant ces mêmes champs ; une multi-sélection les édite en lot. - **Listing** : une **colonne par champ**, avec édition massive depuis l'en-tête de colonne sur les séances cochées. Quel que soit le chemin, c'est la **même séance** que vous modifiez : les valeurs sont cohérentes d'un mode à l'autre, et rien n'est publié tant que vous n'avez pas enregistré. #### Champs standard Disponibles sur toutes les offres : - **Matière** Editer — la matière rattachée à la séance, parmi celles déclarées sur la classe. - **Groupe** Affecter un groupe — le groupe ou sous-groupe concerné quand la classe est partitionnée. - **Professeur** Affecter des professeurs — le ou les professeurs. Sélectionner **plusieurs** professeurs sur la même séance correspond à la **co-animation** (voir [Cours complexes](#page-core-concepts.complex-lessons)). - **Salle** Affecter une salle de classe — choisissez la salle principale de la séance ; les variantes avancées sont détaillées plus bas selon les fonctions actives sur le compte. - **Ressources** Affecter des ressources — le matériel mobilisé (vidéoprojecteur, tablettes, etc.), avec contrôle de disponibilité. - **Durée** — glissez la **bordure inférieure** de la carte (mode post-its) pour allonger ou raccourcir la séance. - **Position et verrou** Positionner sur l'emploi du temps — épinglez une séance pour que la génération ne la déplace pas (voir [Verrouiller une séance](#page-timetables.lesson-lock)). - **Mémo** Commentaire — un commentaire libre, avec niveaux de visibilité (voir [Mémos](#page-timetables.hour-distribution)). #### Salle et affectation L'affectation d'une salle Affecter une salle de classe est ouverte à toutes les offres : choisissez une salle dans la liste, ou laissez le **mode automatique** proposer une salle compatible (capacité, étiquettes, disponibilité). > _Premium_ #### Fonctions avancées de la séance ##### Statut de la séance Le **statut** Statut indique où en est une séance dans le cycle de planification. Quatre valeurs : - **Planifié** — le statut normal d'une séance positionnée. - **Brouillon** — séance **masquée** et **ignorée par la génération automatique** : utile pour préparer une séance sans l'imposer encore à l'emploi du temps. - **Annulé** — séance **affichée comme annulée** mais conservée pour mémoire ; elle est **ignorée par la génération**. - **Réalisé** — séance **réalisée**, prise en compte dans les tableaux de bord et la facturation. Ce statut est proposé sur les emplois du temps de type calendrier, où le suivi des séances effectives a un sens. Le statut est porté par la **séance entière** (et non par une variante de semaine alternée). On le change séance par séance, ou **en masse** depuis le mode listing. ##### Modalité La **modalité** précise comment la séance se déroule : - **En présentiel** ; - **À distance** ; - **Hybride** ; - **Travail autonome**. La modalité se choisit dans le sélecteur de salle, à côté de l'affectation. Elle a un effet concret : une séance **à distance** ou en **travail autonome** ne demande **pas de salle**, et la génération ne lui en réclame pas. L'icône de la séance reflète la modalité retenue. ##### Multi-salles Une même séance peut recevoir **plusieurs salles** : maintenez **Maj ⇧** en cliquant pour étendre la sélection. Pratique quand une cohorte se répartit sur deux salles voisines, ou qu'une séance occupe un espace doublé. Les salles retenues sont toutes réservées et participent aux conflits. ##### Durées et horaires personnalisés Au-delà de la durée lue sur la grille, une séance peut porter des **durées personnalisées** (durée réelle pour les tableaux de bord, durée comptabilisée pour la facturation) et un **horaire hors grille** (heures de début et de fin explicites). Ces réglages, ainsi que les classes hors grille, sont détaillés sur leur page dédiée : [Séances hors grille](#page-timetables.off-grid-lessons). #### Éditer plusieurs séances à la fois Pour appliquer une même valeur à un lot de séances : - en **réorganisation**, **Maj+clic** étend la sélection à une plage ; la fiche commune édite alors toutes les séances ensemble ; - en **listing**, cochez les séances voulues puis utilisez le **bouton d'action en en-tête** de la colonne (durée, professeur, groupe, salle, statut…). C'est la voie rapide pour, par exemple, basculer un ensemble de séances en **Brouillon** ou leur affecter une salle commune. #### Supprimer une séance L'icône Supprimer retire la séance. La suppression devient **définitive** à l'enregistrement : avant de sauvegarder, relisez les suppressions, car il n'y a pas d'annulation globale sur cet écran. #### Procédure — Changer le statut d'une séance 1. Ouvrez la répartition de la classe ([Étape 6](#page-timetables.hour-distribution)). 2. Cliquez sur l'icône de **statut** Statut de la séance (ou ouvrez sa fiche en mode réorganisation). 3. Choisissez le statut voulu — par exemple **Brouillon** pour la masquer de la génération. 4. Pour traiter un lot, passez en **listing**, cochez les séances et appliquez le statut depuis l'en-tête de la colonne. 5. **Enregistrez** pour publier les changements. #### Voir aussi - [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) - [Séances hors grille](#page-timetables.off-grid-lessons) - [Verrouiller une séance](#page-timetables.lesson-lock) - [Cours complexes](#page-core-concepts.complex-lessons) - [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) - [Détecter et résoudre les conflits](#page-timetables.conflicts) ### 3.19 Séances de cours et classes hors grille horaire *Source: `help/fr/timetables/off-grid-lessons.md` · id: timetables.off-grid-lessons · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Une **séance hors grille horaire** est une séance placée avec des heures de début et de fin explicites, au lieu de suivre exactement les bornes d'un créneau de la grille. Cette possibilité existe dans les EDT hebdomadaires, cycliques et calendriers. La **classe hors grille** est un réglage distinct : c'est une propriété de la classe, disponible pour les EDT de type calendrier. #### Séance avec horaire personnalisé Utilisez un horaire personnalisé lorsqu'une séance ponctuelle ne tombe pas exactement sur la grille : examen qui commence à `08:30`, intervention du soir, séance qui mord sur une pause, réservation qui commence avant le cours effectif. La séance reste visible dans l'EDT et continue à participer aux conflits. Toute entité utilisée par la séance — professeur, salle, classe, groupe ou ressource — est considérée occupée dès que l'horaire personnalisé mord sur un créneau horaire. Pour la génération automatique, la séance est traitée comme indéplaçable : sa position est verrouillée automatiquement. #### Quand utiliser un évènement plutôt qu'une séance Utilisez plutôt un [évènement ponctuel](#page-schedules.events) si le besoin n'est pas un cours de l'EDT : réunion, réservation simple, maintenance de salle, journée spéciale sans volume pédagogique à comptabiliser. Gardez une séance lorsque le volume doit rester rattaché à un cours, une matière, une classe, un professeur, un groupe ou un tableau de bord pédagogique. #### Classe hors grille La classe hors grille sert aux programmes dont toutes les séances doivent être stockées avec des horaires précis, indépendamment de la grille du site. Elle se configure à la création ou à la modification de la classe, uniquement dans les EDT de type calendrier. Cas typique : une formation continue utilise les mêmes salles et les mêmes professeurs que la formation initiale, mais fonctionne avec des horaires très différents. La classe peut alors être configurée hors grille, avec un pas horaire par défaut, par exemple le quart d'heure. Dans ce mode, les séances de la classe portent directement leurs heures de début et de fin. Elles **réservent** les professeurs, salles, classes, groupes et ressources concernés : un chevauchement avec une autre séance est signalé comme **conflit** — non bloquant pour le placement manuel, mais la génération automatique, elle, ne posera rien sur un créneau en conflit. #### Durées personnalisées Une séance peut également porter des durées personnalisées : - **Durée calculée** : durée déduite des heures de début et de fin ; - **Durée réelle** : durée utilisée en priorité dans les tableaux de bord ; - **Durée comptabilisée** : durée utilisée pour la facturation ou la paie du professeur. Exemple : pour un examen, vous pouvez réserver la salle avant et après l'épreuve, tout en comptant uniquement la durée réelle de l'examen dans le Tableau de bord. Pour un surveillant, la durée comptabilisée peut être plus élevée si l'établissement compense aussi la correction des copies. #### Points d'attention - Une séance avec horaire personnalisé peut chevaucher une pause ou un créneau normalement libre ; vérifiez que c'est bien l'intention. - Comme la séance est verrouillée pour la génération, elle peut contraindre fortement les placements automatiques autour d'elle. - Une classe hors grille est structurante : elle doit être choisie avant de créer massivement les séances de la classe. - Les **cours complexes** (alternances, concaténations, associations) sont **désactivés** dès qu'il y a des horaires explicites ou une classe hors grille : la fonctionnalité n'est pas disponible dans ce cas. #### Procédure — Créer une séance avec horaire personnalisé 1. Placez ou ouvrez la séance dans l'EDT. 2. Ouvrez l'édition de l'horaire personnalisé de la séance. 3. Saisissez l'heure de début et l'heure de fin. 4. Vérifiez les conflits sur les professeurs, salles, classes, groupes et ressources concernés. 5. Relancez la génération si nécessaire : la séance restera verrouillée et l'algorithme placera le reste autour d'elle. #### Voir aussi - [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) - [Paramètres généraux](#page-timetables.general-settings) - [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) - [Génération automatique](#page-timetables.generation) - [Évènements ponctuels](#page-schedules.events) ### 3.20 Verrouiller le positionnement d'une séance *Source: `help/fr/timetables/lesson-lock.md` · id: timetables.lesson-lock · Audience: admin · Updated: 2026-06-13* **Verrouiller une séance** signifie verrouiller sa **position** dans l'emploi du temps. La séance reste prise en compte par le solveur, mais la génération automatique ne peut plus la déplacer. Le repère visuel attendu est un **cadenas fermé** [lock]. À l'inverse, un **cadenas ouvert** [unlock] indique que la position peut encore être déplacée par une génération ou une opération de réorganisation. À ne pas confondre : l'icône de **positionnement** [thumbtack] sert à placer une séance sur l'emploi du temps. Elle ouvre ou active le placement ; elle n'est pas le marqueur de verrouillage. #### Quand verrouiller une séance Cas typiques : - **Intervenant extérieur** dont l'horaire est imposé. - **Examen daté** dont le créneau ou la salle sont déjà arrêtés. - **Sortie scolaire ou visite** programmée à un créneau bien précis. - **Salle externe à horaire imposé** (gymnase, piscine…) : possible par verrouillage, mais il vaut souvent mieux passer par les **contraintes horaires de la salle**, qui guident le solveur sans figer chaque séance une à une. - **Séance d'un [groupe libre](#page-core-concepts.free-groups)** placée manuellement à côté d'une séance principale. - **Position obtenue par une génération précédente** que vous voulez conserver avant de relancer une génération plus large. #### Comment verrouiller 1. Positionnez la séance sur l'emploi du temps si ce n'est pas déjà fait. 2. Ouvrez le détail de position de la séance. 3. Activez le **cadenas fermé** pour verrouiller la position. 4. Vérifiez que la séance affiche un cadenas sur sa position. Pour libérer la position, utilisez le **cadenas ouvert**. La séance peut alors être déplacée par une génération ou par certaines opérations de réorganisation. #### Actions en masse Dans la répartition des heures, le menu Actions propose aussi des opérations globales : - Verrouiller toutes les positions de séances verrouille les séances déjà positionnées ; - Déverrouiller toutes les positions de séances enlève le verrou sans retirer la position ; - Annuler tous les positionnements de séances enlève le verrou et retire la position. Cette dernière option est utile avant une nouvelle génération propre, lorsque vous voulez repartir de séances non positionnées. #### Effets côté génération et diagnostic Une séance verrouillée reste une contrainte forte pour le solveur. Les autres séances doivent se placer autour d'elle. Conséquence importante : si vous verrouillez une séance sur un créneau très contraint, Omniscol respecte cette décision. Les conflits ou avertissements restent visibles, mais le verrou indique que la position est volontaire. Dans le diagnostic, un problème porté par une séance verrouillée est ainsi rétrogradé d'alerte bloquante (rouge) en avertissement (orange) : Omniscol signale le point sans plus l'imposer comme blocage à corriger. #### À ne pas confondre - **Verrouillage de position d'une séance** : la séance garde son créneau pendant la génération. - **Verrou collaboratif** : mécanisme lié à l'édition simultanée par plusieurs administrateurs. Voir [Collaboration temps réel](#page-core-concepts.collaboration). - **Position sans salle verrouillée** : cas particulier où une séance doit rester sans salle attribuée automatiquement, via Verrouiller. #### Bonne hygiène - Avant de relancer une génération, vérifiez les séances verrouillées : trop de positions fixes réduisent la marge d'optimisation. - Après une phase de tests, déverrouillez ce qui ne doit pas être conservé. - Pour les groupes libres, placez la séance manuellement puis verrouillez sa position. Voir [Groupes libres](#page-core-concepts.free-groups). #### Voir aussi - [Génération automatique](#page-timetables.generation) - [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) - [Groupes libres](#page-core-concepts.free-groups) - [Détecter et résoudre les conflits](#page-timetables.conflicts) - [Solveur](#page-glossary.solver) ### 3.21 Détecter et résoudre les conflits (à la génération) *Source: `help/fr/timetables/conflicts.md` · id: timetables.conflicts · Audience: admin · Plan: standard · Updated: 2026-06-23* Omniscol détecte les conflits **en continu** pendant la **préparation** d'un emploi du temps et à chaque **positionnement manuel**. Le diagnostic distingue les **conflits bloquants** des **contraintes non respectées** et des **avertissements** qui demandent un arbitrage, et il code cette gravité par une **couleur** — sur les créneaux candidats et les listes de sélection quand vous placez une séance, et sur chaque ligne du panneau de diagnostic. La **génération automatique** est un calcul séparé (le solveur place sous contraintes, ou laisse une séance non posée) : son diagnostic est traité dans [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation). #### Ce que le diagnostic vérifie - **Occupation (double-réservation)** — un professeur, une classe, un groupe, un élève, une salle ou une ressource ne peut pas servir à deux séances qui se chevauchent, sauf modélisation explicite (groupes compatibles, partitions, grandes salles). - **Disponibilités et contraintes horaires** — période déclarée indisponible, ou contrainte horaire non respectée (professeur, classe, groupe, salle, matière, site), graduée selon la priorité de la contrainte. Une fenêtre de dates imposée, elle, est toujours bloquante. - **Capacité et service** — sur-effectif d'une salle, ressource demandée en trop d'exemplaires, salle inadaptée (capacité, spécialisation, site), ou heures de service d'un professeur dépassées. - **Débordement de grille** — les heures de cours à placer dépassent, ou approchent, le nombre de créneaux ouverts de la grille, pour un professeur ou pour une classe entière. - **Lieux et déplacements** — temps de trajet insuffisant entre deux sites pour un professeur ou une classe, ou deux matières déclarées incompatibles placées au même moment. - **Calendrier** — séance posée sur une absence (professeur ou classe), un jour fermé / des vacances, ou un événement incompatible. - **Modélisation** — alignement rompu (groupes alignés sans séance commune), nombre de séances différent entre groupes d'une même partition ou d'un même alignement, professeur ou salle manquant, ou configuration incomplète (site, grille, paramètre nécessaire avant la génération). #### Niveaux de gravité La même échelle de gravité — vert, jaune, orange, rouge — colore plusieurs endroits de l'édition. **Sur les créneaux candidats**, quand vous positionnez une séance (voir [Positionnement manuel](#page-timetables.manual-placement)). **Et sur chaque option des listes de sélection** : quand vous choisissez un professeur, une salle, une ressource, un groupe ou des participants pour une séance, chaque entrée porte une icône de calendrier colorée selon son niveau au créneau visé — verte si l'entité est libre, rouge si elle est occupée — avec le détail au survol. Seule une indisponibilité **rouge** (occupé, période fermée) empêche le choix ; une salle trop petite ou mal spécialisée reste sélectionnable, avec avertissement. | Couleur | Signification | | --- | --- | | **vert** | aucun conflit — l'entité est libre (ou une ressource reste sous sa limite) | | **jaune** | gêne légère, non bloquante (contrainte horaire de priorité moyenne, absence entièrement remplacée, salle correcte mais pas idéale) | | **orange** | contrainte forte (contrainte horaire de priorité élevée, salle remplie jusqu'à 110 % de sa capacité, heures de service jusqu'à 110 %, trajet entre sites trop court, matières incompatibles, jour fermé) | | **rouge** | conflit bloquant (double-réservation, contrainte horaire obligatoire ou fenêtre de dates imposée, salle au-delà de 110 % de sa capacité, absence non couverte, alignement rompu) | **Dans le panneau de diagnostic.** Chaque problème listé porte un niveau, repris par le filtre. Le panneau regroupe l'orange et le jaune sous un seul niveau « important », et ajoute un niveau « conseil » pour les informations non bloquantes : | Niveau | Sens | Couleurs de créneau correspondantes | | --- | --- | --- | | **rouge** | Conflit bloquant | rouge | | **jaune** | Contrainte non respectée / Avertissement | orange + jaune | | **bleu** | Conseil / Limite proche | pression de grille, partitions | Quand l'option Blocage des choix en conflit (contraintes fortes) est active, Omniscol empêche les choix qui créeraient une contrainte forte ; sinon, l'alerte reste visible pour que l'administrateur arbitre. ##### Débordement et pression de grille Omniscol compare en permanence les **heures de cours à placer** au **nombre de créneaux ouverts** de la grille — pour chaque professeur (par classe et par site) et pour chaque classe entière. Le message indique les deux valeurs, par exemple « 18 h / 16 h ». Trois paliers, selon le remplissage : | Palier | Remplissage | Lecture | | --- | --- | --- | | **bleu** — pression | grille remplie à 90–100 % | les limites seront bientôt atteintes ; le placement est déjà tendu | | **orange** — débordement faible | 100–110 % (heures > créneaux jusqu'à 110 %) | un EDT valide sera *probablement* impossible | | **rouge** — débordement fort | au-delà de 110 % | un EDT valide sera *quasi certainement* impossible | Ce calcul ne tourne que si au moins un site est configuré, et ne signale rien tant que la grille reste sous 90 %. Il mesure les heures requises face aux créneaux disponibles — à ne pas confondre avec le **dépassement d'heures de service** d'un professeur (heures enseignées face aux heures contractuelles), qui partage les mêmes couleurs mais reste une détection distincte. ##### Toutes les détections | Détection | Famille de filtre | Niveau | | --- | --- | --- | | Professeur, classe ou groupe déjà occupé | Conflits | rouge | | Salle déjà occupée | Conflits | rouge | | Alignement rompu (groupes alignés sans séance commune) | Conflits | rouge (orange si seule la salle ou la ressource diffère) | | Contrainte horaire non respectée (professeur, classe, groupe, salle, matière, site) | Contraintes horaires | obligatoire → rouge, élevé → orange, moyen → jaune (fenêtre de dates → toujours rouge) | | Sur-effectif d'une salle | Capacité | orange jusqu'à 110 % de la capacité, rouge au-delà | | Ressource en surnombre | Capacité | orange | | Salle inadaptée (capacité, spécialisation, site) | Capacité | jaune — forçable | | Heures de service d'un professeur dépassées | Capacité | orange jusqu'à 110 %, rouge au-delà | | Débordement / pression de grille | Débordement de grille | bleu → orange → rouge (voir ci-dessus) | | Temps de trajet insuffisant entre sites (prof, classe) | Distance | orange | | Matières incompatibles au même moment | Compatibilité | orange | | Aucune salle disponible parmi les salles autorisées | Salle manquante | jaune (rouge si aucune) | | Professeur manquant (cours sans professeur affecté) | Professeur manquant | jaune | | Salle manquante (séance placée sans salle requise) | Salle manquante | jaune | | Nombre de séances différent entre groupes d'une partition | Partitions | bleu (indicatif) | | Nombre de séances différent entre groupes alignés | Alignements | rouge (configuration bloquante) | | Professeur absent sur son cours | Absences | non couvert → rouge, remplacé → jaune, partiel (co-enseignement) → orange | | Classe absente | Absences | rouge | | Séance un jour fermé / vacances | Calendrier | orange (parfois forcé en rouge) | | Configuration incomplète (site, grille, paramètre) | — | bloquant avant la génération | ##### Naviguer depuis une alerte Chaque ligne du panneau est **cliquable** : la loupe [magnifying-glass] amène directement au cours, au groupe ou à la classe concerné — le moyen le plus rapide d'isoler le contexte d'un conflit. Pour un conflit de **groupes** (partition, alignement), l'icône [link] ne garde que les groupes en relation, ce qui fait ressortir la contrainte quand le diagnostic brut ne suffit pas. > _Premium_ #### Filtrer le diagnostic Le bouton Filtres des diagnostics (triangle d'alerte, en tête du panneau) ouvre un menu pour ne garder que les alertes utiles à l'analyse en cours. Son icône passe en orange tant qu'un filtre reste actif. On y règle : - **Niveaux** — afficher ou masquer le rouge (bloquant), le jaune (important / à vérifier), le bleu (conseil / limite proche). - **Entités** — classes, professeurs, salles, ressources, groupes, et les types d'événements de calendrier (événements, vacances, absences). - **Niveaux de classe**, **campus**, **sites** — restreindre à un périmètre. Le campus isole une entité organisationnelle (implantation, faculté, pôle) ; le site porte sur le lieu physique. - **Raisons** — activer ou désactiver chaque famille de détection : contraintes horaires, conflits, capacité, distance, professeur manquant, salle manquante, compatibilité, partitions, alignements. - **Intervalle** (EDT calendrier) — limiter aux prochaines semaines ou mois, et masquer le passé. - **Comportement** — Blocage des choix en conflit (contraintes fortes) empêche activement les placements qui créeraient un conflit fort. - **Réinitialiser** — tout réafficher. Un filtre ne résout pas un conflit : il masque seulement ce qui n'aide pas l'analyse en cours. #### Résoudre un conflit Les corrections les plus fréquentes sont : - déplacer une séance ; - changer de professeur, salle ou ressource ; - ajuster une contrainte trop forte ; - corriger une indisponibilité ou une absence saisie par erreur ; - créer ou corriger les groupes, partitions ou alignements ; - ajouter une salle compatible, une capacité ou une spécialisation ; - verrouiller une séance qui doit rester fixe avant de relancer une génération. Si la génération ne trouve pas de solution complète, elle peut retourner un EDT partiel : les séances non positionnées restent dans la barre des post-its des séances à placer. Corrigez les diagnostics prioritaires, puis relancez ou positionnez manuellement les cas restants. #### Cas qui demandent un arbitrage Certains signaux correspondent à une décision métier plutôt qu'à une erreur de saisie. Exemples : - examen avec une salle principale et une salle de tiers-temps ; - capacité déclarée supérieure aux places saisies quand l'établissement sait qu'une partie des inscrits ne sera pas présente ; - salle annexe non modélisée dans Omniscol. Dans ces cas, il vaut mieux modéliser explicitement la situation quand c'est possible : multi-salles, groupes adaptés, capacité corrigée ou événement séparé. Laisser une alerte volontaire doit rester une décision connue de l'équipe, pas un bruit permanent. #### Procédure 1. Ouvrez le diagnostic de l'EDT. 2. Filtrez si nécessaire par niveau, campus, site, entité ou type de problème. 3. Traitez d'abord les conflits bloquants. 4. Ouvrez le détail du problème pour identifier les séances et ressources impliquées. 5. Corrigez la séance, la contrainte ou la modélisation. 6. Relancez le diagnostic ou la génération pour vérifier que le problème a disparu. #### Voir aussi - [Conflit](#page-glossary.conflict) - [Diagnostic](#page-glossary.diagnostic) - [Campus](#page-glossary.campus) - [Génération automatique](#page-timetables.generation) - [Positionnement manuel](#page-timetables.manual-placement) - [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) ### 3.22 Diagnostiquer une génération qui échoue *Source: `help/fr/timetables/diagnosing-generation.md` · id: timetables.diagnosing-generation · Audience: admin · Updated: 2026-06-24* La génération « échoue » quand le solveur ne parvient pas à **tout caser** : il rend le meilleur EDT partiel trouvé, et les séances qu'il a dû **sacrifier** restent dans la barre des post-its à placer (une bannière rouge résume le blocage). Le problème est presque toujours une **sur-contrainte** : trop de cours pour les créneaux ouverts, ou des contraintes trop serrées pour s'emboîter. Le remède consiste à **relâcher** ce qui peut l'être — c'est l'objet de cette page. Pour comprendre comment le solveur priorise et ce qu'il sacrifie, voir [Génération automatique](#page-timetables.generation) ; pour le catalogue des conflits sur un EDT déjà posé, voir [Conflits et diagnostic](#page-timetables.conflicts). #### Le diagnostic est une piste, pas un verdict Quand une séance ne peut pas être positionnée, Omniscol met en avant **l'entité qui a posé le plus de problèmes** au fil des tentatives — « ce professeur n'a pas assez de créneaux », « cette classe ne tient pas dans sa grille ». **C'est une heuristique** : l'entité signalée est celle qui revient le plus souvent dans les blocages, pas nécessairement *la* cause unique. Les contraintes sont **croisées** — desserrer ailleurs peut tout débloquer. Prenez donc le message comme une **direction de recherche** : le vrai remède est souvent de **détendre la sur-contrainte générale** (un peu plus de créneaux, des disponibilités moins strictes) plutôt que de s'acharner sur l'entité pointée. #### Causes les plus fréquentes ##### 1. Disponibilités trop restrictives Un professeur a marqué tellement de plages comme **impossibles** qu'il ne reste pas assez de créneaux pour positionner ses séances. **Diagnostic** : examinez l'écran des disponibilités du professeur concerné. Comptez les créneaux libres et comparez à son volume horaire. **Résolutions** : - Assouplir certaines plages (passer du noir au rouge — indésirable mais pas impossible), - Redistribuer les cours (attribuer une partie à un autre professeur), - Discuter avec le professeur si la disponibilité est négociable. ##### 2. Pas de salle compatible Une matière requiert une **spécialisation** pour laquelle aucune salle n'est créée, ou toutes les salles correspondantes sont occupées sur les seuls créneaux possibles. **Résolutions** : - Créer la spécialisation manquante sur une salle adéquate, - Réduire la contrainte de spécialisation, - Ajouter une salle. ##### 3. Capacité insuffisante L'effectif d'un groupe / d'une classe dépasse la capacité de toutes les salles candidates. **Résolutions** : - Affecter une salle plus grande, - Affecter [plusieurs salles](#page-glossary.multi-room) à un même cours (la capacité totale est la somme), - Diviser la classe / le groupe. ##### 4. Alignement structurellement impossible Les volumes horaires des groupes alignés diffèrent, ou les classes parentes ont des grilles horaires incompatibles, ou un professeur aligné ne peut être qu'à un seul endroit. **Résolutions** : - Harmoniser les volumes horaires entre les groupes alignés, - Désaligner et créer un cours par classe, - Vérifier que les sites des classes alignées partagent une grille horaire commune sur le créneau cible. ##### 5. Trop de séances de cours pour la grille Quand une classe ou un professeur a manifestement plus d'heures que de créneaux ouverts, un **avertissement le signale en amont** (onglet **Génération**, compteurs heures vs créneaux). Le cas pervers est plus sournois : pris isolément, aucun débordement évident, mais l'**accumulation** des contraintes entre professeurs et classes — et leurs **croisements** — finit par ne plus rentrer. **Résolutions** : - Réduire les volumes horaires saisis, - Étendre la grille horaire (ouvrir le mercredi après-midi, par exemple), - Assouplir quelques indisponibilités, en visant les **plages que beaucoup d'entités évitent en même temps** : le cumul sature la grille. ##### 6. Incompatibilités trop nombreuses Empiler les contraintes « pas X après Y » peut créer un système sans solution. **Résolution** : remplacer certaines incompatibilités par des **poids pédagogiques** plus souples. ##### 7. Pas assez de salles (goulot d'étranglement) Très fréquent : même si chaque salle convient, leur **nombre** ne suffit pas à absorber la demande au même moment. Les séances de cours s'empilent sur les mêmes créneaux et le manque de salles devient le **goulot** qui empêche l'ensemble de rentrer. **Résolutions** : - Ajouter des salles (ou en mutualiser entre classes), - Étaler la demande en élargissant la grille horaire, - Réduire les contraintes qui concentrent les cours sur peu de créneaux. ##### 8. Plusieurs sites : les trajets rognent les heures Avec plusieurs sites, les **temps de trajet** entre implantations réduisent les créneaux réellement utilisables par un professeur (ou une classe) : changer de site coûte du temps, qui n'est plus disponible pour placer une séance. Les disponibilités effectives se resserrent et le casse-tête se complique. **Résolutions** : - Regrouper les cours d'un professeur sur un même site dans la journée, - Vérifier les temps de trajet déclarés entre sites, - Limiter les allers-retours inter-sites dans une même journée. #### Checklist avant de relancer une génération - Toutes les classes ont un site assigné ? - Toutes les classes ont leurs matières et leurs professeurs ? - Tous les groupes utilisés dans des cours ont un effectif théorique ou une capacité gérable ? - Les disponibilités de tous les professeurs sont validées ? - Pas d'alerte critique (rouge) dans l'onglet **Génération** ? #### Outils de diagnostic intégrés - **Onglet Génération** — *en amont* : statistiques (cours / heures par professeur, par classe, par site) et avertissements (heures vs créneaux, alertes critiques à corriger avant de lancer). - **Séances non placées** (post-its, à droite) — *après un échec* : la sortie d'une génération incomplète. Le bouton de positionnement (punaise) sur chacune montre, par les créneaux colorés, pourquoi aucune place ne convient. - **Détection de groupes oubliés** : groupes définis mais sans aucun cours affecté. #### Procédure — Diagnostiquer une génération qui échoue 1. **Quand la génération échoue**, Omniscol affiche une bannière rouge, garde l'EDT partiel visible, et place les séances qu'il n'a pas pu caser dans la **barre des post-its**, à droite. 2. **Lisez la bannière** : elle donne une **direction** (heuristique, cf. plus haut), pas un verdict. 3. **Partez des séances non placées, pas de « conflits ».** La génération ne crée jamais de conflit : elle laisse simplement de côté ce qui ne rentre pas. Prenez une séance dans les post-its et cliquez son bouton de positionnement (punaise, Positionner sur l'emploi du temps). 4. **Lisez les créneaux colorés.** Omniscol affiche tous les créneaux candidats ; pour une séance impossible à placer, ils sont tous bloqués. Cherchez **pourquoi**, dans l'ordre des trois bloquants usuels : le **professeur** occupé ou indisponible, la **classe** (ou le groupe) occupée, ou **aucune salle** libre et compatible. La raison s'affiche au survol du créneau. 5. **Relâchez la contrainte qui bloque** — selon le cas : assouplir des disponibilités, ajouter ou libérer une salle, harmoniser un alignement, élargir la grille (cf. les causes ci-dessus) — puis relancez. 6. **Avant de relancer**, parcourez la checklist plus haut (sites assignés, matières et professeurs en place, effectifs renseignés, disponibilités validées, pas d'alerte critique dans l'onglet **Génération**). #### Voir aussi - [Génération automatique](#page-timetables.generation) - [Conflits et diagnostic](#page-timetables.conflicts) - [Diagnostic](#page-glossary.diagnostic) - [Conflit](#page-glossary.conflict) - [Cas particuliers et configurations avancées](#page-faq.edge-cases) ### 3.23 Visualiser, dupliquer, réorganiser un EDT *Source: `help/fr/timetables/visualize-duplicate.md` · id: timetables.visualize-duplicate · Audience: admin · Updated: 2026-06-25* Une école a souvent **plusieurs EDT** à différents stades : l'EDT actif sur l'année courante, un brouillon pour la rentrée suivante, un scénario de test pour explorer une réorganisation. Cette page résume comment gérer ces multiples versions sans confusion, et à quoi servent les écrans **Visualiser** et **Réorganiser** une fois un EDT généré. #### Voir la liste des EDT Le module **Gestion des EDT** s'ouvre sur la liste des EDT du compte : actifs et brouillons. Pour chaque EDT, vous voyez : - son **libellé** (`Année 2026-2027`, `Brouillon rentrée 2027`, `Scénario fusion 6e/5e`), - son **statut** (publié ou non publié), - la **plage de semaines** sur laquelle il est publié (le cas échéant), - les **statistiques rapides** (nombre de classes, nombre de cours, nombre de professeurs). Les actions disponibles permettent notamment d'ouvrir, dupliquer ou supprimer un EDT. La suppression est désactivée sur un EDT publié. #### Visualiser un EDT généré Le bouton Visualiser ouvre l'EDT en **lecture seule** : vous regardez l'EDT final sans pouvoir le modifier. C'est l'écran à privilégier pour **relire** avant publication, **vérifier** une semaine ou un enchaînement de cours, **montrer** l'EDT sans donner accès aux fonctions d'édition, **exporter** ou **partager**. ##### Une inspection sans risque L'écran reprend le moteur d'affichage habituel des EDT, mais en mode **sécurisé** : pas de déplacement de séance, pas d'enregistrement, pas de correction involontaire. Vous y retrouvez les filtres d'affichage, le sélecteur de jours, les différents modes d'affichage (grille, liste, tableau, planning, jour, mois, vis-à-vis — détaillés dans [Affichage des EDT](#page-schedules.schedule-display)) et la fermeture rapide de plusieurs calendriers ouverts côte à côte. ##### Semaines alternées et variantes C'est particulièrement utile quand l'EDT gère des **semaines alternées** : vous affichez la vue **Toutes les semaines**, puis les **variantes** une par une via les onglets dédiés (A/B, 1/2, etc.). C'est souvent le moyen le plus simple de vérifier qu'un EDT récurrent est cohérent sur l'ensemble de ses variantes, sans le bruit des outils d'édition. ##### Partager en lecture seule Depuis cet écran, vous ouvrez la fonction de **partage** : vous diffusez le planning théorique complet en lecture seule à une tierce partie (partenaire externe, direction, responsable de site), via un lien web, sans ouvrir l'accès au compte Omniscol. Pour un EDT de type calendrier, un lien **iCal** est aussi disponible. Détails dans [Partager un EDT par lien public](#page-schedules.share-link). ##### Exporter (PDF, Excel, impression) L'écran Visualiser est le point naturel pour sortir un fichier de l'EDT affiché : - Exporter les données au format PDF pour générer un **PDF**, - Exporter les données au format Excel pour exporter en **Excel / XLSX**, - Imprimer pour l'**impression**. Pour les EDT de classes et de professeurs, c'est généralement le plus direct pour produire un document propre à transmettre. #### Réorganiser rapidement un EDT finalisé Le bouton Réorganiser ouvre le même EDT en mode **édition rapide**. L'idée n'est pas de refaire toute la construction de l'EDT, mais de corriger rapidement des cas marginaux sur un planning déjà abouti. Cas typiques : - déplacer une séance déjà générée, - changer une salle, un créneau ou une affectation ponctuelle, - ajouter une séance de cours isolée, - corriger quelques conflits résiduels sans repasser par toute la chaîne **répartition des heures → génération**. Dans cet écran, vous retrouvez la grille, les filtres, le panneau des créneaux disponibles, le bouton Ajouter et le bouton Enregistrer pour enregistrer les modifications. Si la modification devient **structurelle** (classes, groupes, matières, volumes horaires, contraintes globales), revenez plutôt aux étapes de construction de l'EDT ou dupliquez l'EDT pour travailler sur un brouillon. #### Dupliquer un EDT Trois cas typiques : - **Préparer l'année suivante** depuis l'EDT actif — voir [Préparer la rentrée suivante](#page-timetables.next-school-year). - **Créer un scénario de test** depuis l'EDT actif pour explorer une modification structurante sans risque (fusion de classes, réorganisation des sites, ajout d'une nouvelle filière). - **Repartir d'un ancien EDT conservé dans le compte** — récupérer une structure d'une année passée comme base pour une nouvelle. L'action Dupliquer ouvre un dialogue. La copie créée est toujours un **brouillon non publié** : elle ne devient active que lorsque vous la publiez explicitement. Le dialogue présente un arbre de cases **toutes cochées par défaut** : tout laisser coché produit une copie identique ; décocher une case retire l'élément correspondant de la copie. ##### Choisir ce qui est repris L'arbre suit la structure de l'EDT ; décochez une branche pour la reconstruire à neuf : - **Sites** — avec leurs salles et leurs ressources. Décocher les sites retire aussi les salles et les ressources portées par les séances de cours **et les placements des séances** : la copie repart alors d'une grille à replacer. - **Professeurs** — le vivier de professeurs de l'EDT. Décocher le vivier retire du même coup les affectations professeur-classe-matière et les professeurs portés par les séances de cours. - **Classes** — avec leurs groupes, leurs disponibilités, leurs incompatibilités et la répartition des heures. Chaque sous-branche se décoche séparément : groupes, disponibilités de classe, incompatibilités, ou le détail des séances de cours (groupes, salles, ressources, modalité, commentaire, positions…). - **Positions des séances** — décochée seule, la copie conserve toute la structure mais **la grille est vide** : c'est la façon propre de cloner une préparation pour relancer une génération depuis zéro. Les dépendances sont appliquées automatiquement : vous ne pouvez pas garder une salle sur une séance tout en retirant l'ensemble des sites, par exemple. Et quel que soit le niveau de détail décoché, Omniscol nettoie les références devenues orphelines — une classe qui pointait vers un site retiré, par exemple. ##### Transformer le type d'EDT > _Premium_ La même boîte de dialogue peut **convertir** la copie vers un type différent de l'original. Le sélecteur ne propose que les deux **autres** types. Convertir recale les séances sur la nouvelle représentation. - **Vers un calendrier** (depuis un hebdomadaire ou un cyclique) — vous indiquez une **période** (date de début et de fin). Chaque séance récurrente est **déployée en une séance datée pour chaque jour ouvré correspondant** de la période ; les jours fériés, fermetures et absences sont sautés. Le volume horaire de chaque matière est ajusté au nombre de semaines de la période, et les semaines alternées sont résolues date par date sur la bonne variante (A/B, A/B/C…). - **Vers un cycle** — vous indiquez la **longueur du cycle** en jours ouvrés ; chaque position devient un numéro de jour dans le cycle. - **Vers un hebdomadaire** (depuis un cyclique ou un calendrier) — chaque séance retombe sur son **jour de semaine**. Convertir vers un hebdomadaire ou un cycle est volontairement simplificateur : plusieurs séances qui tombaient le même jour de semaine se regroupent sur un même créneau, et les disponibilités datées d'un calendrier ne sont pas reportées. Réservez la conversion vers un calendrier aux cas où vous voulez réellement des dates explicites. > _Premium_ ##### Décaler les dates (EDT calendrier) Pour un EDT de type **calendrier**, la duplication peut **recaler toutes les séances** sur une nouvelle date de début — pratique pour rejouer la même organisation sur l'année suivante. Vous cochez l'option de décalage, indiquez la nouvelle date de début, et Omniscol décale la période puis réaligne chaque séance. Le principe : Omniscol **conserve la succession des journées de cours**. La Nᵉ journée de cours de la période d'origine devient la Nᵉ journée de cours de la nouvelle période — le réalignement suit les jours ouvrés, et non la date calendaire brute. Une séance peut donc **changer de jour de semaine**, pour deux raisons. D'abord parce que la nouvelle date de début ne tombe pas forcément le même jour que l'ancienne : si l'origine commence un lundi et la cible un mercredi, tout glisse de deux jours. Ensuite — et c'est le cas le plus fréquent — parce que les jours fériés et les fermetures des deux périodes ne coïncident pas. Les séances qui tombent hors de la nouvelle période **repassent en non positionnées** : les séances et tous ses détails restent, seul le placement est perdu. #### Réorganiser une école dans Omniscol Pour une réorganisation structurante (passage d'un fonctionnement en classes traditionnelles à un mode par groupes, fusion de niveaux, ouverture d'un nouveau site), travaillez sur un **EDT brouillon** dédié : 1. Dupliquez l'EDT actif vers `Scénario réorganisation 2027-2028`. 2. Modifiez la structure (classes, groupes, sites) dans le brouillon. 3. Lancez le diagnostic et la génération pour mesurer la faisabilité. 4. Itérez sans toucher au compte de production. 5. Quand le scénario est validé, vous pouvez basculer en publication. L'avantage : tant que le scénario reste brouillon, les utilisateurs finaux (élève, professeur) ne voient rien. Seuls les administrateurs ont accès au brouillon. #### Supprimer un brouillon inutile Un EDT non publié peut être supprimé depuis la liste. Pour conserver une trace avant suppression, ouvrez d'abord l'EDT puis exportez-le en JSON via [download]. Détails dans [Génération automatique](#page-timetables.generation). Un EDT publié ne doit pas être supprimé directement : retirez d'abord sa publication dans la grille de répartition si vous devez vraiment le sortir de l'opérationnel. #### Procédure — Créer un scénario de test à partir d'un EDT actif 1. **Pour explorer une réorganisation** (fusion de classes, nouveau site, passage en groupes) sans toucher au compte de production : travaillez sur un **brouillon de scénario** dupliqué depuis l'EDT actif. Les utilisateurs ne voient rien tant qu'il reste brouillon. 2. **Ouvrez le module Gestion des EDT** : la liste affiche les EDT du compte avec leur statut publié/non publié, leurs plages de semaines et leurs stats rapides (classes, cours, professeurs). 3. **Cliquez sur [copy] Dupliquer** sur l'EDT actif. Dialogue : cochez ce qui est repris — **sites** (salles, ressources), **professeurs**, **classes** (groupes, disponibilités), **cours** et leurs détails. Pour un scénario, gardez souvent structure et cours, en décochant les affectations de professeurs à refaire. 4. **Donnez un libellé parlant** : `S1 26-27`, `T3 2027`, `Test nouveau site Paris`, `Réorga groupes options`. Plus le libellé est explicite, moins vous risquez de confondre dans 3 mois. 5. **Modifiez la structure dans le brouillon** : créez ou fusionnez les classes, ajoutez le site, réorganisez les groupes. **Lancez la génération** pour mesurer la faisabilité. Itérez tranquillement — zéro impact sur l'EDT actif. 6. **Si le scénario est validé**, basculez en publication (voir [Publication](#page-timetables.publication)). Sinon, gardez-le comme brouillon ou exportez-le en JSON avant suppression. #### Voir aussi - [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) - [Affichage des EDT](#page-schedules.schedule-display) - [Partager un EDT par lien public](#page-schedules.share-link) - [Préparer la rentrée suivante](#page-timetables.next-school-year) - [Publication d'un EDT](#page-timetables.publication) ### 3.24 Préparer la rentrée suivante *Source: `help/fr/timetables/next-school-year.md` · id: timetables.next-school-year · Audience: admin · Plan: standard · Updated: 2026-06-25* La construction d'un EDT pour l'année suivante peut démarrer six à neuf mois avant, en parallèle de l'opérationnel. Le principe est de dupliquer l'EDT actif pour créer un brouillon, puis de travailler sur ce brouillon sans modifier l'EDT publié. #### Trois éléments à transposer Trois familles à reprendre depuis l'année courante vers l'année suivante : 1. **Structure** — sites/salles, classes, groupes, partitions, alignements, groupes de groupes. Souvent reconductible à 80-90 % d'une année sur l'autre, avec des ajustements en marge. 2. **Séances de cours** — la liste des cours à programmer (matière, classe, professeur, durée, nombre d'occurrences hebdomadaires). Reconductible à 70-80 %, avec les évolutions de programme. 3. **Affectations professeur-classe-matière** — qui enseigne quoi. Plus volatile (départs, arrivées, changements de service). #### Lancer la duplication Depuis le module Gestion des EDT, utilisez l'action Dupliquer sur l'EDT qui servira de base. Le dialogue coche tout par défaut ; décochez ce que vous préférez reconstruire : - **Sites** — avec leurs salles et leurs ressources. - **Professeurs** — l'affectation des professeurs à l'EDT ; leurs disponibilités suivent. Selon votre politique, en EDT récurrent, vous pouvez préférer leur redemander leurs disponibilités pour la nouvelle année plutôt que reprendre les anciennes. - **Classes** — avec leurs cours, groupes, alignements, disponibilités et incompatibilités. - **Séances de cours** (répartition des heures) — avec le détail à conserver ou non : affectations des professeurs aux séances, groupes, salles, ressources, positions. Souvent à passer en revue, car les professeurs et les élèves vont changer. Le brouillon créé n'est pas publié : il ne touche pas l'EDT actif sur l'année courante. Pour les EDT hebdomadaires ou cycliques, la publication sur les semaines de l'année suivante se fait ensuite dans la grille de répartition. La duplication peut aussi, au passage, **décaler les dates** des séances (pour un EDT calendrier) ou **transformer le type d'EDT** : ces deux options et leurs effets — notamment le réalignement des séances et les regroupements — sont détaillés dans [Visualiser, dupliquer, réorganiser](#page-timetables.visualize-duplicate). #### Travailler sur le brouillon L'EDT préparé apparaît dans la liste comme brouillon. Renommez-le avec un libellé explicite, par exemple `S1 27-28`. Vous pouvez : - l'ouvrir pour modifier les classes, ajouter les nouveaux professeurs, retirer les anciens, - demander aux professeurs en place leurs disponibilités pour la nouvelle année (envoi en masse via le module Administration), - lancer la génération automatique pour vérifier la faisabilité, - itérer tranquillement pendant des mois. #### Publication à la rentrée Quand l'EDT brouillon est prêt et que la nouvelle année scolaire arrive, vous le **publiez** sur les semaines voulues. Voir [Publication](#page-timetables.publication). Le brouillon devient l'EDT actif, l'ancien EDT reste consultable comme historique. #### Procédure — Préparer la rentrée N+1 1. **Démarrer N+1 en parallèle de l'opérationnel** : Omniscol isole le brouillon de l'EDT courant. Vous itérez sereinement pendant des mois sans rien casser. 2. **Préalable** : créez l'année scolaire N+1 dans [Administration → Année scolaire](#page-admin.school-year) avec ses dates et ses vacances. Elle sera nécessaire au moment de publier sur les semaines de cette année. 3. **Côté Gestion des EDT**, utilisez l'action Dupliquer sur l'EDT de référence. Tout est coché par défaut ; décochez ce qui sera reconstruit : - **Sites**, salles et ressources. - **Professeurs** affectés à l'EDT (leurs disponibilités suivent) — souvent à revoir, voire à redemander pour l'année neuve. - **Classes**, groupes et alignements — reconductibles à 80-90 %. - **Séances de cours** et leurs détails (affectations, salles, positions…) — à revoir, professeurs et élèves vont changer. 4. **Le brouillon est créé**. Renommez-le clairement, ouvrez-le, puis ajustez les classes (arrivées, départs, fusions), ajoutez les nouveaux professeurs et retirez les anciens. 5. **Demandez les disponibilités** aux professeurs en place via envoi en masse depuis Administration. **Lancez la génération auto** pour vérifier la faisabilité au plus tôt — itérez sur les contraintes, les volumes, les professeurs. 6. **Quand vous êtes prêt à la rentrée**, **publiez** le brouillon sur les semaines voulues (voir [Publication](#page-timetables.publication)). Le brouillon devient l'EDT actif sur N+1, l'ancien EDT N reste consultable comme historique. ⚠ N'oubliez pas la **flèche droite** de la ligne de temps ou changer l'année via le sélecteur, sinon vous restez sur l'année N (cf. [Ligne de temps et navigation temporelle](#page-core-concepts.timeline-navigation)). #### Voir aussi - [Année scolaire et vacances](#page-admin.school-year) - [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) - [Publication d'un EDT](#page-timetables.publication) - [Visualiser, dupliquer, réorganiser](#page-timetables.visualize-duplicate) --- ## 4. Tableau de bord ### 4.1 Vue d'ensemble du module Tableau de bord *Source: `help/fr/dashboard/overview.md` · id: dashboard.overview · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-25* Le module **Tableau de bord** (icône [gauge-high] dans le menu de gauche) regroupe les statistiques calculées sur l'EDT opérationnel (séances réellement positionnées et publiées, en tenant compte des [absences](#page-glossary.absence) et des [remplacements](#page-glossary.substitution)). C'est un outil de **reporting** et de **pilotage** : combien d'heures chaque professeur a-t-il enseignées, quelle est l'occupation des salles, quel volume horaire par matière par classe, combien de jours de présence par élève. #### Indicateurs disponibles Six axes d'analyse, accessibles par les onglets du module : - Professeurs — matières enseignées, nombre de classes, heures comptabilisées, heures supplémentaires, heures annulées. - Salles — heures occupées, jours d'ouverture, heures par jour, élèves accueillis. - Ressources — heures d'utilisation, jours d'utilisation, quantité par jour. - Matières — heures de cours, jours, séances, détail par classe. - Classes — heures totales (avec proportion par groupe), jours, détail par matière et par professeur. - Élèves — séances, heures, jours de présence, détail par matière. #### Période d'analyse Filtrable par **semaine**, **mois**, **année scolaire** ou **plage de dates personnalisée**. La ligne de temps en haut sert à naviguer temporellement. #### Export Le bouton Imprimer ouvre un tableau copiable, imprimable ou exportable en CSV. Pour transmettre ces chiffres, voir [Lien de partage](#page-glossary.share-link). Un lien iCal n'a pas de sens ici : le Tableau de bord ne contient que des statistiques, pas de séances datées. #### Partage Le bouton Partage génère un lien public en lecture seule sur les statistiques de la période. Utile pour les auditeurs externes, les responsables pédagogiques sans compte Omniscol, etc. #### Voir aussi - [Tableau de bord](#page-glossary.dashboard) - [Statut](#page-glossary.lesson-status) - [Consulter et filtrer](#page-schedules.consult-and-filter) - [Gestion des EDT](#page-timetables.overview) ### 4.2 Utiliser les tableaux et graphiques *Source: `help/fr/dashboard/tools-and-filters.md` · id: dashboard.tools-and-filters · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Les onglets du **Tableau de bord** combinent un tableau et des graphiques. Le tableau sert à contrôler le détail ; les graphiques servent à visualiser rapidement la répartition ou les valeurs extrêmes. #### Recherche et graphiques La recherche filtre les lignes du tableau. Les graphiques se recalculent sur les lignes visibles : si vous cherchez une matière, un site ou un professeur, les graphiques reflètent uniquement ce périmètre. La recherche est tolérante aux majuscules, aux accents et aux espaces superflus. Plusieurs mots dans la même recherche sont interprétés comme des critères à respecter ensemble. Une virgule permet de chercher plusieurs possibilités. Exemples : - `math durand` affiche les lignes qui contiennent à la fois `math` et `durand`. - `amphi, laboratoire` affiche les lignes correspondant à l'un ou l'autre terme. - `site nord >50` peut servir, dans une liste de salles, à isoler les salles du site nord dont la capacité dépasse 50 places. #### Tri des colonnes Les en-têtes de colonnes triables permettent de réordonner le tableau : ordre alphabétique pour les noms, ordre numérique pour les compteurs, ordre horaire pour les durées. Cliquez de nouveau sur le même en-tête pour inverser le tri. Le tri est utile avant un export : vous pouvez par exemple faire remonter les professeurs avec le plus d'heures ajoutées, les salles les plus occupées ou les classes ayant le plus fort volume horaire. #### Copier un graphique Pour réutiliser un graphique dans un document, un courriel ou une présentation : 1. filtrez le tableau si nécessaire ; 2. vérifiez que le graphique affiche le bon périmètre ; 3. faites un clic droit sur le graphique ; 4. choisissez **Copier l'image** dans le navigateur. Le graphique copié correspond à l'état affiché à l'écran. #### Exporter ou partager Le bouton Imprimer ouvre les options de copie, d'impression ou d'export proposées pour le tableau affiché. Selon l'onglet, l'export peut servir à préparer un fichier Excel pour la comptabilité, à transmettre un relevé à un responsable pédagogique ou à conserver une trace pour audit. Le bouton Partage crée un lien de partage en lecture seule. Le destinataire consulte les statistiques de la période sans pouvoir modifier l'EDT. #### Voir aussi - [Recherche et filtres](#page-core-concepts.search-and-filter) - [Statistiques professeurs](#page-dashboard.teachers) - [Statistiques salles](#page-dashboard.classrooms) ### 4.3 Statistiques professeurs *Source: `help/fr/dashboard/teachers.md` · id: dashboard.teachers · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* L'onglet Professeurs consolide les heures réellement comptabilisées sur la période affichée. Il sert au suivi de service, à la préparation de la paie, aux exports comptables et au contrôle des remplacements. #### Indicateurs principaux - **Heures comptabilisées** : volume retenu pour le suivi administratif et, selon l'organisation de l'établissement, pour la paie. - **Heures supplémentaires** (Heures supplémentaires) : heures issues d'un remplacement dans le module Gestion des absences ou d'un ajout manuel sur une séance datée d'un EDT récurrent. - **Heures annulées** (Heures annulées) : heures retirées par une absence ou par la suppression manuelle d'une séance datée d'un EDT récurrent. - **Classes et matières** : périmètre d'enseignement du professeur sur la période. - **Types de cours** : détail des volumes par type de cours lorsque les cours sont typés. Les heures supplémentaires et annulées permettent de distinguer le service prévu du service effectivement réalisé sur la période. #### Détail par type de cours Le détail par type de cours est utile quand la comptabilisation dépend du format pédagogique : cours magistral, TD, TP, accompagnement, atelier, ou toute autre typologie configurée par l'établissement. Ce détail aide à vérifier les volumes payables, les règles internes de valorisation et les besoins de justification auprès de la comptabilité ou d'un organisme d'audit. #### Export, partage et comptabilité Le tableau peut être copié, imprimé ou exporté pour un traitement dans Excel ou dans un outil comptable. Le lien de partage en lecture seule permet de transmettre un relevé sans donner accès à l'édition de l'EDT. Pour un raccordement récurrent avec un logiciel de comptabilité, un flux ETL ou une intégration dédiée peut reprendre ces statistiques selon le format attendu par l'établissement. > _Premium_ Sur un compte **Premium**, l'export de ce tableau ajoute deux colonnes issues du suivi fin des séances : **Durée réelle** (durée réellement effectuée, distincte de la durée comptabilisée) et **Réalisé** (volume dont la séance est marquée réalisée). Pratique pour rapprocher service prévu, service comptabilisé et service effectivement assuré. À l'inverse, les séances en **Brouillon** ou **Annulé** sont exclues de ces chiffres. Voir [Statut](#page-glossary.lesson-status). #### Points de contrôle Avant d'utiliser ces chiffres pour la paie, vérifiez que la période est correcte, que les absences ont été validées, que les remplacements sont bien enregistrés et que les séances datées ajoutées ou retirées reflètent la réalité opérationnelle. #### Voir aussi - [Suivi et export des absences](#page-absences.statistics) - [Statut](#page-glossary.lesson-status) - [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) - [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) ### 4.4 Statistiques salles *Source: `help/fr/dashboard/classrooms.md` · id: dashboard.classrooms · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* L'onglet Salles analyse l'utilisation réelle des salles sur la période affichée. Il sert à repérer les salles sous-utilisées, les salles trop sollicitées et les déséquilibres par site ou bâtiment. #### Indicateurs suivis Le tableau affiche notamment le nombre de séances, les heures occupées, les jours d'utilisation, les heures par jour et les effectifs accueillis. Lorsque les données sont renseignées, les colonnes de site, bâtiment, spécialisation et tags facilitent les analyses par zone ou par type de salle. Les graphiques aident à visualiser la répartition de l'occupation, les volumes d'heures et les écarts de fréquentation. #### Sous-utilisation et sur-utilisation Une salle très peu remplie par rapport à sa capacité peut signaler une mauvaise affectation, une salle spécialisée mal exploitée ou un rééquilibrage possible. Les salles utilisées à moins de 25 % de leur capacité méritent généralement une vérification. À l'inverse, une salle utilisée au-delà de sa capacité signale un risque opérationnel : effectif trop élevé, salle mal affectée ou données de capacité à corriger. #### Analyse des bâtiments L'onglet permet de répondre à des questions comme : - quels bâtiments concentrent l'occupation ; - quelles salles restent peu utilisées ; - quelles spécialités de salles manquent ou sont surdimensionnées ; - quels sites pourraient être réorganisés. Pour des analyses plus fines, par exemple comparer les heures occupées aux heures d'ouverture d'un bâtiment ou aux plages de cours possibles, l'établissement peut exporter le tableau et le retravailler dans un outil externe, ou interroger le compte depuis un agent IA externe raccordé en [MCP](#page-integrations.mcp), selon le profil, les droits et les outils exposés. #### Filtrer les salles La recherche accepte les comparateurs de capacité (`>50`, `<=100`, etc.) et les termes de site, bâtiment, spécialisation ou tags. Les graphiques se recalculent sur les salles filtrées. #### Voir aussi - [Recherche et filtres](#page-core-concepts.search-and-filter) - [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) - [Sites, salles et ressources](#page-timetables.sites-rooms) ### 4.5 Statistiques matières *Source: `help/fr/dashboard/subjects.md` · id: dashboard.subjects · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* L'onglet Matières montre comment les volumes d'enseignement se répartissent sur la période affichée : globalement, par classe, par professeur et par type de cours lorsque cette information est renseignée. #### Ce que la page permet de vérifier - le volume total consacré à chaque matière ; - la répartition par classe ; - la répartition par professeur ; - la part de chaque type de cours, par exemple TP, TD, cours magistral ou atelier ; - les éventuelles modalités utilisées par l'établissement. #### Analyse pédagogique Cette vue aide à contrôler que les volumes réellement programmés restent cohérents avec les maquettes pédagogiques, les engagements de formation et les répartitions attendues entre types d'enseignement. Elle est particulièrement utile pour répondre à des questions comme : combien d'heures de TP ont été planifiées, quelle classe reçoit le plus d'heures dans une matière, ou quels professeurs assurent une matière sur la période. #### Graphiques et filtres La recherche permet d'isoler une matière, une classe, un professeur ou un type de cours. Les graphiques se recalculent sur les lignes visibles, ce qui permet de produire rapidement une vue ciblée avant copie ou export. #### Voir aussi - [Statistiques classes](#page-dashboard.classes) - [Statistiques professeurs](#page-dashboard.teachers) - [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) ### 4.6 Statistiques classes *Source: `help/fr/dashboard/classes.md` · id: dashboard.classes · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* L'onglet Classes consolide les volumes suivis par chaque classe sur la période affichée. Il sert à contrôler la charge réelle de formation, les répartitions par matière et les justificatifs demandés lors d'accréditations ou de certifications. #### Indicateurs suivis La page permet notamment de suivre : - les heures totales de la classe ; - le nombre d'étudiants théorique et réel lorsque les groupes sont renseignés ; - les jours de cours ; - la répartition par matière ; - la répartition par professeur ; - le détail par type de cours ; - les groupes et sous-groupes impliqués. #### Accréditations et certifications Les statistiques classes aident à documenter les volumes dispensés dans un programme. Elles peuvent être utiles pour des démarches comme Qualiopi ou CTI en France, ou AMBA, EQUIS et AACSB à l'international, lorsque l'établissement doit justifier les volumes, formats et répartitions d'enseignement. #### Qualité des données La précision dépend de la qualité des classes, groupes, matières, types de cours et affectations professeurs dans l'EDT. Les groupes bien renseignés permettent d'obtenir des chiffres plus fiables sur les volumes réellement suivis par les étudiants concernés. #### Voir aussi - [Statistiques matières](#page-dashboard.subjects) - [Statistiques professeurs](#page-dashboard.teachers) - [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) ### 4.7 Statistiques étudiants et ressources *Source: `help/fr/dashboard/students-resources.md` · id: dashboard.students-resources · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-05-18* Les onglets Élèves et Ressources complètent l'analyse du Tableau de bord. Ils sont plus ciblés que les vues professeurs, salles, matières ou classes, mais restent utiles pour contrôler les données opérationnelles. #### Élèves L'onglet Élèves présente les séances, heures et jours suivis par élève sur la période affichée. Lorsque les classes, groupes et sous-groupes sont correctement renseignés, les statistiques reflètent plus précisément les volumes réellement concernés par chaque élève. Les absences sont prises en compte avec des colonnes dédiées, notamment le nombre d'heures, de séances et de jours d'absence. Cette vue aide à repérer les situations individuelles qui demandent une vérification ou un suivi administratif. #### Ressources L'onglet Ressources suit l'utilisation des ressources matérielles : heures d'utilisation, jours d'utilisation et quantité mobilisée par jour. Il sert surtout à vérifier qu'un matériel partagé est effectivement utilisé et à repérer les périodes ou ressources peu sollicitées. #### Exploitation Comme dans les autres onglets, la recherche filtre les lignes visibles, les graphiques s'adaptent au périmètre affiché et les données peuvent être copiées, imprimées, exportées ou partagées en lecture seule. #### Voir aussi - [Statistiques classes](#page-dashboard.classes) - [Absences classes et étudiants](#page-absences.class-and-student-absences) - [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) --- ## 5. Usage quotidien (module Emploi du temps) ### 5.1 Consulter et filtrer les emplois du temps *Source: `help/fr/schedules/consult-and-filter.md` · id: schedules.consult-and-filter · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* Le module **EDT** (icône [calendar-days] dans le menu de gauche) est l'écran de consultation au quotidien. Il affiche les EDT publiés sur la période sélectionnée, avec tous les filtres et toutes les vues utiles. #### Filtres disponibles - **Classe**, **professeur**, **groupe** (avec ou sans la classe entière), - **Salle**, **ressource**, - **Professeurs par matière**, **équipe pédagogique** (tous les professeurs d'une classe), **matière**, - **Type de cours** (TD, TP, examen, magistral…) si configuré, - **Élève** (si les élèves sont saisis et affectés à des classes). Vous pouvez **empiler plusieurs EDT à la suite** : pratique pour avoir sous les yeux la classe et un professeur particulier, ou plusieurs classes en parallèle. #### Vues Le composant d'affichage combine deux niveaux : - un **mode de rendu** : **grille**, **liste** ou **tableau** type tableur ; - une **organisation temporelle** : **semaine**, **jour**, **mois**, **planning** (et **planning par heures**) ou **vis-à-vis**. La grille est la vue calendrier standard. Le tableau, lui, sert à présenter la vue en cours dans un format tabulaire plus proche d'un tableur ; ce n'est pas la vue de base. Voir [Affichage des EDT](#page-schedules.schedule-display). #### Ligne de temps et navigation La **ligne de temps** en haut indique : - les **vacances** en barres horizontales grises, - la **période sélectionnée** (semaine, mois, parfois année scolaire) en zone verte avec dates en surimpression, - la **navigation** : touches gauche/droite du clavier, swipe sur smartphone, ou boutons `◀ ▶︎`. Les boutons `◀` et `▶︎` aux **extrémités** de la ligne de temps permettent de **changer d'année scolaire**. #### Cache et performance Omniscol exploite intensivement le cache navigateur. L'application ne recharge les EDT que quand vous changez de semaine — cliquer à nouveau sur la semaine active **force un rafraîchissement**. Cela permet à Omniscol de fonctionner même sur connexion 2G (Edge), et de continuer à fonctionner pendant des micro-coupures internet (les requêtes seront rejouées au retour). #### Mode édition Le bouton Réorganisation fait basculer en mode édition : voir [Modifications ponctuelles](#page-schedules.ad-hoc-changes). #### Exporter / partager - Imprimer — imprimer la sélection courante (ou l'enregistrer en PDF via le navigateur). - Partage — ouvrir la fenêtre de partage : [lien web](#page-glossary.share-link) public, abonnement [iCal](#page-glossary.ical) ou représentation JSON (API) selon vos droits. #### Voir aussi - [Modifications ponctuelles](#page-schedules.ad-hoc-changes) - [Conflits et diagnostic](#page-timetables.conflicts) - [Affichage des EDT](#page-schedules.schedule-display) - [Statut](#page-glossary.lesson-status) - [Imprimer et partager](#page-schedules.print-and-export) ### 5.2 Affichage des EDT : grille, liste, tableau, planning, mois, vis-à-vis *Source: `help/fr/schedules/schedule-display.md` · id: schedules.schedule-display · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-26* Cette page décrit l'**affichage commun des EDT** dans Omniscol. On le retrouve dans **EDT**, dans l'écran **Répartition des heures** quand on bascule en vue **emplois du temps**, dans les écrans **Visualiser** et **Réorganiser** de **Gestion des EDT**, et plus largement dans les autres écrans qui ouvrent un calendrier d'EDT avec le même moteur d'affichage. Les mêmes séances peuvent être lues sous plusieurs présentations sans changer les données affichées : on change l'affichage, pas l'EDT. #### Changer d'affichage Les icônes de transformation sont attachées à **chaque EDT affiché**. Pour les faire apparaître, **survolez le titre de l'EDT** : la barre de titre révèle alors les icônes de transformation de la vue. Cliquez celle que vous voulez : - [calendar] pour la **grille**, [table-list] pour la **liste**, [table] pour le **tableau** (réservé aux administrateurs, sur ordinateur) ; - sur un **planning par heures**, [up-down] **inverse les jours et les colonnes**. La barre de titre porte aussi le partage et la fermeture du calendrier. Comme chaque EDT garde son propre affichage, sur plusieurs calendriers empilés vous pouvez en lire un en liste et un autre en grille. #### Trois modes de rendu pour un même EDT Le premier niveau de bascule concerne le **rendu** des mêmes séances. ##### Grille La **grille** (Vision en grille) est la vue calendrier standard : jours en colonnes, créneaux ou heures en lignes, séances placées dans leurs cases. C'est la vue de référence pour lire un EDT semaine par semaine. C'est particulièrement utile pour : - repérer immédiatement les trous, chevauchements et amplitudes, - comparer visuellement une classe, un professeur ou une salle, - modifier ou relire un EDT dans un repère temporel familier. ##### Liste La **liste** (Vision en liste) affiche les séances les unes sous les autres, dans l'ordre chronologique. C'est particulièrement utile pour : - parcourir vite une longue période sur petit écran, - rechercher une séance précise avec les filtres, - relire séquentiellement les horaires, salles et affectations. ##### Tableau Le **tableau** est un **rendu type tableur** de la vue en cours. Il sert à auditer, imprimer, copier les données vers un tableur ou, selon l'écran, lancer directement un export fichier. Ce n'est **pas** la vue calendrier standard. Selon le contexte, il peut reprendre : - une grille jours × créneaux dans un format plus tabulaire, - ou une séance par ligne quand l'affichage source est déjà en liste. Il est particulièrement utile pour : - contrôle administratif, - copier-coller vers un logiciel tableur, - export direct en **PDF**, **CSV** ou **Excel / XLSX** quand l'écran le propose, - vérifications ligne par ligne. #### Portée temporelle : semaine, jour, mois Le second niveau de bascule concerne la **période affichée**. - **Semaine** : vue par défaut dans la plupart des cas. - **Jour** : même logique que la grille standard, mais resserrée sur une seule journée pour lire plus finement un planning chargé. - **Mois** : vision longue portée. En mode calendrier, l'affichage prend la forme d'une grille mensuelle matricielle ; en mode tableau, on reste sur un rendu tabulaire du même contenu. Le sélecteur Choix des journées à afficher permet en plus de masquer ou d'afficher certains jours dans les vues concernées. #### Planning Un **planning** se compose depuis le menu des filtres : il juxtapose plusieurs entités ou plusieurs jours dans une même vue, pour raisonner sur des ensembles. Deux variantes, selon l'axe que vous voulez lire : - **Ajouter un planning** (icône [table-cells]) place une **entité par ligne** (classe, professeur, salle, matière) et les heures de chaque jour en colonnes — pour comparer plusieurs entités sur une même journée. - **Ajouter un planning par heures** (icône [table-columns]) place les **heures en axe vertical** (à l'échelle du temps) et une **colonne par entité et par jour** — pour lire l'occupation et les enchaînements sur une vraie échelle horaire. Un bouton [up-down] inverse au besoin les jours et les colonnes. Le planning sert notamment à : - afficher **plusieurs entités côte à côte pour une même journée**, - afficher **plusieurs jours pour une ou plusieurs entités**, - lire l'occupation au mois, - contrôler les enchaînements, les transitions ou les disponibilités. Il complète la grille calendrier et répond à d'autres questions : choisissez-le pour raisonner sur des ensembles d'entités ou de jours. #### Vis-à-vis La fonction Diviser l'écran ouvre un **vis-à-vis** : deux à quatre EDT affichés côte à côte, chacun gardant ses propres filtres et son propre mode d'affichage. C'est utile pour : - comparer deux classes ou deux professeurs, - caler un cours commun ou une surveillance partagée, - vérifier qu'un créneau libre existe simultanément des deux côtés. #### Ce qui reste identique quand on change d'affichage Basculer d'un mode à l'autre ne modifie pas les séances. Vous gardez le même fond de données, avec selon les cas : - les mêmes filtres d'entités, - la même période sélectionnée, - les mêmes conflits ou absences visibles, - les mêmes actions d'impression, d'export ou de partage selon les droits de l'utilisateur. #### Procédure — Choisir le bon affichage selon la tâche 1. **Pour lire rapidement un EDT** : partez de la **grille**. C'est la vue calendrier standard, la plus lisible pour une semaine de cours. 2. **Pour parcourir les séances une à une** : passez en **liste**. Utile sur petit écran ou pour retrouver une séance précise. 3. **Pour copier, imprimer, exporter ou auditer en mode tableur** : utilisez le **tableau**. C'est un rendu tabulaire de la vue en cours, pas la vue de base de l'EDT. 4. **Pour zoomer sur une seule journée** : choisissez la portée **jour**. 5. **Pour prendre du recul sur plusieurs semaines ou plusieurs dates** : passez en **mois** ou ouvrez un **planning** selon la question à traiter. 6. **Pour croiser plusieurs entités ou plusieurs jours dans une même lecture** : ajoutez un **planning** (ou un **planning par heures** pour une échelle horaire). 7. **Pour comparer deux EDT séparés** : utilisez le **vis-à-vis**. #### Voir aussi - [Consulter et filtrer](#page-schedules.consult-and-filter) - [Visualiser, dupliquer, réorganiser](#page-timetables.visualize-duplicate) - [Mode d'affichage de l'EDT](#page-glossary.schedule-view-mode) ### 5.3 Modifications ponctuelles d'un EDT publié *Source: `help/fr/schedules/ad-hoc-changes.md` · id: schedules.ad-hoc-changes · Audience: admin · Plan: standard · Updated: 2026-06-26* Omniscol n'est pas seulement un générateur d'EDT pré-rentrée — c'est aussi un outil opérationnel pour gérer les modifications quotidiennes au fil de l'année. #### Activer le mode édition Cliquez sur Réorganisation. Tous les calendriers ouverts basculent en mode réorganisation. Les calendriers nouvellement ouverts seront aussi directement éditables. Positionnez-vous sur la semaine à modifier (ligne de temps en haut). #### Modifier une séance Cliquez sur une séance, un panneau apparaît (que vous pouvez déplacer ou rendre semi-transparent) avec tous les attributs modifiables : - professeur(s), - groupe éventuel, - ressources, - salle(s) (voir [multi-salles](#page-glossary.multi-room)), - mémos. #### Modifier plusieurs séances à la fois En mode réorganisation, **Maj+clic** sur plusieurs séances les sélectionne ensemble (à partir de deux, elles ressortent en surbrillance). Le panneau devient alors une **fiche commune** : la salle, le ou les professeurs, les ressources, le mémo ou la durée que vous y réglez s'appliquent à **toutes les séances sélectionnées** à l'enregistrement — pratique pour changer de salle un bloc de séances d'un coup. Voir [Édition d'une séance de cours](#page-timetables.lesson-edit). Plutôt que de cliquer chaque séance, le menu Sélection de la fiche **élargit la sélection** d'un seul clic : - par **fenêtre temporelle** — toute la **journée**, la **semaine** ou le **mois** (selon le type d'EDT) ; - par **similarité** — les **séances suivantes similaires** (même classe, matière, groupe et créneau : la récurrence d'un cours) ; - par **partition** — les séances du même groupe en partition. Chaque entrée indique le nombre de séances qu'elle ajoute, et une bascule restreint la portée au planning courant ou l'étend à **tous** les calendriers ouverts. Le menu de **duplication** voisin ([copy]) recopie la ou les séances — en plusieurs exemplaires, ou jusqu'à une date sur un EDT calendrier. Son fonctionnement détaillé est décrit dans [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution). #### Détacher ou supprimer une séance Pour **détacher** une séance de la grille cliquez sur l'icône [scissors] du panneau ou double-cliquez dessus. La séance rejoint la zone des séances non positionnées à droite, où vous pouvez aussi la modifier. Pour la **supprimer**, ouvrez son panneau et cliquez sur Supprimer : là où le détachement conserve la séance dans la zone à replacer, la suppression la retire de l'EDT. Comme toute modification, elle apparaît dans le journal des modifications, où vous pouvez l'annuler (voir plus bas). #### Déplacer une séance Ouvrez la séance et cliquez son bouton de positionnement (Positionner sur l'emploi du temps, punaise) : les créneaux possibles s'affichent en pastilles colorées (vert → rouge selon les conflits). Cliquez le nouveau créneau. Pour déplacer entre semaines, deux options : - **vue mois** — visualisez plusieurs semaines à la fois, puis repositionnez la séance sur le créneau voulu ; - **détacher / changer de semaine / replacer** — extraire la séance, changer la semaine active, replacer. #### Différence avec les EDT calendriers Sur un EDT [calendrier](#page-glossary.calendar-mode), une modification **affecte directement la séance datée** (déjà unique pour cette date). Sur un EDT [hebdomadaire](#page-glossary.weekly-timetable) ou [cyclique](#page-glossary.cyclic-timetable), une modification ponctuelle ne casse **pas** la semaine type — elle est enregistrée comme une exception sur la date concernée. Les autres semaines continuent à suivre la semaine type. #### Voir et annuler les modifications Le bouton Voir la liste des modifications apportées liste les modifications en cours sur la période. Vous pouvez en annuler individuellement. Sur un EDT **hebdomadaire ou cyclique**, une modification ponctuelle est enregistrée comme une exception sur sa date : elle reste annulable **à tout moment** depuis ce journal. ⚠ Sur un EDT **calendrier**, en revanche, les modifications sont **consolidées définitivement à la sauvegarde** : annulez-les **avant d'enregistrer**. Ces modifications portent sur **une date précise**, pas sur la structure de l'EDT. La structure — classes, groupes, **semaine type** — se modifie à la **construction de l'EDT**, pas ici. Éditer une date **passée** corrige donc l'historique de cette seule date : faites-le en connaissance de cause. #### Détection des conflits La détection de conflits fonctionne en mode édition comme dans le module Gestion des EDT : dès que vous déplacez ou modifiez une séance, Omniscol vérifie en temps réel les double-réservations, dépassements de capacité, contraintes horaires et absences. Sur le calendrier, une séance en conflit porte un **double entourage coloré** — rouge pour un conflit bloquant, orange ou jaune pour une gêne à arbitrer. Le détail (type de conflit, séances impliquées, et par exemple une salle manquante) s'affiche dans l'**info-bulle** au survol de la séance. La liste complète des types de conflits, les niveaux de gravité et le panneau de diagnostic sont décrits dans [Conflits et diagnostic](#page-timetables.conflicts). #### Voir aussi - [Consulter et filtrer les EDT](#page-schedules.consult-and-filter) - [Conflits et diagnostic](#page-timetables.conflicts) - [Évènements ponctuels](#page-schedules.events) ### 5.4 Évènements ponctuels (hors EDT) *Source: `help/fr/schedules/events.md` · id: schedules.events · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Un **évènement ponctuel** est une séance qui ne fait pas partie de la structure régulière de l'EDT : une réunion exceptionnelle, une sortie scolaire, un examen sur une journée, une journée portes ouvertes, un conseil de classe. Plutôt que de toucher à la structure régulière des cours, vous créez un évènement daté qui se pose **par-dessus** la grille sur un intervalle précis. La création d'évènements ponctuels est disponible sur les comptes **Premium**. #### Quand créer un évènement vs une séance de cours - **Cours régulier** : se répète toutes les semaines (ou une semaine sur deux) tout au long de l'année. Géré dans le module Gestion des EDT, intégré à la génération automatique. - **Évènement ponctuel** : a lieu sur un intervalle daté, sans logique de récurrence régulière. Géré directement dans le module EDT. Règle pratique : si vous l'écririez à la main sur un calendrier plutôt que dans la grille hebdomadaire, c'est un évènement. #### Créer un évènement — l'agenda d'évènements Un évènement ne se saisit pas dans un formulaire isolé : il se trace **directement sur l'agenda**, comme dans un calendrier. Sur la grille des évènements, **cliquez-glissez** pour dessiner un intervalle sur une journée (un aperçu s'affiche pendant le tracé). Au relâchement, une fiche s'ouvre, ancrée sur la sélection, avec les dates et heures **déjà pré-remplies** ; vous complétez : - **Titre** — `Conseil de classe 6e B`, `Sortie au musée d'Orsay`, `Examen blanc - bac de français`. - **Début** et **fin** — date, heure de début, heure de fin. - **Participants** — classes, groupes, professeurs, élèves, ou des participants en **texte libre**. - **Lieu** — salle connue d'Omniscol ou lieu saisi en **texte libre**. - **Ressources** — matériel ou ressource à réserver si nécessaire. - Lien de visioconférence — optionnel, pour suivre l'évènement à distance. - **Commentaire** — note libre qui apparaît avec l'évènement. - **Couleur** — aide visuelle pour le distinguer dans la grille. La sélection à la souris reste **contenue dans une même journée**. ##### Où se trouve l'agenda - **Dans le module EDT**. Affichez le filtre **Évènements** : l'agenda n'est modifiable (traçage à la souris actif) qu'en mode **réorganisation** ; en consultation simple, il reste en lecture seule. - **Dans l'édition d'un emploi du temps de type calendrier.** Le filtre **Évènements** n'y est proposé que pour un EDT **de type calendrier** ; il n'apparaît pas sur un EDT en grille hebdomadaire. #### Un enregistrement direct, en parallèle de l'EDT Un évènement s'enregistre **immédiatement et séparément**, dès que vous validez sa fiche : créer, déplacer ou supprimer un évènement déclenche aussitôt son propre enregistrement (confirmé par une notification). Vous n'avez **pas besoin** du bouton **Enregistrer** global de la réorganisation ni de l'édition de l'EDT — les évènements sont déjà sauvegardés. Réciproquement, enregistrer la réorganisation ou la répartition horaire d'un EDT porte sur les **séances de cours**, pas sur les évènements : c'est un sous-système parallèle, persisté au fil de l'eau. #### Conflits avec les séances de l'EDT Un évènement référence **les mêmes entités** que l'EDT — professeurs, classes, groupes, salles, ressources — ce qui permet à Omniscol de détecter les chevauchements avec les séances régulières. Quand vous renseignez la fiche, chaque participant et chaque salle ou ressource est testé contre ce qui est déjà placé sur l'intervalle : - pour un **professeur**, une **classe** ou un **groupe**, l'évènement est comparé aux séances de cours **et aux autres évènements** ; - les **salles** et **ressources** sont testées pour repérer une occupation déjà existante sur le créneau. Ces vérifications alimentent les indications de disponibilité dans les sélecteurs et remontent comme conflits dans la vue de réorganisation. L'évènement se superpose à la grille : il **signale** le conflit mais ne libère pas de lui-même les séances qu'il chevauche. Traitez-les séparément (déplacement, modification ponctuelle, absence…). #### Participants : tout le monde, ou n'importe qui Au-delà des participants nommément désignés, deux participants particuliers existent — et ils ne se comportent pas de la même façon face aux conflits : - **Tout le monde** — l'évènement concerne **toute l'école**, à titre **obligatoire**. Il s'affiche dans tous les EDT **et entre en conflit** avec les séances de cours existantes : à retenir pour une journée portes ouvertes ou un évènement qui mobilise réellement tout l'établissement. - **N'importe qui** — l'évènement est ouvert à qui le souhaite, à titre **facultatif**. Il s'affiche lui aussi dans tous les EDT, mais **ne génère aucun conflit** : pour une proposition optionnelle qui ne doit bloquer la grille de personne. Les deux s'affichent partout ; seul **Tout le monde** provoque des conflits, parce qu'il rend la présence obligatoire. #### Projection dans les EDT Une fois créé, un évènement est **projeté dans chaque EDT concerné** : il apparaît dans l'emploi du temps de chacun de ses professeurs, classes, groupes et élèves participants, ainsi que dans celui de chaque salle et ressource retenue (et partout, pour **Tout le monde** et **N'importe qui**). C'est le même évènement vu sous plusieurs angles — il est donc normal de le retrouver à la fois dans l'EDT de la classe, du professeur et de la salle ; ce ne sont pas des doublons. Un évènement n'a pas de champ « type » : il se distingue d'un cours régulier par son titre, ses dates, ses participants et sa couleur éventuelle. #### Déplacer, caler, libérer les horaires Sur l'agenda des évènements, contrairement aux séances de cours, un évènement se **déplace et se redimensionne au glisser-déposer**. La **plage horaire affichée** par l'agenda suit les **horaires d'ouverture** de l'établissement : elle s'étend de l'ouverture la plus matinale à la fermeture la plus tardive configurées, et retombe sur 07 h – 20 h si rien n'est défini. La fiche comporte aussi un bouton **punaise** : il bascule sur le placement par créneaux libres, et un clic sur le créneau retenu reporte sa date et ses heures dans la fiche — une alternative au tracé à la souris pour caler proprement l'évènement. Enfin, les heures de début et de fin sont **entièrement libres** : elles ne sont pas contraintes de tomber sur les créneaux de la grille. Un évènement peut commencer à 9 h 50 et finir à 11 h 34 même si les cours réguliers sont calés sur des créneaux pleins : c'est tout l'intérêt d'un évènement posé par-dessus la grille. #### Modifier ou annuler L'évènement se modifie comme on l'a créé : le déplacer dans le temps, changer de salle, ajouter ou retirer des participants. #### Procédure — Créer un évènement ponctuel 1. **Un évènement ponctuel** se pose **par-dessus** la grille sur un intervalle daté : conseil de classe, sortie, examen blanc, journée portes ouvertes, réunion. Pas de récurrence régulière à modéliser. 2. **Cliquez-glissez sur l'agenda d'évènements** pour tracer l'intervalle (en mode réorganisation). La fiche s'ouvre avec les dates pré-remplies ; renseignez le titre (`Conseil de classe 6e B`, `Sortie au musée d'Orsay`). 3. **Sélectionnez les participants** : classes, groupes, professeurs concernés, élèves si disponibles, ou participants libres. 4. **Ajoutez lieu, ressources, lien de visioconférence et commentaire** si nécessaire. Ces champs décrivent l'évènement ; ils ne transforment pas les cours réguliers. 5. **Sauvegardez.** L'évènement apparaît dans les EDT concernés. Si Omniscol signale un conflit avec des séances de cours régulières, corrigez les séances concernées dans la vue Réorganisation. #### Voir aussi - [Séances hors grille](#page-timetables.off-grid-lessons) - [Modifications ponctuelles](#page-schedules.ad-hoc-changes) - [Consulter et filtrer les EDT](#page-schedules.consult-and-filter) - [FAQ — cas particuliers](#page-faq.edge-cases) ### 5.5 Imprimer et partager *Source: `help/fr/schedules/print-and-export.md` · id: schedules.print-and-export · Plan: standard · Updated: 2026-06-25* Tous les EDT consultables dans le module EDT peuvent être **imprimés** ou **partagés** dans plusieurs formats. Le choix dépend du destinataire : papier pour un usage hors-ligne, PDF pour une diffusion par courriel, iCal pour un agenda électronique, lien web pour une consultation directe. Pour une analyse chiffrée des volumes en tableur, le **Tableau de bord** agrège les heures et les exporte en CSV / XLSX. #### Imprimer Le bouton Imprimer (en haut de la vue) ouvre l'aperçu d'impression avec une mise en page optimisée pour le papier : - les séances sont **évidées** : Omniscol n'imprime que leur **contour de couleur** sur fond blanc, pour économiser l'encre tout en gardant le repère visuel des couleurs, - les marges, l'orientation et la taille sont adaptées au format A4 / Letter, - l'en-tête contient le nom de l'établissement, le libellé de l'EDT consulté (élève, classe, salle…) et la plage de dates. L'aperçu utilise le système d'impression du navigateur — donc tout ce qu'il sait faire (export PDF natif, sélection d'imprimante, double face, etc.) est accessible. #### Exporter en PDF Omniscol propose des **boutons d'export PDF dédiés**, qui mettent un EDT en page proprement. Le plus complet se trouve dans l'écran Visualiser de Gestion des EDT (voir [Visualiser, dupliquer, réorganiser](#page-timetables.visualize-duplicate)). La vue **tableau** d'un EDT (voir [Affichage des EDT](#page-schedules.schedule-display)) propose elle aussi un export PDF, aux côtés du CSV et de l'Excel. À défaut, sur la plupart des navigateurs modernes, l'impression sait sortir un PDF (`Microsoft Print to PDF`, `Save as PDF`, `Imprimer dans un fichier`). Bonne pratique : utilisez le PDF pour les communications ponctuelles (envoi d'un EDT semaine à un parent par exemple) et le lien de partage pour les communications récurrentes (le PDF est figé, le lien suit les modifications). #### Analyser dans un tableur (CSV / XLSX) Deux voies mènent au tableur. **Depuis l'écran de consultation**, transformez la vue de l'EDT en **tableau** (voir [Affichage des EDT](#page-schedules.schedule-display)) : ce rendu type tableur s'imprime, se copie-colle et s'exporte directement en **CSV**, **Excel / XLSX** ou **PDF**. **Pour une analyse agrégée des volumes**, passez par le **Tableau de bord**, qui calcule les heures par professeur, par matière, par classe ou par salle sur la période choisie et propose le même export **CSV** (universel) ou **XLSX** (préformaté pour Excel). Usages typiques de cet export tableur : - compter les heures effectuées par professeur, par matière, par classe ; - alimenter un outil RH externe (paie, suivi temps de travail) ; - repérer des écarts entre service prévu et service réalisé. Voir [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) et [Statistiques professeurs](#page-dashboard.teachers). Pour récupérer les séances elles-mêmes au format machine, le partage propose une représentation **JSON (API)** ; voir [Partager un EDT par lien public](#page-schedules.share-link). #### Exporter en iCal Pour partager dynamiquement un EDT avec un agenda électronique (Google Calendar, Apple Calendar, Outlook), utilisez l'**abonnement iCal** plutôt qu'un export ponctuel. Le destinataire voit les modifications en continu. Voir [iCal — abonnement et lien dynamique](#page-integrations.ical). La fenêtre de partage affiche aussi un **QR code** prêt à flasher : le destinataire pointe son téléphone sur l'écran de l'ordinateur pour s'abonner à l'agenda sans saisir d'adresse. Si vous voulez quand même un fichier `.ics` figé pour archivage, l'export ponctuel est aussi disponible depuis la fenêtre de partage. #### Filtrer avant d'exporter Les exports respectent les **filtres actifs** de la vue courante : si vous avez filtré sur une classe ou une plage de dates précises, l'export ne contiendra que ce périmètre. Pour un export plus large (toute l'année, toutes les classes), basculez les filtres en conséquence avant de lancer l'export. #### Procédure — Imprimer ou partager un EDT 1. **Deux sorties depuis l'écran de consultation** : l'impression (PDF) pour une diffusion figée, et le partage (Web, iCal, JSON) pour une diffusion dynamique. L'analyse chiffrée en tableur passe, elle, par le Tableau de bord. 2. **Filtrez d'abord** la vue selon le périmètre voulu : classe, professeur, salle, plage de dates, type de cours. L'impression et le partage respectent les filtres actifs — un filtre étroit = une sortie étroite. 3. **Pour un PDF** (envoi par courriel, archivage) : le plus complet est l'export PDF de l'écran Visualiser (cf. [Visualiser, dupliquer, réorganiser](#page-timetables.visualize-duplicate)) ; depuis la consultation, le bouton Imprimer ouvre l'aperçu d'impression (séances évidées, en-tête école + libellé EDT + plage de dates), d'où l'on peut aussi sortir un PDF. 4. **Dans la boîte d'impression du navigateur**, sélectionnez **Save as PDF** / **Microsoft Print to PDF** / **Imprimer dans un fichier**. Le PDF est figé : il ne suit pas les modifications futures de l'EDT. Pour du dynamique, préférez le **lien de partage** (voir [Liens de partage publics](#page-schedules.share-link)). 5. **Pour une analyse en tableur** : basculez l'EDT en **tableau** pour un export direct (CSV / XLSX / PDF, cf. [Affichage des EDT](#page-schedules.schedule-display)), ou ouvrez le **Tableau de bord** pour les volumes agrégés — heures par professeur / matière / classe — puis exportez en CSV ou XLSX (cf. [Statistiques professeurs](#page-dashboard.teachers)). 6. **Pour un agenda électronique**, préférez l'**abonnement iCal** au fichier figé : le destinataire voit les mises à jour en continu (cf. [iCal](#page-integrations.ical)). #### Voir aussi - [Affichage des EDT](#page-schedules.schedule-display) - [Visualiser, dupliquer, réorganiser](#page-timetables.visualize-duplicate) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [Partager un EDT par lien public](#page-schedules.share-link) - [Import et export](#page-admin.import-export) ### 5.6 Partager un EDT par lien public *Source: `help/fr/schedules/share-link.md` · id: schedules.share-link · Audience: admin/teacher · Plan: standard · Updated: 2026-05-15* Le module **EDT** propose un bouton Partage qui génère des URLs signées pour l'EDT consulté. Le destinataire ouvre le lien web et voit l'EDT en lecture seule, sans avoir à se connecter. C'est le chemin le plus rapide pour communiquer un emploi du temps à quelqu'un qui n'a pas de compte Omniscol — typiquement un parent d'élève, un partenaire externe ou un service administratif. #### Formats générés par le partage Selon le contexte et vos droits, la modale de partage peut proposer plusieurs URLs : - **page web responsive** — affichage navigable type portail, vues semaine / jour / liste, - **flux iCal `.ics`** — pour s'abonner depuis Google Calendar, Apple Calendar, Outlook, - **JSON (API)** — pour les développeurs et les intégrations machine-à-machine, lorsque ce format est autorisé. Le destinataire choisit ce qui l'arrange : un parent ouvrira la page web ou s'abonnera en iCal, un développeur utilisera le JSON. #### Qu'est-ce qu'on peut partager ? Le partage ne se limite pas à l'écran de consultation des EDT : la même icône Partage apparaît sur de nombreux écrans d'Omniscol. **En lecture seule**, vous pouvez partager : - l'**EDT individuel** d'un élève ou d'un professeur, - l'**EDT d'une classe** complète, d'une **salle** ou d'une **matière**, - les **tableaux de service** du module Service du personnel, - le **tableau de bord** et le **suivi des absences**, - les écrans de **visualisation** et de **réorganisation** d'un EDT. **En lecture-écriture** — cas unique — vous pouvez partager l'écran de **saisie des disponibilités** des professeurs (et du personnel) : le lien dédié permet à chacun de renseigner ses disponibilités jusqu'à la date d'expiration, **sans compte ni mot de passe** Omniscol. C'est le seul partage qui autorise une saisie, et non une simple consultation. Chaque URL signée porte le périmètre demandé et une date d'expiration. #### Créer le lien Depuis l'écran de consultation, cliquez sur Partage dans la barre d'outils. La modale propose : - **Date d'expiration** — date jusqu'à laquelle les liens générés restent valables. - **Onglets Web, iCal et JSON** — visibles selon les formats générés pour la sélection courante. Vous copiez ensuite l'URL voulue. Pour les liens web et iCal, la modale peut aussi afficher un **QR code** imprimable. #### Limiter un partage Choisissez une date d'expiration courte pour les usages ponctuels. Un lien est porté par le compte qui l'a généré. Pour invalider les liens existants générés par un compte, utilisez les leviers réels : - changer ou réinitialiser le mot de passe du compte porteur ; - désactiver ou supprimer le compte porteur. Astuce : pour les partages gérés par une équipe planning, on peut utiliser un **compte de service clairement identifié** (par exemple `diffusion-planning`) plutôt que le compte personnel d'un collègue. Ce compte porte alors la responsabilité des liens émis ; ses accès et son mot de passe doivent être gérés comme un accès administratif. Les liens web sont en lecture seule, sauf le lien de **saisie des disponibilités** des professeurs décrit plus haut, qui autorise la saisie jusqu'à la date d'expiration sans donner accès au compte Omniscol. #### Sécurité - Le lien contient un jeton signé hautement sécurisé. - Il donne accès **uniquement à la ressource partagé** (EDT ou écran), pas au compte global. - La validité est limitée par la date d'expiration choisie. - Les liens sont invalidés si le mot de passe du compte porteur change, même si le nouveau mot de passe est identique en clair. - Les liens cessent de fonctionner si le compte porteur est désactivé ou supprimé. - Toute personne qui possède l'URL peut consulter le périmètre partagé jusqu'à expiration ou invalidation. #### Différence avec un compte Omniscol limité Pour partager les données entre les équipes, par exemple auprès d'un service comptable, les deux options peuvent apparaître concurrentes. - **Lien public signé** = pas d'identification, accès simple, partage rapide. - **Compte Omniscol limité** = identification dédiée, durée plus longue, gestion d'un compte utilisateur, avec l'option des [rôles personnalisés](#page-admin.customroles). Préférez le lien pour les usages ponctuels et un compte limité pour les usages structurés sur la durée. #### Procédure — Créer un lien de partage 1. **Un lien de partage** donne accès à un EDT en lecture seule sans login. Idéal pour un parent, un partenaire externe, un service administratif. 2. **Ouvrez l'EDT à partager** dans le module Emploi du temps : élève, classe, salle, professeur ou matière. La page consultation est le point de départ. 3. Cliquez sur Partage dans la barre d'outils. Une modale s'ouvre avec les options du partage. 4. **Choisissez la date d'expiration.** Plus le lien circule largement, plus cette date devrait être proche. 5. **Copiez le format utile.** Web pour une consultation directe, iCal pour un abonnement calendrier, JSON si l'intégration API est prévue. L'URL est utilisable immédiatement : la personne qui l'ouvre voit le périmètre partagé en lecture seule, sans connexion. 6. **En cas de diffusion non souhaitée**, créez un nouveau lien plus limité avec un autre compte et invalidez les liens portés par le compte d'origine en changeant son mot de passe ou en le désactivant si c'est approprié. #### Voir aussi - [Liens de partage publics](#page-portal.share-links) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [Portail invité (liens publics)](#page-portal.guest-portal) --- ## 6. Absences et remplacements ### 6.1 Vue d'ensemble du module Absences *Source: `help/fr/absences/overview.md` · id: absences.overview · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* Le module **Gestion des absences** centralise la déclaration et le suivi des indisponibilités qui doivent modifier l'affichage des emplois du temps : professeurs, classes, élèves et, si le Service du personnel est activé, membres du personnel. #### Entités gérées | Entité absente | Effet sur l'emploi du temps | | --- | --- | | **Professeur** | Séance **annulée** quand le professeur absent en est le seul intervenant, sauf si un **remplaçant** est désigné (il s'affiche alors à côté du titulaire barré). En **co-enseignement**, la séance est **maintenue** : seul le professeur absent est retiré, le ou les autres intervenants l'assurent. | | **Classe** | Les séances de la classe absente sont retirées de l'affichage sur la période concernée. | | **Élève** | Les séances restent en place pour la classe ; l'absence concerne la vue et le suivi de l'élève. | | **Personnel** | Disponible seulement quand le Service du personnel est actif ; fonctionne comme une absence d'entité de planning personnel. | Les vacances scolaires de l'année ne sont pas saisies comme absences : elles sont gérées dans l'année scolaire. #### Pièces justificatives Le module ne gère pas de **dépôt de justificatif** : la gestion des emplois du temps n'a pas vocation à conserver des données sensibles (certificats médicaux, secrets professionnels), elle se concentre sur la planification. Si vous devez tout de même rattacher une pièce, déposez-la sur votre espace de stockage habituel et collez le **lien dans le champ commentaire** de l'absence. #### Statuts - **accepté** : l'absence est validée et prise en compte dans les affichages. - **en attente** : demande déclarée par l'utilisateur concerné, à valider par un administrateur. - **refusé** : demande rejetée. - **abandonné** : demande annulée par son déclarant. Seules les absences au statut **accepté** produisent un effet : elles modifient l'affichage des emplois du temps, marquent les séances impactées (annulées le cas échéant) et alimentent les **statistiques** et les **exports** d'absences (cf. [Suivi et export des absences](#page-absences.statistics)). Les autres statuts — en attente, refusé, abandonné — restent sans effet sur l'EDT. #### Organisation des écrans Le module expose des onglets par type d'entité : - **Professeurs** : absences de professeurs et gestion des remplacements. - **Classes** : absences de classes, gérées par les administrateurs. - **Élèves** : absences individuelles d'élèves. - **Personnel** : absences de personnel, si le Service du personnel est activé. Chaque écran présente les absences de la période, leur statut, les séances impactées quand l'information est disponible, une navigation temporelle et une liste exportable pour les administrateurs. #### Prérequis - Au moins un emploi du temps publié sur l'année scolaire concernée. - Pour les absences de professeurs : les professeurs doivent être affectés à des cours. - Pour les absences d'élèves : les élèves doivent être affectés à des classes. - Pour les absences de personnel : le Service du personnel doit être actif. #### Procédure — Découvrir le module Absences 1. Ouvrez le module **Absences** depuis la navigation principale. 2. Choisissez l'onglet correspondant à l'entité concernée : professeurs, classes, élèves ou personnel selon les modules activés. 3. Utilisez Déclarer une absence pour ouvrir le formulaire : entité absente, dates, plage horaire, motif, commentaire et statut selon vos droits. 4. Sur une absence de professeur acceptée, ouvrez Gestion des remplacements pour voir les séances concernées et affecter des remplaçants ponctuels ou des règles de remplacement. 5. Pour les administrateurs, le bouton Tableau permet d'exporter le tableau affiché. #### Voir aussi - [Déclarer une absence](#page-absences.declaring) - [Politiques de remplacement](#page-absences.substitution-policies) - [Absence](#page-glossary.absence) - [Remplacement / Suppléance](#page-glossary.substitution) ### 6.2 Déclarer une absence (administrateur / professeur / étudiant) *Source: `help/fr/absences/declaring.md` · id: absences.declaring · Audience: admin/teacher/student/staff · Plan: standard · Updated: 2026-06-13* #### Qui peut déclarer ? | Rôle | Pour qui ? | Statut initial | | --- | --- | --- | | **Administrateur** | Professeur, classe, élève ou membre du personnel | accepté par défaut, modifiable | | **Professeur** | Lui-même seulement | en attente | | **Élève** | Lui-même seulement | en attente | | **Personnel** | Lui-même seulement, si le Service du personnel est actif | en attente | Les absences de classes sont des opérations administratives : les routes de création et de modification sont réservées aux administrateurs. #### Champs du formulaire Le bouton Déclarer une absence ouvre le formulaire. La sauvegarde se fait avec Ajouter. - **Entité** : visible pour les administrateurs ; les autres rôles ne peuvent déclarer que leur propre absence. - **Plage de dates** : date de début et date de fin. Pour une absence d'une journée, utilisez la même date. Si la fin n'est pas renseignée par l'interface, Omniscol prend la fin de l'année scolaire comme borne technique : ne l'utilisez pas pour documenter une absence réellement ouverte. - **Plage horaire** : journée entière par défaut, ou créneaux précis. - **Filtres optionnels** : - **Classe** pour restreindre une absence de professeur à certaines classes. - **Matière** pour ne viser que les séances d'une matière donnée. - **Affectation** pour les absences de personnel, si le Service du personnel est actif. - **Motif** : choisi dans la liste proposée ; les administrateurs peuvent aussi saisir un motif personnalisé. - **Commentaire** : texte libre court. - **Statut** : seuls les administrateurs peuvent fixer librement le statut (statut **accepté** par défaut). Pour les autres rôles, la demande prend le statut **en attente** et attend la validation d'un administrateur ; le déclarant peut toutefois passer sa propre demande au statut **abandonné** pour l'abandonner. #### Procédure — Première absence de professeur 1. Ouvrez l'onglet Professeurs du module Gestion des absences. 2. Cliquez sur Déclarer une absence. 3. Sélectionnez le professeur concerné si vous êtes administrateur. Un professeur qui déclare lui-même son absence n'a pas accès au sélecteur d'autres professeurs. 4. Renseignez les dates. Pour une journée, mettez la même date en début et en fin. 5. Laissez **journée entière** ou définissez les créneaux concernés si l'absence ne porte que sur une partie de la journée. 6. Choisissez le motif, ajoutez un commentaire si nécessaire, puis sauvegardez avec Ajouter. 7. Si l'absence est acceptée et concerne un professeur, ouvrez la gestion des remplacements avec Gestion des remplacements pour affecter un remplaçant ou définir une règle de remplacement. #### Validation d'une demande en attente Quand un professeur, un élève ou un membre du personnel déclare sa propre absence, la demande est en attente. Les administrateurs peuvent l'accepter ou la refuser depuis les raccourcis accepté et refusé, ou en ouvrant la fiche. #### Modifications ultérieures - Un administrateur peut modifier les dates, les horaires, le motif, le commentaire et le statut. - Le déclarant peut modifier une absence future qui lui appartient ; la modification repasse par le statut en attente. - Le déclarant peut abandonner sa propre demande. #### Visibilité Le fait qu'une entité soit absente peut être visible dans les emplois du temps ou dans le module Absences selon les droits de consultation. Le détail du motif, du commentaire, des métadonnées de création et du statut n'est pas exposé de la même manière à tous les rôles : les utilisateurs non administrateurs ne voient pas nécessairement les détails des absences d'autrui. #### Voir aussi - [Politiques de remplacement](#page-absences.substitution-policies) - [Remplacement ponctuel d'une séance](#page-absences.single-lesson-replacement) - [Absence](#page-glossary.absence) ### 6.3 Politiques de remplacement *Source: `help/fr/absences/substitution-policies.md` · id: absences.substitution-policies · Audience: admin · Plan: standard · Updated: 2026-06-13* Une **politique de remplacement** permet de couvrir plusieurs séances touchées par la même absence de professeur. Elle évite de choisir un remplaçant séance par séance quand une règle simple suffit. #### Accès Sur la ligne d'une absence de professeur, ouvrez Gestion des remplacements. Le panneau affiche les séances impactées par l'absence et les règles de remplacement enregistrées. Les séances sans remplaçant restent marquées comme impactées par l'absence du titulaire. #### Deux niveaux de règle ##### Remplacement ponctuel Sur une séance précise, Assigner un remplaçant permet de choisir un remplaçant pour cette séance seulement. Cette affectation a priorité sur les politiques longues. ##### Politique longue Dans la section Remplacements longs du panneau, le bouton Assigner un remplaçant crée une règle de remplacement. Pour chaque règle, vous renseignez : - le **remplaçant** ; - une **date de début** et une **date de fin** de validité ; - des **créneaux horaires** si la règle ne vaut pas toute la journée ; - éventuellement des **matières** ; - éventuellement des **classes** ; - un **commentaire** interne. Plusieurs règles peuvent coexister. Elles s'appliquent dans l'ordre affiché ; réorganisez-les par glisser-déposer si la priorité change. #### Lecture du panneau La liste des séances montre quel remplaçant couvre chacune d'elles. Si une règle ne correspond à aucune séance de l'absence, le panneau affiche un avertissement sur cette règle : corrigez les dates, les créneaux, les matières ou les classes. #### Cas typique : longue absence avec partage Pour une absence de plusieurs semaines : 1. Créez une première règle avec le remplaçant principal, sans filtre de matière ni de classe. 2. Ajoutez une deuxième règle plus ciblée, par exemple limitée à une matière ou à un créneau. 3. Placez la règle la plus spécifique avant la règle générale si elle doit l'emporter. #### Procédure — Partager une longue absence 1. Ouvrez l'absence de professeur avec Gestion des remplacements. 2. Cliquez sur Assigner un remplaçant. 3. Choisissez le remplaçant principal, définissez les dates de validité, puis sauvegardez. 4. Ajoutez une règle complémentaire si certaines séances doivent être assurées par un autre remplaçant. 5. Contrôlez la liste des séances impactées. Elles doivent afficher le remplaçant attendu ; les séances non couvertes restent visibles comme non remplacées. 6. Validez le panneau avec Assigner. #### Voir aussi - [Déclarer une absence](#page-absences.declaring) - [Remplacement ponctuel d'une séance](#page-absences.single-lesson-replacement) - [Remplacement / Suppléance](#page-glossary.substitution) ### 6.4 Remplacement ponctuel d'une séance *Source: `help/fr/absences/single-lesson-replacement.md` · id: absences.single-lesson-replacement · Audience: admin · Plan: standard · Updated: 2026-06-13* Un **remplacement ponctuel** affecte un remplaçant à une seule séance touchée par une absence de professeur. Il se règle dans le panneau de gestion des remplacements de l'absence. Ce mécanisme ne déplace pas la séance, ne crée pas de notification par lui-même et ne propose pas plusieurs scénarios d'annulation. Il ajoute un remplaçant sur la séance concernée ; le titulaire absent reste visible comme professeur remplacé. #### Accès 1. Ouvrez l'onglet Professeurs du module Gestion des absences. 2. Sur l'absence concernée, cliquez sur Gestion des remplacements. 3. Dans la liste des séances impactées, utilisez Assigner un remplaçant sur la séance à remplacer. Le panneau affiche les séances couvertes par l'absence et les règles de remplacement déjà définies. #### Effet du remplacement ponctuel - Le remplaçant choisi est appliqué uniquement à cette séance. - La salle, la classe, la date et l'horaire de la séance ne sont pas modifiés par cette action. - Le remplacement ponctuel prime sur les règles générales de remplacement de la même absence. - Si aucun remplaçant n'est affecté, la séance reste impactée par l'absence du professeur. #### Choisir le remplaçant La liste de sélection s'appuie sur les professeurs disponibles pour le créneau concerné. Vérifiez manuellement que le choix est cohérent avec la matière, le site et l'organisation interne de l'établissement avant de valider. #### Retirer un remplacement ponctuel Si un remplacement ponctuel a été ajouté par erreur, utilisez [xmark]. La séance retombe alors sur la règle longue applicable, ou reste non remplacée si aucune règle ne correspond. #### Procédure — Remplacer une séance 1. Créez ou ouvrez une absence de professeur acceptée. 2. Cliquez sur Gestion des remplacements. 3. Repérez la séance à traiter dans la liste des séances impactées. 4. Cliquez sur Assigner un remplaçant, choisissez le remplaçant, puis validez le panneau avec Assigner. 5. Contrôlez l'affichage de la séance : le titulaire absent doit rester barré et le remplaçant doit apparaître sur la séance. #### Voir aussi - [Politiques de remplacement](#page-absences.substitution-policies) - [Déclarer une absence](#page-absences.declaring) - [Absences pluri-jours](#page-absences.multi-day) - [Remplacement / Suppléance](#page-glossary.substitution) ### 6.5 Absences pluri-jours *Source: `help/fr/absences/multi-day.md` · id: absences.multi-day · Audience: admin · Plan: standard · Updated: 2026-06-13* Une **absence pluri-jours** est une absence déclarée avec une date de début et une date de fin. Elle permet de couvrir une période continue sans créer une absence par séance. Omniscol calcule ensuite les séances concernées par la période. Pour une absence de professeur, ces séances peuvent être laissées non remplacées, couvertes par une politique de remplacement, ou ajustées par des remplacements ponctuels. #### Déclarer la période Depuis l'onglet Professeurs du module Gestion des absences : - sélectionnez le professeur concerné ; - renseignez la date de début et la date de fin ; - laissez la journée entière ou précisez les créneaux concernés ; - choisissez le motif ; - ajoutez un commentaire si nécessaire ; - sauvegardez avec Ajouter. #### Traiter les séances impactées Après la déclaration : - ouvrez Gestion des remplacements ; - vérifiez la liste des séances touchées par l'absence ; - créez une ou plusieurs règles avec Assigner un remplaçant si une logique de remplacement se répète ; - utilisez Assigner un remplaçant sur une séance particulière pour les exceptions séance par séance. Les **règles de remplacement** sont le mécanisme prévu pour les absences longues. Une règle **sans filtre** s'applique à **toutes** les séances de la période ; ajoutez une classe, une matière, des créneaux ou des dates pour ne viser qu'un sous-ensemble. Pour **tout laisser sans remplacement**, ne créez aucune règle : les séances dont le professeur absent est le seul intervenant sont alors annulées sur la période. #### Absence sur des créneaux récurrents Une absence qui ne touche que certains créneaux d'une longue période — par exemple tous les lundis matin pendant deux mois — se déclare en **une seule fois** : indiquez une plage de dates large, puis précisez les **créneaux horaires** concernés (et au besoin une classe ou une matière). Omniscol sélectionne alors, sur toute la période, les seules séances qui tombent sur ces créneaux : inutile de saisir chaque occurrence. #### Suivi et export Le tableau des absences permet aux administrateurs d'exporter les lignes affichées avec Tableau. Pour le suivi disponible dans le module, voir [Suivi et export des absences](#page-absences.statistics). #### Procédure — Gérer une absence longue 1. Déclarez l'absence avec une date de début et une date de fin. 2. Si l'absence ne couvre pas toutes les journées, précisez les créneaux concernés. 3. Sauvegardez la déclaration. 4. Ouvrez Gestion des remplacements. 5. Ajoutez les règles de remplacement nécessaires, puis contrôlez la liste des séances impactées. 6. Utilisez les remplacements ponctuels uniquement pour les séances qui doivent déroger aux règles générales. #### Voir aussi - [Déclarer une absence](#page-absences.declaring) - [Politiques de remplacement](#page-absences.substitution-policies) - [Remplacement ponctuel d'une séance](#page-absences.single-lesson-replacement) - [Suivi et export des absences](#page-absences.statistics) ### 6.6 Absences classes et étudiants *Source: `help/fr/absences/class-and-student-absences.md` · id: absences.class-and-student-absences · Audience: admin/teacher/staff · Plan: standard · Updated: 2026-06-13* Le module Gestion des absences distingue les absences de **classes entières** et les absences d'**élèves individuels**. Les deux utilisent le même principe de déclaration, mais leur effet sur l'emploi du temps n'est pas le même. #### Absence d'une classe entière Cas typiques : sortie scolaire, voyage, stage collectif, journée d'examens. Les absences de classes sont gérées par les administrateurs. Depuis l'onglet Classes, le formulaire permet de renseigner : - la classe concernée ; - la plage de dates ; - la plage horaire si l'absence ne couvre pas toute la journée ; - éventuellement une matière pour limiter l'effet aux séances concernées ; - un motif ; - un commentaire. Pour un EDT récurrent, une absence de classe acceptée retire les séances de cette classe de l'affichage sur la période concernée. #### Absence d'un élève individuel Cas typiques : maladie, rendez-vous médical, raison familiale, absence autorisée ou non autorisée. Une absence d'élève : - concerne l'élève sélectionné ; - marque les séances de la période comme **annulées** sur l'EDT de l'élève, sans retirer celles de la classe ni celles des professeurs ; - peut être déclarée par un administrateur ou par l'élève concerné selon ses droits ; - passe en attente lorsqu'elle est déclarée par l'élève lui-même. #### Visibilité Les administrateurs disposent de la vue complète. Les autres rôles voient une version limitée selon leurs droits : l'existence d'une absence peut être visible sans exposer le motif, le commentaire ou les métadonnées de validation. #### Procédure — Déclarer une absence de classe 1. Ouvrez l'onglet Classes du module Absences. 2. Cliquez sur Déclarer une absence. 3. Sélectionnez la classe, les dates et les horaires concernés. 4. Ajoutez le motif et, si nécessaire, un commentaire. 5. Sauvegardez. Les séances de cette classe sont retirées de l'affichage pour la période acceptée ; les autres classes conservent leurs séances. #### Procédure — Déclarer une absence d'élève 1. Ouvrez l'onglet **Élèves**. 2. Sélectionnez l'élève concerné si vous êtes administrateur. 3. Renseignez les dates, les horaires, le motif et le commentaire. 4. Sauvegardez. Si l'élève a créé la demande lui-même, elle reste en attente jusqu'à validation. 5. Une fois acceptée, les séances de la période sont marquées comme **annulées** sur l'EDT de l'élève et comptabilisées dans son suivi et ses statistiques. Les autres élèves de la classe ne sont pas affectés. #### Voir aussi - [Déclarer une absence](#page-absences.declaring) - [Suivi et export des absences](#page-absences.statistics) - [Absences pluri-jours](#page-absences.multi-day) - [Évènements ponctuels](#page-schedules.events) ### 6.7 Suivi et export des absences *Source: `help/fr/absences/statistics.md` · id: absences.statistics · Audience: admin · Plan: standard · Updated: 2026-06-13* Le suivi des absences se lit à plusieurs endroits complémentaires : le module Gestion des absences pour le suivi opérationnel, le **Tableau de bord** pour les statistiques agrégées, et le module Administration pour l'historique d'un élève. Ces deux dernières vues ne comptent que les absences au statut **accepté**. #### Suivi dans le module Absences Selon l'onglet et la période choisie, l'écran affiche : - les entités absentes sur la période ; - les statuts des demandes, avec compteurs ; - les séances impactées par les absences au statut accepté ; - une navigation par semaine, mois, année scolaire ou plage de dates ; - la liste tabulaire des absences. Pour une absence de professeur, la gestion des remplacements (Gestion des remplacements) ajoute les séances touchées et les remplaçants affectés. Les administrateurs exportent le tableau affiché avec Tableau : entité, dates, horaires, matière éventuelle, motif, commentaire et statut selon les droits — pratique pour un bilan interne ou un retraitement hors d'Omniscol. #### Statistiques dans le Tableau de bord Pour les **volumes et les taux**, ouvrez le **Tableau de bord**. L'onglet Élèves totalise, par élève et sur la période, les **heures**, **séances** et **jours d'absence** ainsi que le **pourcentage d'absence** correspondant, exportable en CSV / XLSX (voir [Statistiques étudiants et ressources](#page-dashboard.students-resources)). Côté **professeurs**, l'onglet Professeurs reflète l'effet des absences sur le service : la colonne **Heures annulées** comptabilise les heures retirées (une absence non remplacée annule la séance) et **Heures supplémentaires** les heures supplémentaires. Chaque colonne indique le nombre de séances concernées et propose une infobulle qui les détaille (matière, classe, jour et heure) ; pour une séance annulée par une absence, le motif y figure lorsqu'il est renseigné. Cet onglet s'exporte aussi en CSV / XLSX (voir [Statistiques professeurs](#page-dashboard.teachers)). #### Historique dans l'Administration Dans le module Administration, la fiche d'un **élève** comme celle d'un **professeur** récapitule ses absences de l'année scolaire et propose son propre export de tableau — pratique pour un suivi individuel ou un échange (avec la famille pour un élève, avec l'intéressé pour un professeur). #### Limites à connaître - Seules les absences au statut **accepté** comptent dans l'affichage et les statistiques ; celles au statut **en attente**, **refusé** ou **abandonné** restent informatives. - Les motifs et commentaires peuvent être masqués selon le rôle du lecteur. #### Procédure — Produire un export de suivi 1. Ouvrez l'onglet concerné du module Gestion des absences. 2. Sélectionnez la période à contrôler. 3. Vérifiez les statuts et les séances impactées si nécessaire. 4. Cliquez sur Tableau. 5. Utilisez le fichier exporté pour vos contrôles internes ou vos retraitements. 6. Pour des **volumes et un pourcentage d'absence** par élève, ouvrez le Tableau de bord, onglet Élèves (cf. [Statistiques étudiants et ressources](#page-dashboard.students-resources)). #### Voir aussi - [Vue d'ensemble du module Absences](#page-absences.overview) - [Absences classes et étudiants](#page-absences.class-and-student-absences) - [Politiques de remplacement](#page-absences.substitution-policies) - [Statistiques étudiants et ressources](#page-dashboard.students-resources) --- ## 7. Service du personnel ### 7.1 Vue d'ensemble du Service du personnel *Source: `help/fr/staffing/overview.md` · id: staffing.overview · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Service du personnel** Le **Service du personnel** sert à planifier le personnel **par tâches** plutôt que par cours : raisonner en « qui couvre quel poste à quel moment » plutôt qu'en « qui enseigne quoi ». Il complète les emplois du temps pédagogiques lorsque l'établissement doit gérer de la vie scolaire, des surveillances, des permanences, des examens ou des activités d'encadrement. #### Cas d'usage principal : vie scolaire et AED Le module a été créé pour répondre au besoin historique des équipes de vie scolaire : CPE, assistants d'éducation, surveillants et personnels qui assurent une multitude de postes au fil de la journée, indépendamment des cours. Exemples : - surveiller les couloirs ; - filtrer les entrées et sorties de l'établissement ; - assurer l'accueil ; - surveiller la cour de récréation pendant les pauses ; - surveiller le réfectoire à midi ; - assurer les permanences et la salle d'étude ; - animer ou surveiller le CDI, le foyer ou un espace de travail ; - accompagner les élèves à l'extérieur, par exemple pour une sortie EPS confiée aux seules personnes habilitées ; - couvrir les inter-cours ponctuels ; - encadrer des examens, concours ou journées particulières. Une tâche décrit un besoin de présence. Elle ne porte pas de matière, de programme pédagogique ou de groupe d'élèves obligatoire comme un cours. La grille est souvent beaucoup plus fine qu'un EDT pédagogique : dans une vie scolaire, le quart d'heure est courant. Le besoin peut changer fortement dans la journée : 0 personne dans la cour pendant les cours, 3 personnes à midi, 1 personne au CDI tout l'après-midi. #### Les écrans du module ##### Grille La grille définit le cadre temporel du service : jours ouvrés, créneaux horaires — souvent plus fins qu'une grille de cours — et périodes de l'année où elle s'applique. Elle sert de modèle de travail avant de nommer les personnes. Les sites et leurs distances se déclarent au même endroit : ils servent à signaler les affectations incompatibles entre lieux éloignés. Voir [Construire une grille de service](#page-staffing.building-grids). ##### Affectations L'écran Affectations définit les postes ou tâches à couvrir : libellé, nombre de personnes requis et idéal, priorité, site, personnel autorisé et compatibilités entre tâches — par exemple deux couloirs voisins qu'une même personne peut couvrir sur un créneau calme en sous-effectif. Les besoins peuvent varier créneau par créneau. Voir [Définir les tâches à couvrir](#page-staffing.assignments). ##### Planificateur Le planificateur affecte les membres du personnel sur les tâches réelles d'une semaine ou d'une plage de dates. L'affectation se fait par sélection, déplacement, duplication et correction manuelle. Les absences, indisponibilités, conflits et affectations de personnes non autorisées apparaissent comme des alertes. Voir [Affecter le personnel](#page-staffing.planner). ##### Tableau de service Le tableau de service donne à chaque personne sa liste de tâches ou sa semaine sous forme de grille. Il peut être imprimé, exporté ou partagé selon les droits et le mode de diffusion choisi par l'établissement. Il affiche les totaux utiles à la lecture de la semaine et conserve les signaux d'absence ou d'indisponibilité. Voir [Tableaux de service](#page-staffing.roster). #### Ce que le module vérifie - disponibilité des personnes ; - absences déclarées ; - charge de travail affectée ; - personnel autorisé sur chaque tâche ; - conflits avec d'autres tâches ou présences ; - cohérence des besoins par site et par créneau, en tenant compte des distances entre sites. La planification du personnel est **manuelle** : la grille, les alertes et les outils de correction guident chaque affectation, que vous gardez sous contrôle. Omniscol ne place pas le personnel automatiquement. #### Bénéfice opérationnel Le gain vient surtout de la centralisation : - une grille de besoins partagée au lieu d'un tableur isolé ; - des affectations modifiables semaine par semaine ; - la duplication des semaines stables ; - les absences visibles dans le planning du personnel ; - des tableaux de service imprimables ou partageables ; - moins d'allers-retours entre la vie scolaire, les personnes affectées et l'administration. Sur un établissement d'un millier d'élèves, le retour d'expérience indique environ 20 heures de travail administratif économisées par semaine. > « Nous avons choisi Omniscol pour digitaliser la gestion des > plannings de notre service Vie scolaire (emploi du temps des > assistants d'éducation). La solution s'est révélée intuitive, > complète et parfaitement adaptée à nos besoins. Chacun voit clairement > où il est affecté. » > > — Jeanne Weeber, Directrice adjointe collège Sévigné (fondé 1880), Paris #### Autres usages - **Surveillance d'examens** : sessions de partiels, bac, concours, plusieurs jours, plusieurs salles, besoins de surveillants par épreuve. - **Permanences et études** : postes de surveillance variables selon le nombre d'élèves attendus. - **Encadrement Montessori et pédagogies actives** : activités ou ateliers à couvrir sans imposer la structure d'un cours classique. - **Plannings d'animateurs et de tâches** : centre de loisirs, périscolaire, internat, planning organisé par mission. - **Encadrement de sorties** : voyage scolaire, sortie pédagogique, visite d'établissement. - **Présences ponctuelles** : accueil parents, journée portes ouvertes, conseil de classe. #### Différence avec un cours Un cours porte une matière, un groupe d'élèves ou d'étudiants et un professeur qualifié. Une tâche du Service du personnel porte un **besoin de présence** : il faut quelqu'un sur ce poste, avec la bonne disponibilité et, si nécessaire, l'autorisation d'assurer ce poste. Cette différence explique pourquoi le module fonctionne avec des grilles de besoins, des affectations de personnes et des tableaux de service, au lieu de partir d'une répartition matière / classe / professeur. #### Périmètre du module Un compte avec Service du personnel comprend : - le module Service du personnel : grilles, tâches, planificateur, tableaux de service ; - le module Gestion des absences pour les personnels affectables ; - les écrans d'administration nécessaires aux comptes et rôles ; - la recherche transversale, selon les droits du compte. #### Rôle *Personnel* Le rôle **Personnel** est conçu pour les équipes de vie scolaire (CPE, AED, surveillants, appariteurs). Selon les droits du compte, il donne accès au Service du personnel, au planning personnel et aux absences du personnel, sans ouvrir toute la configuration globale de l'école. Un même utilisateur peut cumuler plusieurs rôles : par exemple un professeur impliqué dans une pédagogie active peut être à la fois professeur et membre du personnel planifié par tâches. #### Voir aussi - [Construire une grille de service](#page-staffing.building-grids) - [Définir les tâches à couvrir](#page-staffing.assignments) - [Affecter le personnel](#page-staffing.planner) - [Tableaux de service](#page-staffing.roster) - [Vue d'ensemble du module Absences](#page-absences.overview) - [Service du personnel](#page-glossary.staffing) - [Permanences et études (scolaire)](#page-k12.study-halls) ### 7.2 Construire une grille de service *Source: `help/fr/staffing/building-grids.md` · id: staffing.building-grids · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-26* > **Option: Service du personnel** Une **grille de service** définit le cadre temporel du service : les jours ouvrés, les créneaux horaires et les périodes de l'année où elle s'applique. C'est l'étape qui se fait **avant** de nommer les personnes — vous posez le cadre, les tâches à couvrir se décrivent ensuite dans l'écran Affectations, et le remplissage se fait dans le planificateur. Combinée aux besoins déclarés sur chaque tâche, la grille répond à des questions comme « combien de personnes dans la cour à 10 h ? » ou « quels créneaux la vie scolaire doit-elle couvrir cette semaine ? ». #### Créer une grille L'onglet Grille du Service du personnel affiche les grilles existantes et leur répartition sur l'année. Pour chaque grille, vous renseignez : - le **nom** — court et reconnaissable, par exemple `Semaine type`, `Examens T1`, `Vacances` ; - les **Jours ouvrés** — par exemple lundi-vendredi pour la semaine type, ou un choix spécifique pour une semaine d'examens ; - la **Grille horaire** — les créneaux horaires de la grille, que vous définissez librement. En vie scolaire, le quart d'heure est courant, et ces créneaux peuvent être plus fins que la grille des cours pédagogiques. Le bouton Répartition des grilles affecte ensuite chaque grille aux semaines ou plages de dates de l'année qu'elle couvre. À la première ouverture, une grille vide est proposée. Pour créer une grille supplémentaire, dupliquez une grille existante avec Dupliquer, renommez-la, puis adaptez-la. #### Définir les tâches et leurs besoins Les tâches elles-mêmes — libellé, nombre de personnes, site, personnel autorisé — se définissent dans l'écran Affectations : voir [Définir les tâches à couvrir](#page-staffing.assignments). Pour chaque tâche, l'éditeur de besoins précise ensuite, créneau par créneau sur la grille, combien de personnes sont attendues (0 = aucun besoin). Le besoin peut varier fortement selon l'heure : 0 personne dans la cour pendant les cours, 3 personnes à midi pour le réfectoire, 1 personne au CDI tout l'après-midi. #### Sites et distances Si votre établissement compte plusieurs sites, déclarez-les en bas de l'écran Grille avec leurs distances. Une tâche localisée sur un site éloigné déclenche une alerte si la même personne est attendue ailleurs sans temps de trajet suffisant. #### Compatibilités en sous-effectif Quand l'effectif disponible est plus court qu'idéal (cas fréquent : absences en cascade, périodes d'examens), vous pouvez déclarer des **compatibilités** entre tâches voisines : une même personne peut alors couvrir deux tâches en parallèle. Exemple typique : `couloir 2` + `couloir 3` sont fusionnables — la même personne peut surveiller les deux. Vous le déclarez sur la tâche, dans l'écran Affectations, pour guider les arbitrages d'affectation. Ne déclarez pas une compatibilité pour masquer durablement un sous-effectif. La compatibilité doit correspondre à une situation que l'établissement accepte réellement sur le terrain. #### Modèles de grille Si vous gérez la même structure de planning chaque semaine, vous pouvez **dupliquer une grille existante** pour repartir d'une base. Cas récurrents : - **Semaine type** — la grille de référence (rentrée à fin d'année). - **Semaine de vacances** — moins de tâches, équipe réduite. - **Semaine d'examens** — surveillance d'amphithéâtres qui s'ajoute aux tâches courantes. - **Journée spéciale** — portes ouvertes, sortie, événement interne, conseil ou accueil particulier. #### Vérifier la cohérence avant d'affecter Avant de passer à l'étape d'affectation, utilisez la grille comme check-list métier : - les tâches couvrent-elles bien chaque période utile ? - les besoins sont-ils réalistes par rapport à l'équipe disponible ? - les postes multi-sites tiennent-ils compte des temps de trajet ? - les restrictions de personnel autorisé correspondent-elles aux personnes réellement habilitées ? - les compatibilités entre tâches restent-elles acceptables même en sous-effectif ? Une fois la grille validée, passez à l'étape d'**affectation**. Voir [Affecter le personnel](#page-staffing.planner). #### Procédure — Construire une grille de service 1. **Une grille de service** décrit le cadre du service sur l'année : jours ouvrés, créneaux horaires, sites. 2. **Créez une grille.** Donnez-lui un nom court (`Semaine type`). Sélectionnez les jours ouvrés, puis définissez les créneaux horaires — typiquement au quart d'heure pour les AED. Vous pouvez aussi dupliquer une grille existante pour repartir d'une base. 3. **Répartissez la grille sur l'année** avec Répartition des grilles : chaque grille couvre les semaines ou plages de dates où elle s'applique (semaine type, examens, vacances). 4. **Déclarez les sites** si votre établissement en compte plusieurs. Les distances entre sites permettent de signaler les affectations incompatibles. 5. **Sauvegardez la grille**, puis décrivez les tâches et leurs besoins créneau par créneau dans l'écran Affectations. Voir [Définir les tâches à couvrir](#page-staffing.assignments). 6. **Étape suivante : affecter le personnel** dans le planificateur. Voir [Affecter le personnel](#page-staffing.planner). #### Voir aussi - [Vue d'ensemble du Service du personnel](#page-staffing.overview) - [Définir les tâches à couvrir](#page-staffing.assignments) - [Affecter le personnel](#page-staffing.planner) ### 7.3 Définir les tâches à couvrir *Source: `help/fr/staffing/assignments.md` · id: staffing.assignments · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Service du personnel** L'écran Affectations sert à définir les tâches ou postes que le Service du personnel devra couvrir. C'est une étape de configuration : on décrit les besoins, avant d'affecter les personnes dans le [Planificateur](#page-staffing.planner). La **diffusion** au personnel vient ensuite, via le Tableau de service (voir [Tableaux de service](#page-staffing.roster)). #### Ce qu'une tâche décrit Une tâche peut porter : - un libellé clair : `Accueil`, `Cour`, `Réfectoire`, `Surveillance examen amphithéâtre A` ; - un nombre de personnes minimum requis et un nombre idéal ; - un niveau de priorité ; - un site ou un lieu ; - la liste spécifique des membres du personnel autorisés à l'assurer (vide = tout le personnel) ; - des règles de compatibilité avec d'autres tâches ; - des besoins détaillés créneau par créneau sur la grille de service. La tâche doit être suffisamment précise pour être comprise dans le planificateur et dans le tableau de service remis au personnel. Exemples fréquents : - `Couloir 2` ; - `Accueil portail nord` ; - `Cour de récréation` ; - `Réfectoire` ; - `Permanence salle B12` ; - `Surveillance examen amphithéâtre A` ; - `Sortie EPS stade Charcot`. #### Besoins et personnel autorisé Les besoins indiquent combien de personnes doivent couvrir une tâche, créneau par créneau sur la grille de service (0 = aucun besoin), en plus du minimum requis et de l'effectif idéal de la tâche. La liste du personnel autorisé limite les personnes éligibles : réservez-la aux postes qui exigent une habilitation ou une compétence particulière — sortie EPS, surveillance spécifique, accueil particulier, accès à un site. Ces informations évitent de transformer l'affectation en simple liste de noms : Omniscol garde le lien entre le poste, le besoin et les personnes autorisées à le couvrir. Pour une tâche sensible, limitez le personnel autorisé plutôt que de compter sur une consigne orale : le planificateur signale alors toute affectation d'une personne non autorisée. #### Compatibilités entre tâches Certaines tâches proches peuvent être couvertes par la même personne si l'établissement l'autorise. Exemple : deux couloirs voisins pendant un créneau calme. Déclarez ces compatibilités seulement quand elles correspondent à une règle métier réelle. Une compatibilité trop large rend le planning moins lisible et peut masquer un sous-effectif. Cas à éviter : fusionner des postes éloignés uniquement parce qu'il manque quelqu'un. #### Import et reprise de structure Quand beaucoup de tâches existent déjà, l'écran permet de gagner du temps avec les outils d'import et de reprise de structure disponibles dans le module. Après import, vérifiez les libellés, les besoins et le personnel autorisé avant de passer au planificateur. Un import propre doit produire des libellés directement lisibles par les personnes affectées. Si vous importez des codes internes, renommez-les avant diffusion. #### Pourquoi séparer tâches et planificateur La séparation évite de mélanger deux décisions : - **définir le besoin** : quels postes existent, où, avec quelles règles ; - **affecter les personnes** : qui couvre ces postes sur une semaine ou une période donnée. Quand la structure change peu, cette séparation permet de réutiliser les mêmes tâches et de ne modifier que les personnes ou les exceptions. #### Procédure 1. Ouvrez Service du personnel > Affectations. 2. Créez ou importez les tâches à couvrir. 3. Vérifiez les libellés visibles par l'équipe. 4. Renseignez les besoins, les sites et le personnel autorisé. 5. Déclarez uniquement les compatibilités réellement acceptées. 6. Sauvegardez, puis ouvrez le planificateur pour nommer les personnes. #### Voir aussi - [Construire une grille de service](#page-staffing.building-grids) - [Affecter le personnel](#page-staffing.planner) - [Tableaux de service](#page-staffing.roster) - [Vue d'ensemble du Service du personnel](#page-staffing.overview) - [Vue d'ensemble du module Absences](#page-absences.overview) ### 7.4 Affecter le personnel *Source: `help/fr/staffing/planner.md` · id: staffing.planner · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Service du personnel** Le Planificateur sert à nommer les personnes qui couvrent les tâches définies dans la grille de service. C'est l'écran de travail opérationnel : choisir une semaine, remplir les cases, corriger les alertes, puis enregistrer. #### Affectation manuelle Pour chaque créneau et chaque tâche, vous placez les membres du personnel disponibles dans la case correspondante. Omniscol signale les situations à vérifier : - personne absente ; - indisponibilité ou contrainte déclarée ; - personne déjà affectée ailleurs ; - personne non autorisée sur la tâche ; - charge hebdomadaire à surveiller. Le planificateur est pensé pour les cas réels de vie scolaire : AED étudiants dont les disponibilités changent, périodes d'examens, absences déclarées le matin, postes à recouvrir rapidement et équipes à répartir équitablement. La planification est **manuelle** : les alertes, la duplication et les outils de correction guident la construction du planning. Omniscol ne place pas le personnel automatiquement. #### Lire les alertes Les couleurs et infobulles indiquent pourquoi une affectation mérite une vérification : absence, indisponibilité, autre tâche sur le même créneau, personne non autorisée ou dépassement du service horaire. Le résumé hebdomadaire permet de revenir vers la case concernée. Les alertes se gradent en gravité : un conflit rouge demande une correction immédiate ; un avertissement signale une situation à arbitrer selon les règles de l'établissement. #### Outils de correction Le planificateur permet notamment : - de naviguer par semaine et par jour ; - d'afficher une journée ou toute la semaine selon le besoin ; - de dupliquer une semaine vers une autre quand la structure se répète, en filtrant au besoin les jours ou les tâches recopiés ; - d'activer un mode gomme pour effacer une case, une ligne ou une colonne ; - d'annuler une correction récente ; - d'enregistrer les changements. Les personnes verrouillées sur une case restent fixées lors des corrections manuelles suivantes. #### Dupliquer sans repartir de zéro Quand la structure est stable, dupliquez la semaine précédente puis corrigez seulement les exceptions : absence, indisponibilité ponctuelle, changement d'examen, sortie ou besoin renforcé sur un poste. C'est la méthode courante pour éviter de reconstruire toute la vie scolaire à la main chaque semaine. Pour les semaines atypiques, utilisez une grille adaptée : vacances, examens, portes ouvertes ou période avec équipe réduite. #### Absences Les absences de personnel déclarées dans le module Gestion des absences sont prises en compte dans l'affectation. Une personne absente peut apparaître en alerte sur les tâches déjà posées, ce qui permet d'identifier les postes à recouvrir. Les absences rendent le problème visible au bon endroit : l'administrateur ou le coordinateur réaffecte alors la tâche en connaissance de cause. #### Charge de travail Le planificateur calcule des informations de service par personne et par journée, notamment les périodes couvertes et les durées. Utilisez ces indications pour éviter qu'une personne absorbe trop de créneaux ou que les tâches pénibles soient toujours concentrées sur la même équipe. #### Partage Le planificateur peut être partagé selon les options de partage disponibles sur le compte. Pour transmettre le planning individuel à chaque personne, utilisez plutôt le [tableau de service](#page-staffing.roster), plus lisible et prévu pour l'impression ou la diffusion. #### Procédure 1. Ouvrez Service du personnel > Planificateur. 2. Choisissez la semaine ou la plage à travailler. 3. Vérifiez que la bonne grille de service est active. 4. Affectez les personnes dans les cases. 5. Traitez les alertes de disponibilité, d'absence ou de personne non autorisée. 6. Dupliquez la semaine si la structure se répète. 7. Enregistrez, puis ouvrez le tableau de service pour diffusion. #### Voir aussi - [Construire une grille de service](#page-staffing.building-grids) - [Définir les tâches à couvrir](#page-staffing.assignments) - [Tableaux de service](#page-staffing.roster) - [Vue d'ensemble du module Absences](#page-absences.overview) ### 7.5 Créer et partager les tableaux de service *Source: `help/fr/staffing/roster.md` · id: staffing.roster · Audience: admin/staff · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-05-18* > **Option: Service du personnel** Le Tableau de service présente les tâches affectées à une personne ou à l'ensemble du personnel sur la période sélectionnée. Il sert à diffuser le planning après le travail d'affectation. C'est l'écran destiné à répondre simplement à la question : « où dois-je être, à quelle heure, et pour quelle tâche ? » #### Deux vues - **Vision en liste** : tâches classées par jour et par ordre chronologique, avec les informations utiles à la lecture individuelle. - **Vision en grille** : semaine en tableau, avec les créneaux en lignes et les jours en colonnes. Les absences, indisponibilités et commentaires utiles restent visibles pour éviter de diffuser un tableau incohérent. La vue liste affiche les totaux par jour et par semaine. #### Impression et export Le tableau de service peut être imprimé. La vue grille propose aussi un export en tableau lisible, avec possibilité de produire un PDF depuis la fenêtre d'export. Selon l'organisation de l'établissement, le tableau peut être : - imprimé pour affichage ; - exporté en PDF ; - transmis par courriel en dehors d'Omniscol ; - consulté directement par le personnel connecté ; - partagé par lien lorsque cette option est utilisée sur le compte. L'impression reste fréquente pour une vie scolaire ; le même écran sert aussi à préparer un PDF nominatif, à transmettre une vue à une personne, ou à laisser le personnel consulter son planning avec son compte. #### Partage et calendrier Le partage peut inclure un lien web et un abonnement iCal selon les options disponibles. Comme pour les autres liens de partage, définissez une date d'expiration adaptée à la période transmise. Pour une communication nominative, vérifiez toujours que la personne sélectionnée est la bonne avant d'imprimer, d'exporter ou de partager. #### Tous les personnels ou une personne Vous pouvez consulter une personne précise ou l'ensemble du personnel. La vue individuelle est adaptée à la diffusion nominative ; la vue globale sert plutôt au contrôle interne avant diffusion. #### Procédure 1. Ouvrez Service du personnel > Tableau de service. 2. Choisissez une personne ou l'ensemble du personnel. 3. Sélectionnez la période. 4. Choisissez Vision en liste ou Vision en grille. 5. Vérifiez les absences et les éventuelles alertes. 6. Imprimez, exportez ou partagez selon le mode de diffusion prévu. #### Voir aussi - [Affecter le personnel](#page-staffing.planner) - [Définir les tâches à couvrir](#page-staffing.assignments) - [Liens de partage publics](#page-glossary.share-link) --- ## 8. Administration ### 8.1 Utilisateurs et rôles *Source: `help/fr/admin/users-and-roles.md` · id: admin.users-and-roles · Audience: admin · Updated: 2026-05-15* L'administration des utilisateurs regroupe les comptes qui peuvent se connecter à Omniscol. Les vues principales sont les administrateurs, les professeurs, les élèves et, si le Service du personnel est actif, le personnel. #### Rôles principaux | Rôle technique | Libellé interface | Usage | | --- | --- | --- | | `admin` | Administrateur | Administration du compte de l'école. | | `teacher` | Professeur | Portail professeur, disponibilités, emploi du temps personnel, absences propres. | | `student` | Élève | Portail élève, emploi du temps personnel, absences propres. | | `staff` | Personnel | Personnel planifié par le Service du personnel, si ce module est actif. | Un utilisateur peut cumuler plusieurs rôles. Le menu affiche alors les modules correspondant à l'ensemble de ses droits. Le rôle technique `share` existe pour certains liens signés. Ce n'est pas un compte utilisateur classique : il sert à ouvrir un périmètre précis, souvent en lecture seule, depuis une URL de partage. #### Écrans disponibles - Administrateurs : comptes administrateurs. - Membres du personnel : personnel de l'établissement (si module actif). - Professeurs : professeurs et intervenants. - Élèves : élèves, étudiants ou apprenants selon le vocabulaire de l'établissement. - Tous les utilisateurs : vue consolidée de tous les comptes. #### Champs communs Le formulaire utilisateur gère notamment : - prénom, nom et genre ; - date de naissance ; - e-mail et téléphone ; - identifiant externe / matricule ; - login, généré selon les paramètres du compte ; - rôles ; - commentaire. Des champs supplémentaires apparaissent selon le rôle : heures de service, matières et statut externe pour les professeurs ; placements dans les classes et groupes pour les élèves ; paramètres de service pour le personnel. #### Actions de liste Selon le rôle sélectionné, l'écran propose : - Importer des données pour l'import ou la modification en masse ; - Inviter un utilisateur pour envoyer des invitations ; - Modification du mot de passe pour définir des mots de passe ; - Envoyer un mail pour envoyer un message ; - Assigner à une classe et Groupes pour les élèves. Les actions visibles dépendent des API disponibles, du type de compte et des droits de l'utilisateur connecté. > _Option: Rôles personnalisés_ #### Rôles personnalisés L’option **Rôles personnalisés** ajoute des rôles d'administration restreints pour les comptes administrateurs. Elle permet d'exclure certains modules ou certaines opérations pour un compte qui doit administrer une partie seulement du périmètre. Voir [Rôles personnalisés](#page-admin.customroles). #### Liens de partage Les liens publics et les partages signés n'impliquent pas nécessairement la création d'un compte utilisateur. Les liens web d'EDT sont en lecture seule ; certains liens ciblés peuvent toutefois autoriser une action limitée, par exemple la saisie des disponibilités d'un professeur jusqu'à une date d'expiration. #### Procédure — Inviter un groupe d'utilisateurs 1. Ouvrez l'écran adapté au rôle : professeurs, élèves, personnel ou tous les utilisateurs. 2. Sélectionnez les lignes concernées. 3. Cliquez sur Inviter un utilisateur. 4. Vérifiez que chaque utilisateur a un login et un e-mail. 5. Envoyez les invitations. Les utilisateurs définissent ensuite leur mot de passe via le lien reçu. #### Voir aussi - [Architecture et rôles](#page-overview.architecture-and-roles) - [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) - [Rôles personnalisés](#page-admin.customroles) - [Gérer les membres du personnel](#page-admin.staff) ### 8.2 Gérer les administrateurs *Source: `help/fr/admin/admins.md` · id: admin.admins · Audience: admin · Updated: 2026-05-14* L'écran **Administrateurs** est la vue filtrée des utilisateurs qui portent le rôle d'administrateur (voir le tableau des rôles dans [Utilisateurs et rôles](#page-admin.users-and-roles)). Ce rôle donne accès aux opérations de configuration de l'école : utilisateurs, emplois du temps, absences, paramètres, imports, exports et publication. #### Créer un administrateur Utilisez Ajouter un administrateur depuis la liste. Le formulaire est celui des utilisateurs : - prénom et nom ; - genre ; - e-mail et téléphone, si utiles ; - identifiant externe / matricule, si l'établissement en utilise un ; - login généré selon les paramètres du compte ; - rôle administrateur ; - commentaire. Le compte créé possède déjà un identifiant de connexion. Pour activer l'accès de la personne, ouvrez sa fiche dans la liste des utilisateurs : vous pouvez lui **définir un mot de passe** (Mot de passe), lui **envoyer un e-mail** (Envoyer un mail) et **activer ou désactiver** le compte (Activer). La connexion par fournisseur d'identité (SSO) reste une alternative, voir [OIDC / SSO](#page-integrations.oauth2). #### Cumuler plusieurs rôles Un même compte peut porter plusieurs rôles. Un coordinateur peut être à la fois professeur et administrateur : il conserve son portail professeur et accède aussi aux écrans d'administration. Les rôles personnalisés permettent de limiter un administrateur à un périmètre plus précis. Sans rôle personnalisé, le rôle administrateur reste global. #### Retirer un accès administrateur Pour retirer les droits d'administration, éditez le compte et retirez le rôle administrateur. Évitez de créer un second compte pour la même personne sauf contrainte réelle : le cumul de rôles sur un seul utilisateur est prévu pour ce cas. Gardez toujours au moins un compte administrateur opérationnel avant de modifier les droits des autres administrateurs. #### Procédure — Créer un administrateur 1. Ouvrez Administrateurs. 2. Cliquez sur Ajouter un administrateur. 3. Renseignez l'identité, l'e-mail si vous comptez lui envoyer un message, puis vérifiez que le rôle administrateur est présent. 4. Sauvegardez. Vous devez renseigner **votre** mot de passe administrateur, pour confirmer toute création ou modification d'un compte administrateur, par mesure de sécurité. 5. Si nécessaire, sélectionnez le compte dans la liste pour **définir son mot de passe**, lui **envoyer un e-mail** ou **activer / désactiver** l'accès, selon votre mode de déploiement. #### Voir aussi - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Rôles personnalisés](#page-admin.customroles) - [OIDC / SSO](#page-integrations.oauth2) ### 8.3 Rôles personnalisés d'administration *Source: `help/fr/admin/customroles.md` · id: admin.customroles · Audience: admin · Options: customroles · Updated: 2026-06-13* > **Option: Rôles personnalisés** Les **rôles personnalisés** permettent de restreindre les droits d'un compte administrateur. Le principe est soustractif : on part d'un périmètre d'administration, puis on retire les modules ou les opérations que la personne ne doit pas pouvoir utiliser. C'est l'option à activer pour déléguer une partie de l'administration sans donner tous les droits globaux. #### Pourquoi ne pas donner tous les droits d'administration ? Le rôle administrateur standard donne tous les droits sur le compte de l'école. Pour beaucoup de fonctions de coordination, c'est trop : - un coordinateur d'absences doit voir et gérer les absences, mais pas modifier les EDT ou les paramètres globaux ; - un gestionnaire d'EDT doit construire les emplois du temps sans forcément accéder à l'import / export ; - un service RH peut avoir besoin de modifier les fiches professeurs sans toucher aux cours ; - un service technique peut consulter salles, panneaux ou ressources sans gérer les utilisateurs. #### Ce que le formulaire permet L'écran **Rôles personnalisés** propose : - un **nom de rôle** ; - des permissions par module ; - des permissions par opération, selon ce que chaque module expose. Les permissions portent sur les modules et leurs opérations, pas sur les données elles-mêmes : un rôle personnalisé ne restreint pas l'accès à une classe, un site, une matière ou une période en particulier. Il délimite ce que la personne peut faire, pas les données sur lesquelles elle peut agir. #### Affecter un rôle personnalisé Une fois créé, le rôle apparaît dans les sélecteurs de rôles des fiches utilisateurs. Vous l'affectez à un compte administrateur comme un autre rôle. Un utilisateur peut cumuler plusieurs rôles standards et personnalisés. Il obtient alors l'union des permissions restantes. #### Cas d'usage typiques - **Vie scolaire / surveillants** — droits sur les absences, le Service du personnel et la consultation des EDT, sans accès à la configuration. - **Coordinateurs pédagogiques** — droits sur les écrans d'EDT utiles, sans paramètres globaux. - **Service technique** — accès aux salles, panneaux ou ressources selon les opérations autorisées. - **Assistants administratifs** — gestion des élèves ou professeurs sans accès au paramétrage sensible. #### Auditabilité Les actions effectuées avec un rôle personnalisé apparaissent dans les logs lorsque l'option de logs est active et que la route concernée est journalisée. Voir [Journaux d'activité (logs)](#page-admin.logs). #### Procédure — Créer un rôle « Coordinateur absences » 1. Ouvrez **Rôles personnalisés** dans l'administration. 2. Créez un rôle nommé `Coordinateur absences`. 3. Autorisez les actions nécessaires sur le module Gestion des absences. 4. Conserver la lecture des emplois du temps si le coordinateur doit contextualiser une absence, mais retirez la modification. 5. Excluez les modules qui ne doivent pas être accessibles, notamment Gestion des EDT, paramètres globaux ou import / export si ce n'est pas son périmètre. 6. Sauvegardez, puis affectez le rôle aux comptes administrateurs concernés. 7. Si les journaux d'activité sont actifs, contrôlez les actions depuis [Journaux d'activité (logs)](#page-admin.logs). #### Voir aussi - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Gérer les administrateurs](#page-admin.admins) - [Restrictions de visibilité](#page-admin.visibility-restrictions) - [Journaux d'activité (logs)](#page-admin.logs) ### 8.4 Gérer les professeurs *Source: `help/fr/admin/teachers.md` · id: admin.teachers · Audience: admin · Updated: 2026-05-15* L'écran **Professeurs** liste les utilisateurs qui portent le rôle de professeur. Selon le contexte de l'établissement, on parle aussi de professeurs, d'intervenants ou de formateurs. Cet écran sert à créer les comptes, gérer leurs informations, leurs matières, leurs disponibilités et la consultation de leur emploi du temps. #### Champs de la fiche Une fiche professeur contient les champs communs d'un utilisateur et des champs propres aux professeurs : - prénom, nom et genre ; - date de naissance ; - e-mail et téléphone ; - identifiant externe / matricule ; - login ; - heures de service ; - matières enseignées ; - statut externe pour les vacataires ou intervenants ; - disponibilités et contraintes horaires ; - commentaire. L'onglet **Emploi du temps** réunit l'emploi du temps complet du professeur, sur l'ensemble des années scolaires, avec ses disponibilités consolidées en arrière-plan. C'est une vue de consultation : les affectations pédagogiques se font dans les emplois du temps. Depuis la fiche, le bouton **Partage** ouvre l'écran de partage, qui fournit notamment un abonnement iCal propre au professeur, valable sur toutes les années scolaires. #### Matières enseignées Les matières rattachées à un professeur servent à filtrer ou préparer les affectations. Elles se choisissent dans le référentiel de matières officielles ou personnalisées. #### Disponibilités L'onglet **Disponibilités** permet à l'administrateur de saisir ou corriger les disponibilités d'un professeur. Selon le paramétrage de l'école, la saisie se fait en mode hebdomadaire, calendrier, mixte ou désactivée. Le professeur peut également saisir ses propres disponibilités depuis son portail si l'établissement l'autorise. #### Actions en masse En sélectionnant des professeurs dans la liste principale, vous pouvez aussi les inviter, leur définir un mot de passe ou leur envoyer un message, selon les fonctions activées pour le compte. Vous pouvez préalablement les filtrer. Le bouton **Importer des données** ouvre une grille de type tableur : on y ajoute, corrige ou supprime plusieurs professeurs à la fois, et on en exporte la liste. Deux colonnes y sont en lecture seule, uniquement destinées à l'exportation : - **Disponibilités** : restituées en texte, telles qu'elles ont été enregistrées ; - **Classes** : celles où le professeur a des cours, consolidées depuis les emplois du temps actifs de l'année en cours. > _Premium_ Les professeurs peuvent être synchronisés depuis un système externe : Synchroniser ouvre le rapprochement avec ce système. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Procédure — Créer un professeur 1. Ouvrez Professeurs. 2. Cliquez sur Ajouter un professeur. 3. Renseignez l'identité, l'e-mail, le login ou l'identifiant externe selon votre règle interne. 4. Ajoutez les matières enseignées. 5. Renseignez les heures de service si elles sont utilisées par votre établissement. 6. Sauvegardez, puis invitez le professeur si vous voulez qu'il se connecte. #### Voir aussi - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Gérer les élèves](#page-admin.students) - [Gérer les matières](#page-admin.subjects) - [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) - [Intervenants externes (vacataires)](#page-higher-ed.external-faculty) ### 8.5 Gérer les élèves *Source: `help/fr/admin/students.md` · id: admin.students · Audience: admin · Plan: standard · Updated: 2026-05-15* L'écran **Élèves** liste les utilisateurs qui portent le rôle élève. Selon le contexte de l'établissement, on parle aussi d'étudiants ou d'apprenants. Cet écran sert à créer les comptes, à suivre leur statut et à gérer leurs placements dans les classes et groupes, année scolaire par année scolaire. #### Champs de la fiche Une fiche élève contient les champs communs d'un utilisateur : - prénom, nom et genre ; - date de naissance ; - e-mail et téléphone ; - identifiant externe / matricule ; - login ; - commentaire. Les représentants légaux, les justificatifs et les notifications parents ne sont pas des champs de cette fiche. #### Placements dans les classes et groupes Les affectations pédagogiques sont gérées dans l'onglet de placement de l'élève. Un placement indique notamment : - la classe principale ; - l'année scolaire concernée ; - les dates de début et de fin si le placement ne couvre pas toute l'année ; - les groupes suivis, semaine par semaine si nécessaire ; - les éventuels chevauchements à corriger. Un élève peut avoir plusieurs placements au fil d'une année scolaire, par exemple après un changement de classe, un parcours partiel ou un redoublement partiel. #### Actions en masse En sélectionnant des élèves dans la liste principale, vous pouvez les affecter à une classe avec **Assigner à une classe** ou à des groupes avec **Groupes** (s'ils sont de la même classe), les inviter, leur définir un mot de passe, leur envoyer un message, les désactiver lorsqu'ils quittent l'établissement ou les supprimer définitivement. Vous pouvez préalablement les filtrer, notamment par classe d'affectation. Le bouton **Importer des données** ouvre une grille de type tableur : on y ajoute ou corrige plusieurs élèves à la fois, et on en exporte la liste (CSV, Excel, PDF). Pour chaque année scolaire, deux colonnes y sont en lecture seule, uniquement destinées à l'exportation : - **Classes** : la ou les classes où l'élève est placé sur l'année courante et les suivantes ; - **Groupes** : les groupes suivis sur l'année courante et les suivantes. #### Redoublements et hors-cursus Un redoublement partiel — un élève qui suit des cours répartis sur deux niveaux — se gère en le plaçant dans les deux classes concernées sur la même période : son emploi du temps réunit alors les cours des deux classes. Omniscol ne contrôle pas les chevauchements d'horaires entre elles, c'est à vous de les vérifier. #### Procédure — Créer et placer un élève 1. Ouvrez Élèves. 2. Créez l'élève ou importez-le en masse. 3. Ouvrez sa fiche, puis l'onglet de placement de l'année scolaire concernée. 4. Ajoutez une classe, vérifiez les dates, puis sélectionnez les groupes suivis si nécessaire. 5. Sauvegardez les placements. 6. Invitez l'élève si vous voulez qu'il se connecte au portail. #### Voir aussi - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Import et export](#page-admin.import-export) ### 8.6 Gérer les membres du personnel *Source: `help/fr/admin/staff.md` · id: admin.staff · Audience: admin · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-25* > **Option: Service du personnel** L'écran **Membres du personnel** liste les utilisateurs qui portent le rôle **Personnel**. Il n'apparaît que sur les comptes dotés du module **Service du personnel** : c'est là que vous déclarez les personnes (surveillants, encadrants, assistants d'éducation…) que vous planifierez ensuite dans le [Service du personnel](#page-staffing.overview). Cet onglet sert à créer les comptes, gérer leurs informations et leurs heures de service. **L'affectation aux tâches** (permanences, surveillances, examens…) se fait, elle, dans le module Service du personnel — voir [Affectations](#page-staffing.assignments). #### Champs de la fiche Une fiche de membre du personnel contient les champs communs d'un utilisateur et quelques champs propres au personnel : - prénom, nom et genre ; - date de naissance ; - e-mail et téléphone ; - identifiant externe / matricule ; - login ; - **heures de service** (volume de référence pour le suivi) ; - rôles et commentaire. Une **fiche détaillée** est accessible depuis la liste (Détails) pour consulter et compléter ces informations membre par membre. #### Membre du personnel et Service du personnel La séparation est volontaire : **ici** vous gérez les *personnes* (le référentiel des membres), **dans le [Service du personnel](#page-staffing.overview)** vous gérez leur *planning* — grilles, tâches et affectations. Un membre créé sur cet écran devient sélectionnable comme encadrant autorisé dans les [affectations](#page-staffing.assignments). #### Actions de liste Depuis la liste, Ajouter un membre du personnel ajoute un membre, et Importer des données ouvre la création ou la correction **en masse**. Les actions de sélection permettent aussi d'inviter les membres, de définir des mots de passe, d'activer les comptes ou de les supprimer, selon les API disponibles. #### Procédure — Créer un membre du personnel 1. Ouvrez Membres du personnel. 2. Cliquez sur Ajouter un membre du personnel. 3. Renseignez l'identité, l'e-mail, le login ou l'identifiant externe selon votre règle interne. 4. Renseignez les **heures de service** si votre établissement en assure le suivi. 5. Sauvegardez, puis invitez le membre si vous voulez qu'il se connecte à son portail. 6. Planifiez ensuite ses tâches dans le [Service du personnel](#page-staffing.assignments). #### Voir aussi - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Gérer les professeurs](#page-admin.teachers) - [Service du personnel — vue d'ensemble](#page-staffing.overview) - [Affectations](#page-staffing.assignments) - [Service du personnel](#page-glossary.staffing) ### 8.7 Gérer les matières (officielles et personnalisées) *Source: `help/fr/admin/subjects.md` · id: admin.subjects · Audience: admin · Updated: 2026-05-14* L'écran **Matières** gère les matières personnalisées de l'école et, si le référentiel commun est actif, permet de rechercher des matières officielles du pays configuré. #### Matières communes et personnalisées - Les **matières communes** viennent du référentiel Omniscol pour le pays de l'école. Elles peuvent être recherchées et ajoutées quand ce référentiel n'est pas désactivé. - Les **matières personnalisées** appartiennent à l'école. Elles couvrent les intitulés locaux, modules, options ou unités qui ne sont pas dans le référentiel commun. #### Champs d'une matière personnalisée | Champ | Obligatoire ? | Rôle | | --- | --- | --- | | **code** | Oui | Codification courte de la matière, en binôme avec le nom (qui peut être long, surtout dans le supérieur). Souvent une référence officielle — par exemple les codes matières des ministères de l'éducation (France, Italie) — généralement en majuscules et/ou chiffres. | | **nom** | Oui | Libellé complet de la matière, affiché dans les sélecteurs de cours, sur l'emploi du temps et dans les exports. | | **nom court** | Non | Libellé abrégé pour l'affichage sur l'emploi du temps, plus court que le nom complet. | | **matière parente** | Non | Rattache la matière à une autre matière pour construire une hiérarchie de matières. | | **famille** | Non | Regroupe les matières. Le sélecteur propose les familles par défaut du référentiel du pays et les familles propres au compte. | | **couleur** | Non | Couleur d'identification visuelle. À la création, vous choisissez dans une palette de teintes lisibles à l'écran ; à défaut, une couleur est calculée automatiquement à partir du nom. | Le code et le nom sont tous deux demandés à la création. Évitez de changer le code une fois qu'il sert de référence dans vos imports, exports ou échanges avec un système externe. #### Création et modification en masse Le bouton [table] ouvre la création et la modification **en masse** des matières personnalisées : saisir ou remplacer plusieurs matières en une seule opération, dans une grille de type tableur. Supprimer une ligne de la grille puis valider retire la matière correspondante du catalogue : la grille remplace l'ensemble des matières personnalisées par son contenu. Dans cette grille, la couleur accepte une valeur hexadécimale libre, sans la palette de teintes proposée à la création — au risque d'un rendu moins lisible. Une matière personnalisée peut être supprimée même si elle a servi dans des emplois du temps passés ou publiés. Vous pouvez ainsi nettoyer le catalogue des matières d'une année sur l'autre sans toucher à ces emplois du temps : chaque classe conserve une copie locale du libellé de la matière (nom, nom court, code), et l'emploi du temps garde la couleur qui lui était attribuée. La matière continue donc de s'afficher après sa suppression du catalogue. Voir [Modèle de données complet](#page-integrations.data-model-full) pour le principe de copie locale. > _Premium_ Si la synchronisation avec un système externe est configurée, Synchroniser ouvre le rapprochement avec ce système. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Types de cours Le même écran affiche aussi la liste simple des types de cours. Voir [Types de cours](#page-admin.lesson-types). > _Premium_ Les types de cours peuvent aussi être synchronisés depuis un système externe : Synchroniser ouvre le rapprochement. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Procédure — Ajouter une matière 1. Ouvrez Matières. 2. Pour une matière commune, utilisez la recherche du référentiel si elle est disponible. 3. Pour une matière propre à l'établissement, cliquez sur **Créer** avec Créer. 4. Renseignez le code et le nom, tous deux obligatoires, puis complétez le nom court, la famille, la matière parente ou la couleur si nécessaire. 5. Sauvegardez. La matière devient disponible dans les sélecteurs de cours et les fiches professeurs. #### Voir aussi - [Types de cours](#page-admin.lesson-types) - [Gérer les professeurs](#page-admin.teachers) - [Matière](#page-glossary.subject) ### 8.8 Types de cours *Source: `help/fr/admin/lesson-types.md` · id: admin.lesson-types · Audience: admin · Updated: 2026-05-14* Dans le module **Administration**, un **type de cours** est un libellé court attaché aux séances pour distinguer des formats comme `CM`, `TD`, `TP`, `Examen` ou `Projet`. Les types de cours forment une liste de libellés textuels, sans couleur ni icône associées. #### Où les gérer La liste des types de cours se gère depuis l'écran **Matières** et depuis l'écran **Paramètres**, dans la section **Type de cours**. Les boutons utilisés sont : - **Créer** pour ajouter un nouveau type ; - **Enregistrer** pour enregistrer la liste. L'ordre d'affichage se réorganise par glisser-déposer. #### Paramètre “Type de cours obligatoire” Le paramètre Type de cours obligatoire se règle dans l'écran **Paramètres**. Lorsqu'il est activé, la saisie d'un cours, c'est-à-dire une matière affectée à une classe dans un emploi du temps, doit inclure un type. C'est utile lorsque vous exportez les séances vers un ERP qui exige cette information. #### Bonnes pratiques - Gardez une liste courte et stable. - Évitez de renommer un type utilisé en production sans vérifier les imports et exports qui s'appuient dessus. - Utilisez les types pour distinguer des formats pédagogiques, pas pour remplacer les matières ou les modalités de cours (présentiel/distanciel). #### Procédure — Ajouter un type 1. Ouvrez l'écran **Matières**. 2. Dans la section **Type de cours**, cliquez sur **Créer**. 3. Saisissez le libellé du type. 4. Réordonnez la liste si nécessaire. 5. Enregistrez avec **Enregistrer**. #### Voir aussi - [Cours, séances, types de cours](#page-core-concepts.lessons-and-types) - [Gérer les matières](#page-admin.subjects) ### 8.9 Année scolaire et vacances *Source: `help/fr/admin/school-year.md` · id: admin.school-year · Audience: admin · Plan: standard · Updated: 2026-06-26* Dans le module **Administration**, l'écran **Années scolaires** définit les périodes sur lesquelles les emplois du temps, vacances, absences et placements des élèves sont interprétés. On parle aussi d'année académique. #### Créer une année scolaire Une année scolaire contient : - un **nom** ; - une **date de début** ; - une **date de fin**. À la création, Omniscol peut proposer l'import des vacances communes du pays configuré lorsque des données sont disponibles pour la plage choisie. Vous pouvez désélectionner celles qui ne vous concernent pas. #### Année scolaire courante Le sélecteur **Année scolaire courante** indique l'année affichée par défaut dans l'application et les portails. Changer cette valeur fait basculer le contexte par défaut des utilisateurs. C'est aussi la seule année accessible aux élèves. Gardez l'année courante sur l'année réellement utilisée au quotidien. Préparer l'année suivante se fait en créant une nouvelle année puis en travaillant les emplois du temps correspondants sans la définir trop tôt comme année courante. #### Vacances Chaque année scolaire contient une liste de vacances : - nom ; - date de début ; - date de fin. Vous pouvez les ajouter une par une, les modifier, les supprimer ou les gérer en tableau avec **Tableau**. #### Semaines alternées Si les semaines alternées sont activées dans les paramètres généraux, l'écran affiche une frise permettant de régler les alternances de l'année. La sauvegarde se fait avec **Enregistrer**. Le format des étiquettes (`A, B, ...`, `1, 2, ...`, ou désactivé) se règle dans les paramètres généraux. **Décalage par les vacances** : si vous étiez en semaine A juste avant les vacances et voulez reprendre en semaine B après, cliquez sur les semaines concernées de la frise pour créer un **décalage virtuel**. L'alternance se recale alors sur la suite du calendrier. #### Procédure — Préparer l'année suivante 1. Ouvrez l'écran **Années scolaires**. 2. Créez l'année suivante avec son nom, sa date de début et sa date de fin. 3. Importez ou saisissez les vacances. 4. Configurez les semaines alternées si votre établissement les utilise. 5. Créez ou dupliquez ensuite les emplois du temps dans le module **Gestion des EDT**. 6. Ne changez l'année scolaire courante qu'au moment où les utilisateurs doivent voir cette année par défaut. #### Voir aussi - [Année scolaire](#page-core-concepts.school-year) - [Année scolaire](#page-glossary.school-year) - [Publier (activer) un emploi du temps](#page-timetables.publication) - [Préparer la rentrée suivante](#page-timetables.next-school-year) ### 8.10 Paramètres généraux de l'école *Source: `help/fr/admin/parameters.md` · id: admin.parameters · Audience: admin · Updated: 2026-05-14* Dans le module **Administration**, l'écran **Paramètres** contient la configuration globale de l'école. Certains paramètres s'appliquent immédiatement à tout le compte et d'autres servent de valeur par défaut pour les futurs emplois du temps. #### Paramètres principaux L'écran permet notamment de régler : - **nom de l'école** ; - **fuseau horaire** ; - **année scolaire courante** ; - **niveaux de classe** avec Créer ; - **heures d'ouverture** pour les comptes qui utilisent le Service du personnel ; - **mode de saisie des disponibilités des professeurs** ; - **restriction de visibilité élève** ; - **restriction de visibilité professeur** ; - **restriction de connexion par rôle** ; - **gestion du deuxième prénom** ; - **règle de capitalisation des noms** ; - **syntaxe de login** ; - **premier jour de la semaine** ; - **format des semaines alternées** ; - **caractère obligatoire ou non du type de cours** ; - **activation ou désactivation du référentiel commun de matières** ; - **logo de l'école**. Les quotas de snapshots ou la profondeur de conservation des logs ne sont pas des réglages ordinaires de cet écran. Ils sont activés ou adaptés par Omniscol selon le contrat de l'établissement. #### Niveaux Les **niveaux** servent à classer les classes par progression pédagogique : 6e, 5e, Bachelor, Master, année 1, année 2, etc. Ils font partie des réglages **généraux** du compte. Vous pouvez les créer, les supprimer et les réordonner depuis cet écran. Ils servent ensuite dans les classes, dans certains filtres et dans plusieurs vues de diagnostic. #### Paramètres de visibilité et de connexion Les paramètres Restriction de consultation des EDT par les étudiants, Restriction de consultation des EDT par les professeurs et Restriction de connexion à l’application sont documentés dans [Restrictions de visibilité](#page-admin.visibility-restrictions). #### Types de cours et matières communes Le paramètre Type de cours obligatoire force ou non la présence d'un type lors de la saisie d'un cours. Le paramètre des matières communes contrôle l'accès au référentiel officiel du pays. #### Logo Le logo téléversé est stocké dans le compte et utilisé par l'interface quand le contexte le prévoit, notamment sur les écrans de connexion et dans l'application. #### Procédure — Configurer le compte 1. Ouvrez **Paramètres**. 2. Vérifiez le nom de l'école, le fuseau horaire et l'année scolaire courante. 3. Configurez les niveaux, le premier jour de la semaine et les semaines alternées avant de créer les emplois du temps. 4. Réglez les restrictions de visibilité et de connexion selon votre politique d'établissement. 5. Sauvegardez les paramètres généraux avec Enregistrer. #### Voir aussi - [Configurer le compte de l'école](#page-getting-started.setup-school) - [Année scolaire et vacances](#page-admin.school-year) - [Gérer les matières](#page-admin.subjects) - [Restrictions de visibilité](#page-admin.visibility-restrictions) - [Paramètres avancés et personnalisation](#page-admin.advanced-parameters) ### 8.11 Paramètres avancés et personnalisation *Source: `help/fr/admin/advanced-parameters.md` · id: admin.advanced-parameters · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Dans le module **Administration**, l'écran **Paramètres** réunit, sur les comptes Premium, des réglages **avancés** en plus des paramètres généraux. Cette page documente ces fonctions avancées ; pour les réglages de base, voir [Paramètres généraux de l'école](#page-admin.parameters). #### Campus Les **campus** servent à classer les classes par organisation interne : implantation, faculté, pôle, programme ou autre périmètre propre à l'établissement. Cette notion est **facultative** et reste distincte des sites : un site est un lieu physique, avec sa grille horaire, ses salles et ses temps de trajet, tandis qu'un campus est une simple maille d'organisation logique. Le campus devient surtout utile quand la géographie ne recoupe pas bien votre organisation logique : plusieurs facultés dans les mêmes bâtiments, ou plusieurs écoles d'un groupe qui partagent plusieurs sites de manière croisée. Même quand campus et site se recoupent, cette maille peut rester utile pour les filtres et les regroupements. Créez avec **Créer** uniquement les campus qui servent réellement à organiser ou filtrer le travail. Ils deviennent ensuite disponibles dans les écrans de création des classes et certains filtres de diagnostic. #### Surcharges de traduction et de terminologie L'écran permet aussi de **surcharger des traductions** pour adapter le vocabulaire affiché à votre établissement. Cette zone sert à personnaliser les libellés visibles dans l'interface, sans modifier la structure fonctionnelle du produit. Il y a deux mécanismes distincts : - Règles de remplacements de traductions : elles remplacent un terme par un autre dans un ensemble de libellés ; - Redéfinitions de traductions : elles remplacent directement la valeur d'une traduction précise. ##### Règles de remplacement Les règles de remplacement servent à harmoniser un vocabulaire dans de nombreux libellés à la fois. Exemples typiques : - remplacer `Professeur` par `Intervenant` ; - remplacer `Élève` par `Étudiant` ; - adapter certains termes à la culture de l'établissement. Les règles sont **ordonnées**. L'ordre compte : une règle placée plus haut s'applique avant les suivantes. L'écran permet de : - saisir un texte source et un texte cible, puis valider avec **Ajouter** ; - prévisualiser les libellés concernés ; - réordonner les règles ; - supprimer une règle. Les options disponibles servent à préciser le type de remplacement : - `Aa` : distinction alphabétique / casse ; - `ab` souligné : correspondance complète ; - `.*` : expression régulière. Utilisez les règles quand vous voulez changer un terme de manière cohérente dans plusieurs écrans. Les règles se sauvegardent **dans leur propre zone** : ajout, suppression et réordonnancement sont enregistrés séparément des autres paramètres de la page. ##### Surcharges de clés complètes Les surcharges de clés complètes servent à corriger ou réécrire un libellé **au cas par cas**. L'écran permet de : - rechercher une traduction existante ; - l'ajouter à la liste des surcharges ; - saisir votre propre version ; - enregistrer ou supprimer cette surcharge. Utilisez ce mode quand une règle générale serait trop large, ou quand vous voulez réécrire une phrase entière plutôt qu'un simple terme. Chaque surcharge de clé se sauvegarde **ligne par ligne** avec son propre bouton d'enregistrement ou de suppression. ##### Bon usage Les règles et surcharges servent à personnaliser le **vocabulaire affiché**. Elles ne changent ni les concepts métier sous-jacents, ni les identifiants internes, ni les comportements de l'application. Préférez : - une **règle** pour un renommage récurrent ; - une **surcharge de clé** pour une exception locale ou un libellé complet. Évitez les remplacements trop larges ou ambigus qui rendraient l'aide, les recherches ou la terminologie incohérentes d'un écran à l'autre. #### Procédure 1. Ouvrez **Paramètres** dans le module **Administration**. 2. Repérez la zone avancée correspondant à votre besoin : campus ou surcharges de traduction. 3. Pour les campus, créez et ordonnez les libellés utiles à votre organisation. 4. Pour les traductions, choisissez entre règle globale et surcharge ponctuelle selon le périmètre du changement. 5. Sauvegardez chaque zone avec son propre mécanisme : les règles sont enregistrées dans leur bloc, et les surcharges de clés se valident ligne par ligne. #### Voir aussi - [Paramètres généraux de l'école](#page-admin.parameters) - [Restrictions de visibilité](#page-admin.visibility-restrictions) - [Campus](#page-glossary.campus) - [Conflits et diagnostic](#page-timetables.conflicts) ### 8.12 Restrictions de visibilité et de connexion *Source: `help/fr/admin/visibility-restrictions.md` · id: admin.visibility-restrictions · Audience: admin · Plan: standard · Updated: 2026-05-14* Dans le module **Administration**, l'écran **Paramètres** regroupe quelques restrictions ciblées : un horizon de consultation pour les élèves, le masquage des emplois du temps entre professeurs et le blocage de connexion par rôle. #### Restriction côté élèves Le paramètre Restriction de consultation des EDT par les étudiants définit le nombre de semaines futures, semaine en cours comprise, pendant lesquelles les emplois du temps publiés restent visibles par les élèves. Vous le réglez sur un nombre de semaines ou sur **Illimité**. Cette restriction porte sur la fenêtre temporelle ouverte aux élèves : chacun consulte les emplois du temps publiés jusqu'à l'horizon choisi. #### Restriction côté professeurs Le paramètre Restriction de consultation des EDT par les professeurs masque les emplois du temps des autres professeurs. Il agit sur les filtres et les vues de consultation : un professeur retrouve son propre emploi du temps, sans accéder à celui de ses collègues. #### Restriction de connexion Le paramètre Restriction de connexion à l’application bloque la connexion des profils sélectionnés : **Professeurs**, **Membres du personnel** ou **Élèves**. Un utilisateur qui cumule plusieurs rôles se connecte tant qu'au moins un de ses rôles reste autorisé. #### Procédure — Limiter la visibilité élève 1. Ouvrez l'écran **Paramètres**. 2. Repérez Restriction de consultation des EDT par les étudiants. 3. Choisissez **Illimité** ou un nombre de semaines. 4. Validez avec **Enregistrer**. #### Voir aussi - [Paramètres généraux](#page-admin.parameters) - [Utilisateurs et rôles](#page-admin.users-and-roles) - [Portail étudiant](#page-portal.student-portal) - [Portail enseignant](#page-portal.teacher-portal) ### 8.13 Import et export *Source: `help/fr/admin/import-export.md` · id: admin.import-export · Audience: admin · Updated: 2026-06-03* Dans le module **Administration**, l'écran **Import/Export** regroupe les opérations de transfert de données du compte : export JSON, échanges aSc, snapshots, synchronisation avec des systèmes externes et options d’API activées sur le compte. Tout dépend du pays, il peut aussi y avoir les échanges avec les protocoles standards. Pour les établissements sous tutelle de l'Éducation nationale, des échanges propres à la France (STS, UnDeuxTemps, École Directe) sont décrits dans [Formats français](#page-admin.french-formats). #### Export JSON Le bouton **Télécharger** lance un export JSON complet du compte. Ce fichier contient les données du compte et doit être traité comme une sauvegarde sensible. L'export JSON est disponible à tous les administrateurs. Si vous souhaitez restreindre l'accès, il faut l'option des [Rôles personnalisés](#page-admin.customroles). #### Import JSON L'import JSON complet utilise le même format que l'export. Il reste réservé à l'équipe Omniscol dans le cadre du support : la réinjection se fait à sa demande, et non comme une opération courante de l'écran d'administration. Pour une restauration de compte, privilégiez les snapshots lorsqu'ils sont activés, ou contactez Omniscol si une réinjection JSON est nécessaire. Avant tout import destructif, créez un point de sauvegarde si la fonctionnalité est active. #### aSc Timetables L'écran contient aussi une section aSc Timetables : - import d'un fichier XML aSc ; - export XML aSc avec options. Cet échange porte sur un fichier complet aSc. Pour ajouter des cours à partir d'un tableur, utilisez plutôt [Import massif des cours via tableur](#page-timetables.mass-import). #### Points de sauvegarde Si les **points de sauvegarde** sont activés, le bouton **Points de sauvegarde** ouvre leur gestion. Voir [Points de sauvegarde](#page-admin.snapshots). #### Synchronisation avec des systèmes externes et options d’API > _Premium_ L'écran propose aussi : - la configuration de synchronisation avec des systèmes externes avec **Configurer** ; - le partage global / OpenAPI ; - les réglages API ; - la configuration MCP ; - la gestion OAuth2 / OIDC. #### Procédure — Exporter le compte 1. Ouvrez **Import/Export**. 2. Cliquez sur **Télécharger**. 3. Conservez le fichier dans un emplacement sécurisé. 4. Si l'objectif est une opération risquée, créez plutôt un snapshot en plus de l'export. #### Voir aussi - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Import massif des cours via tableur](#page-timetables.mass-import) - [Points de sauvegarde](#page-admin.snapshots) - [Vue d'ensemble](#page-migration.overview) - [Synchronisation avec des systèmes externes](#page-integrations.extsync) - [Formats français](#page-admin.french-formats) ### 8.14 Imports et exports français (STS, UnDeuxTemps, École Directe) *Source: `help/fr/admin/french-formats.md` · id: admin.french-formats · Audience: admin · Plan: standard · Updated: 2026-06-29* Pour les établissements français, l'écran **Import/Export** du module **Administration** propose des échanges spécifiques à la France, en plus des transferts généraux décrits dans [Import et export](#page-admin.import-export). Ces formats ne concernent que la France : ils n'apparaissent pas pour les comptes d'autres pays. Trois formats sont couverts ici : **STS** (Éducation nationale), **UnDeuxTemps (UDT)** et l'export **Aplim / Charlemagne** vers **École Directe**. L'échange avec **aSc Timetables** suit un chemin distinct, décrit dans [Depuis aSc Timetables](#page-migration.from-asc). #### STS (Éducation nationale) Pour les établissements **sous tutelle de l'Éducation nationale**, le fichier **STS** vous est fourni par l'administration. Il décrit votre établissement, l'année scolaire, les programmes, les professeurs affectés, les classes et les groupes. Il existe deux types de fichiers STS : - **STS_EDT** (aussi appelé **STS_EMP**) : destiné à l'importation des données du Ministère dans un logiciel d'emploi du temps. C'est le fichier d'entrée pour construire votre emploi du temps à partir des données officielles. - **EDT_STS** (aussi appelé **EMP_STS**) : la remontée (export) des données vers le Ministère, pour les services des professeurs. Un fichier **EDT_STS peut aussi être importé** : il sert alors à créer les heures de cours d'un emploi du temps construit **au préalable** par l'importation d'un fichier STS_EDT. ##### Importer un fichier STS L'import STS est disponible. Dans la section **STS** de l'écran [Import et export](#page-admin.import-export), utilisez le bouton d'import du fichier STS et sélectionnez votre fichier `.xml`. Omniscol lit le code de l'établissement (UAI/RNE), l'année scolaire, les programmes, les matières, les classes, les groupes et les professeurs, puis construit l'emploi du temps correspondant. #### UnDeuxTemps (UDT) Vous pouvez importer un emploi du temps au **format UDT** (UnDeuxTemps), un format de fichiers `.DBF` produit par UnDeuxTemps ou par tout logiciel exportant ce format. Dans la section **UnDeuxTemps (UDT)** de l'écran [Import et export](#page-admin.import-export), sélectionnez les trois fichiers `.DBF` de l'export (au minimum `UDTCOURS.DBF`). Omniscol les lit ensemble et reconstitue les cours de l'emploi du temps. #### Aplim / Charlemagne, vers École Directe Cet export produit un emploi du temps au **format UDT** lu par **Charlemagne (Aplim)**, qui provisionne ensuite l'emploi du temps type dans **École Directe**. Le bouton **Exporter au format UDT (Charlemagne)** ouvre le choix de la source : un emploi du temps type, ou l'emploi du temps courant pour une semaine donnée. L'export produit un fichier `.zip` contenant un dossier avec trois tables `.DBF` (`UDTCOURS.DBF`, `UDTREGR.DBF`, `UDTREM.DBF`) à coller dans Charlemagne. Pour un export d'une semaine précise, le dossier est nommé d'après la semaine (par exemple `S13_23_03_2026 - 27_03_2026`), ce qui facilite le repérage côté Charlemagne. L'export Aplim / Charlemagne est **récent** et proposé en **bêta** : vérifiez le résultat après import dans Charlemagne et signalez tout écart à Omniscol. #### Procédure — Exporter vers Charlemagne / École Directe 1. Ouvrez **Import/Export** et repérez la section **Aplim/Charlemagne**. 2. Cliquez sur **Exporter au format UDT (Charlemagne)**. 3. Choisissez la source : un emploi du temps type, ou l'emploi du temps courant puis la semaine voulue. 4. Récupérez le fichier `.zip` téléchargé et collez le dossier `.DBF` qu'il contient dans Charlemagne, qui alimentera ensuite École Directe. #### Voir aussi - [Import et export](#page-admin.import-export) - [Depuis aSc Timetables](#page-migration.from-asc) - [Import massif des cours via tableur](#page-timetables.mass-import) ### 8.15 Points de sauvegarde *Source: `help/fr/admin/snapshots.md` · id: admin.snapshots · Audience: admin · Plan: premium · Feature: snapshots · Updated: 2026-05-15* > **Premium** > _Premium_ Un **point de sauvegarde** ou *snapshot* est un instantané du compte Omniscol. La fonction est disponible seulement si l'équipe Omniscol a activé un quota de points de sauvegarde pour le compte, selon le contrat de l'établissement. Ce quota est défini avec Omniscol selon le besoin de l'école (sauvegardes manuelles, automatisations, rétention attendue) et peut être ajusté sur demande. Il n'est pas réglé directement par l'administrateur depuis ce panneau. #### Ouvrir les points de sauvegarde Dans le module **Administration**, ouvrez **Import/Export** puis cliquez sur **Points de sauvegarde**. Le panneau liste les points de sauvegarde existants, le quota utilisé et, quand il est disponible, un **digest** du contenu : volumes d'utilisateurs, années scolaires, panneaux, évènements, emplois du temps et principaux compteurs métier. #### Actions disponibles Selon vos droits, vous pouvez : - créer un point de sauvegarde avec **Créer** ; - exporter un point de sauvegarde en JSON avec **Télécharger** ; - supprimer un point de sauvegarde avec **Supprimer** ; - verrouiller un point de sauvegarde pour éviter sa suppression ; - définir ou modifier une date d'expiration ; - inspecter le digest pour identifier rapidement ce que contient le point de sauvegarde ; - restaurer un point de sauvegarde (tout ou partie) avec **Restaurer**. Les points de sauvegarde sont conservés sur un stockage répliqué. Chaque point de sauvegarde peut être exporté en JSON pour une analyse ou une comparaison menées avec vos propres outils. #### Restauration La restauration demande une confirmation forte. Le panneau propose trois modes, selon les familles de données sélectionnées : - **Écraser les données** : les données sélectionnées sont remplacées par l'état du point de sauvegarde. C'est le mode de retour arrière ; - **Restaurer uniquement les données supprimées** : Omniscol réinjecte seulement les éléments absents quand le mode est supporté, par exemple après une suppression involontaire d'utilisateurs ; - **Restaurer sans écraser** : Omniscol restaure sous forme de copie quand c'est supporté, afin de comparer ou de réintégrer manuellement sans remplacer l'état courant, par exemple lorsqu'un emploi du temps a divergé et qu'on ne veut pas écraser ce qui a été fait depuis le moment où le point de sauvegarde a été créé. Des doublons peuvent donc apparaître. La restauration peut porter sur tout le compte ou sur des sous-ensembles comme les emplois du temps, évènements, panneaux, absences, utilisateurs, matières, années scolaires ou configuration. #### Automatisations Le bouton **Automatisation** permet de configurer des créations automatiques de points de sauvegarde. Le rythme dépend de la configuration retenue pour le compte : quotidien, hebdomadaire, en pleine nuit — vous décidez de la politique adaptée à votre établissement. Les dates d'expiration et le verrouillage pilotent la rétention : - un point de sauvegarde expiré peut être supprimé automatiquement, sauf s'il est verrouillé ; - un point de sauvegarde verrouillé est protégé contre la suppression manuelle et contre le nettoyage automatique ; - lorsqu'une sauvegarde automatique doit entrer dans un quota déjà atteint, Omniscol supprime le plus ancien point de sauvegarde automatique non verrouillé pour faire de la place. Si aucun point de sauvegarde ne peut être supprimé (tous verrouillés), la nouvelle sauvegarde échoue. Ce fonctionnement donne un historique de sauvegardes proche d'un Time Machine en environnement Apple : utile pour revenir en arrière, récupérer des données effacées par erreur ou restaurer une copie pour comparaison. Il reste borné par le quota défini avec Omniscol, ajustable sur demande. #### À cadrer avant activation Avant d'activer ou d'étendre l'option, vérifiez avec Omniscol : - le quota de points de sauvegarde et la marge souhaitée pour les sauvegardes manuelles ; - le rythme des sauvegardes automatiques que vous souhaiterez configurer ; - la durée de conservation attendue ; - les familles de données concernées par les restaurations partielles ; - le format d'export attendu pour les contrôles externes. Chaque point de sauvegarde peut être exporté en JSON. #### Procédure — Créer un point de sauvegarde avant une opération risquée 1. Ouvrez **Import/Export**. 2. Cliquez sur **Points de sauvegarde**. 3. Cliquez sur **Créer**. 4. Vérifiez que le nouveau point de sauvegarde apparaît dans la liste. 5. Lancez ensuite l'import, la réorganisation ou le changement de configuration prévu. En cas de problème grave, vous pourrez revenir en arrière dans le temps. #### Voir aussi - [Import et export](#page-admin.import-export) - [Journaux d'activité (logs)](#page-admin.logs) ### 8.16 Journaux d'activité (logs) *Source: `help/fr/admin/logs.md` · id: admin.logs · Audience: admin · Feature: logs · Updated: 2026-05-15* > **Premium** Dans le module **Administration**, l'écran **Journal d'activité** affiche les entrées de journalisation disponibles pour le compte lorsque l'option de logs est active. La profondeur de conservation est définie avec l'équipe Omniscol selon le contrat de l'établissement et peut être ajustée sur demande. Le panneau sert à consulter et exporter les traces présentes dans le flux de logs. #### Ce qui est journalisé Le journal retrace les actions qui modifient le compte, pas chaque consultation. - **Chaque modification** des données (fiche utilisateur, emploi du temps, paramètres…) — création, mise à jour ou suppression — génère une entrée avec son auteur, l'action et l'horodatage. - **Les connexions** — chaque tentative de connexion enregistre l'identifiant utilisé. - **Les actions sur les mots de passe** — définition, changement, suppression ou réinitialisation sont tracées : l'action et son auteur, jamais le mot de passe lui-même. - **Les exports** — l'export JSON du compte est journalisé. Les simples consultations (ouvrir un écran, lister des données) ne sont pas enregistrées, en dehors de quelques opérations sensibles. Le journal répond donc à « qui a fait quoi et quand », pas à « qui a consulté quoi ». #### Ce que l'écran affiche Chaque ligne peut contenir : - un horodatage ; - l'action effectuée ; - la route résolue quand elle est connue ; - les paramètres et extras enregistrés ; - la méthode HTTP ; - l'URL web associée ; - l'utilisateur concerné. Le contenu exact dépend de ce qui a été journalisé par Omniscol : l'écran reflète les traces présentes dans le flux de logs du compte. #### Recherche et export Quand la liste contient assez d'entrées, une recherche locale permet de filtrer le tableau. Le bouton **Horodatage** ouvre une vue exportable des lignes. #### Portée des journaux - Chaque ligne donne l'action effectuée, la route, les paramètres et l'utilisateur concerné ; le détail couvre ce qu'Omniscol a journalisé. - La rétention dépend de l'option activée sur le compte et du nettoyage périodique des logs. - Les journaux se consultent et s'exportent depuis cet écran ; Omniscol ne les transmet pas automatiquement à un outil de supervision externe. Pour reconstituer finement l'état d'un compte à une date donnée, combinez les journaux avec les snapshots. #### À vérifier dans un contrat La profondeur de conservation, les obligations d'audit et les exports attendus relèvent du contrat et des documents sécurité fournis sur demande. Cette page ne remplace pas ces documents. #### Voir aussi - [Points de sauvegarde](#page-admin.snapshots) - [Utilisateurs et rôles](#page-admin.users-and-roles) --- ## 9. Intégrations ### 9.1 Vue d'ensemble des intégrations *Source: `help/fr/integrations/overview.md` · id: integrations.overview · Audience: admin · Updated: 2026-06-13* Omniscol s'intègre à votre système d'information par plusieurs voies, selon le besoin. Pour des exemples d'outils tiers et de partenaires régulièrement raccordés à Omniscol, voir aussi [Partenaires](#page-integrations.partners). #### Vue synthétique | Mécanisme | Pour faire quoi | Sens du flux | | --- | --- | --- | | [iCal](#page-integrations.ical) | Permettre aux professeurs / élèves de voir leur EDT dans leur agenda personnel | Omniscol → agenda | | [Liens de partage](#page-glossary.share-link) | Diffuser un EDT en lecture seule ou ouvrir une saisie ciblée selon le contexte | Omniscol → web public | | [Iframe](#page-portal.share-links) | Intégrer un EDT dans une page sur le **même domaine** qu'Omniscol ; bloqué sur un site externe (sécurité) | Omniscol → même domaine | | [API Omniscol](#page-integrations.api-tokens) | Intégrations système à système selon droits et options du compte | Selon configuration | | [MCP](#page-integrations.mcp) | Connecter un agent IA compatible MCP à Omniscol | Agent IA ↔ Omniscol | | [OAuth2 / OIDC (serveur)](#page-integrations.oauth-server) | Connecter un service tiers identifié par client enregistré + consentement + jeton scopé (base de MCP et OneRoster) | Service ↔ Omniscol | | [OIDC / SSO (connexion)](#page-integrations.oauth2) | Authentification des utilisateurs via fournisseur d'identité (Google Workspace, Microsoft Entra ID, OIDC générique) | Selon configuration | | [Synchronisation avec des systèmes externes](#page-integrations.extsync) | Framework de connecteurs ERP : Aurion, Auriga, nouveaux connecteurs sur projet | Bidirectionnel | | [Panneaux d'affichage](#page-panels.lobby-panel) | Afficher l'EDT sur des écrans publics | Omniscol → écrans | #### Choisir l'intégration adaptée - **Diffuser un EDT à un professeur / élève** — abonnement [iCal](#page-integrations.ical). - **Donner accès en lecture à un parent / un audit** — [lien de partage](#page-glossary.share-link). - **Synchroniser les apprenants depuis votre ERP / SI** — voir [Synchronisation avec des systèmes externes](#page-integrations.extsync) qui liste les connecteurs disponibles. Si votre ERP n'y figure pas, l'ajout d'un connecteur se cadre avec le support Omniscol. - **Authentification unique** — [OIDC / SSO](#page-integrations.oauth2). - **Assistant IA externe** sur le compte, si l'option est activée — [MCP](#page-integrations.mcp) pour les clients compatibles. - **Affichage public dans les locaux** — [panneaux d'affichage](#page-panels.lobby-panel). #### Bonnes pratiques de sécurité - Utiliser **OIDC / SSO**, quand l'option est activée, pour authentifier des utilisateurs réels. - Réserver les **jetons API** aux intégrations système à système, avec scope minimal et rotation périodique. - Mettre des **dates d'expiration** courtes sur les liens de partage. - Ne pas mettre de jeton API dans un dépôt Git public. #### Voir aussi - [iCal](#page-integrations.ical) - [API Omniscol](#page-integrations.api-tokens) - [MCP](#page-integrations.mcp) - [OAuth2 / OIDC (serveur)](#page-integrations.oauth-server) - [OIDC / SSO (connexion)](#page-integrations.oauth2) - [Synchronisation avec des systèmes externes](#page-integrations.extsync) - [Partenaires](#page-integrations.partners) ### 9.2 Partenaires et outils fréquemment raccordés *Source: `help/fr/integrations/partners.md` · id: integrations.partners · Audience: admin · Updated: 2026-05-19* Omniscol a vocation à **s'interfacer** avec le système d'information de votre établissement, pas à remplacer tous les autres outils. Selon les cas, l'interfaçage passe par l'[API Omniscol](#page-integrations.api-tokens), des imports / exports, [iCal](#page-integrations.ical), [OIDC / SSO](#page-integrations.oauth2) ou la [synchronisation avec des systèmes externes](#page-integrations.extsync). En pratique, Omniscol est souvent raccordé à des ENT, des ERP pédagogiques, des outils de scolarité, des LMS, des solutions d'émargement ou des applications plus spécialisées. L'[API REST documentée](#page-integrations.api-tokens) permet aussi des intégrations **sur mesure**, y compris avec des outils maison quand l'établissement en a besoin. #### Connecteurs internes déjà pris en charge Aujourd'hui, les connecteurs bidirectionnels explicitement documentés côté Omniscol sont les suivants : - [Aurion](#page-integrations.aurion) — ERP / outil de scolarité très présent dans l'enseignement supérieur. - [Auriga](#page-integrations.auriga) — outil de scolarité et de gestion pédagogique, lui aussi utilisé dans le supérieur. Pour ces cas, Omniscol dispose déjà d'une base d'intégration documentée. Omniscol cherche les entités (professeurs, matières, classes, salles...) dans le logiciel distant et les rapatrie avec leur identifiant exogène. Cela évite la double-saisie. À l'autre bout de la chaîne, lorsque vous planifiez, les séances de cours publiées sont injectées dynamiquement, en temps réel, dans le logiciel distant, avec ses références aux objets de sa base de données. Cela évite à la fois la double saisie et les duplications de données à l'exportation. En bref, une expérience fluide, intégrée. Si votre établissement utilise un autre ERP, un autre SIS ou un outil maison, l'interfaçage peut se faire via l'API ou par un connecteur cadré sur projet (ETL). Si vous avez un ERP standard du marché, contactez l'équipe Omniscol pour savoir si celui-ci peut être pris en charge. #### Partenaires et outils raccordés Omniscol possède un certain nombre de partenaires qui ont implémenté un connecteur pouvant rechercher les séances de cours planifiées dans Omniscol, et les relier à ses propres entités pour éviter les divergences. Ces logiciels proposent aussi des outils d'emplois du temps internes, mais beaucoup moins puissants : Omniscol se positionne en partenaire complémentaire pour offrir une expérience complète de planification où les données remontent pour nourrir l'emploi du temps du logiciel SIS (vie scolaire) sans double-saisie. Certains partenaires n'ont pas encore de connexion de données, parfois parce que cela ne fait pas sens, mais nous partageons des valeurs communes fortes et une vraie collaboration est en place. ##### ENT, vie scolaire et portails de services - [CGI Learning Hub](https://www.cgi.com/france/fr-fr/solution/cgi-learning-hub/portail-ent) — environnement numérique de travail et portail de services éducatifs, avec ressources, communication, collaboration et suivi des parcours. CGI propose un logiciel de vie scolaire 100% web, open source, concurrent de Pronote. ##### Scolarité, admissions et gestion d'établissement - [École Futée](https://ecole-futee.com/logiciel-de-gestion-scolaire/) — gestion scolaire tout-en-un avec scolarité, communication, facturation et suivi des élèves ; souvent rencontré dans le privé hors contrat, en secondaire comme dans certains contextes du supérieur. École Futée et Omniscol sont partenaires ; le raccordement des données se cadre sur projet avec l'équipe Omniscol. - [MyScol](https://myscol.com/logiciel-de-gestion-enseignement-superieur/) — solution de gestion scolaire couvrant admissions, inscriptions, vie scolaire, communication et finance, utilisée de l'école au supérieur. - [Season](https://season-ed.com/) — expert des processus et du SI de l'enseignement supérieur, notamment autour du CRM, des admissions, de la scolarité, des contractualisations et des projets de SIS, construit dans l'environnement SalesForce. ##### Gestion pédagogique, coordination et qualité - [EdSquare / Educentric](https://www.educentric.fr/) — plateforme orientée gestion pédagogique et administrative, utilisée pour centraliser le suivi des étudiants, intervenants, tuteurs, documents, plannings et exigences Qualiopi. Une collaboration est en place avec EdSquare ; le raccordement des données s'étudie au cas par cas avec l'équipe Omniscol. - [Lab4Ed / InGenius](https://www.lab4ed.com/ingenius) — outil et accompagnement pour les équipes pédagogiques du supérieur : conception des formations, orchestration, déploiement, référentiels, gouvernance multi-campus et préparation à la planification. ##### ERP - [Neil](https://neil.app/) — ERP conçu spécifiquement pour l'**enseignement supérieur privé**, réunissant sur une même plateforme admissions, pédagogie, comptabilité et ressources humaines, aussi bien pour l'alternance que pour la formation initiale et continue. ##### LMS, digital learning et plateformes pédagogiques - [Edunao](https://www.edunao.com/) — intégrateur et éditeur de solutions LMS / digital learning, notamment autour de Moodle, de l'hébergement, de l'intégration au SI et de l'accompagnement des plateformes de formation. ##### Assiduité, signatures et émargement - [Edusign](https://edusign.com/fr/) — solution d'assiduité, d'émargement, de signatures et de documents, fréquemment utilisée dans la formation et l'enseignement supérieur. #### Ce que cela veut dire concrètement Si vous avez déjà un outil métier pour : - la scolarité ; - les admissions ; - la vie scolaire ; - l'ENT ; - le LMS ; - l'assiduité ou l'émargement ; - la signature de documents ; Omniscol n'a pas vocation à le remplacer. En revanche, Omniscol peut venir s'y **brancher** pour apporter ce qui relève de la **planification sous contraintes**, de la génération d'emplois du temps, de la publication, des diagnostics et de la diffusion multi-supports. #### Quel mode d'intégration choisir - **Outil déjà supporté par connecteur** — voir [Synchronisation avec des systèmes externes](#page-integrations.extsync), [Aurion](#page-integrations.aurion) et [Auriga](#page-integrations.auriga). - **Outil tiers avec API ou SI bien structuré** — l'[API Omniscol](#page-integrations.api-tokens) et les échanges cadrés suffisent souvent. - **SIS, ENT ou LMS conforme à un standard d'annuaire** — l'échange d'annuaire au standard [OneRoster](#page-integrations.oneroster) (1.2 et groupes avancés), en producteur comme en consommateur. - **Portail utilisateur ou ENT** — [OIDC / SSO](#page-integrations.oauth2), iCal, liens de partage, API ou panneau d'affichage selon le cas. - **Besoin spécifique établissement** — intégration sur mesure ou connecteur supplémentaire cadré sur projet. #### Voir aussi - [Vue d'ensemble des intégrations](#page-integrations.overview) - [API Omniscol](#page-integrations.api-tokens) - [OIDC / SSO](#page-integrations.oauth2) - [Synchronisation avec des systèmes externes](#page-integrations.extsync) - [OneRoster](#page-integrations.oneroster) - [Connecteur Aurion](#page-integrations.aurion) - [Connecteur Auriga](#page-integrations.auriga) ### 9.3 iCal — abonnement et lien dynamique *Source: `help/fr/integrations/ical.md` · id: integrations.ical · Plan: standard · Updated: 2026-05-15* Le format **iCal** (`.ics`) est le standard du partage de calendriers entre applications. Omniscol expose chaque EDT (individuel, classe, salle, professeur) sous forme de **lien d'abonnement iCal** que l'utilisateur peut coller dans Google Calendar, Apple Calendar, Outlook, Thunderbird ou toute autre application qui consomme du calendrier standardisé. #### Lien d'abonnement vs export ponctuel Deux usages très différents : - **Lien d'abonnement** (recommandé) — URL HTTPS pointant vers Omniscol. L'application cliente la consulte régulièrement (toutes les heures, tous les jours selon les paramètres du client) et met à jour le calendrier de l'utilisateur en continu. Quand une séance bouge dans Omniscol, l'utilisateur le voit dans son agenda sans rien faire. - **Export ponctuel** — téléchargement d'un fichier `.ics` à un instant T. Pratique pour archiver, partager par mail, ou injecter dans un système qui ne sait pas s'abonner. Mais figé : si l'EDT change, le fichier n'est pas mis à jour. Préférez le lien d'abonnement quand le client final est une application moderne qui sait rafraîchir un calendrier distant (Google Calendar, Apple Calendar, Outlook). #### Récupérer son lien d'abonnement Depuis les écrans où le partage est disponible, le bouton Partage ouvre une modale qui peut proposer : - une ou plusieurs URLs d'abonnement iCal signées, - un bouton « Copier l'URL », - un QR code à flasher, - un téléchargement de fichier `.ics`. L'URL contient un jeton secret : ne la partagez pas — quiconque l'obtient peut voir l'EDT inclus dans le périmètre du lien jusqu'à expiration ou invalidation. #### Où générer un iCal Les principaux points d'entrée sont : - **En haut du module EDT** — le bouton Partage peut générer un iCal de tous les EDT affichés, un iCal combiné qui les mélange dans un seul abonnement, puis les iCal individuels. Ces liens sont bornés par l'année scolaire affichée. - **Sur chaque EDT affiché** — la barre de titre de l'EDT donne accès, au survol, à un partage atomique pour cet EDT. Le lien couvre l'année scolaire concernée. - **Sur la fiche d'un professeur** — dans **Administration**, le bouton Partage de la fiche génère l'iCal personnel du professeur, conçu pour rester valable dans la durée tant que le lien, le compte porteur et l'expiration choisie le permettent. - **En prévisualisation d'un EDT calendrier** — dans **Gestion des EDT**, le bouton Partage de la prévisualisation génère l'iCal de ce qui est affiché, même si cet EDT n'est pas encore activé ou publié. À chaque génération, l'utilisateur peut fixer une date d'invalidité. Cette date est encodée dans le jeton de l'URL : elle ne se modifie pas après coup. Pour changer l'expiration, il faut générer un nouveau lien. Comme les autres liens de partage, l'iCal est aussi lié au compte qui l'a généré : changement de mot de passe, désactivation ou suppression du compte porteur invalident les liens associés. #### Lien public pour une classe ou une salle L'administrateur peut générer un lien d'abonnement pour une **classe** ou une **salle** (par exemple pour partager avec les parents ou avec un service externe). Ces liens sont signés et portent une date d'expiration. Voir aussi [Partager un EDT par lien public](#page-schedules.share-link) qui décrit l'ensemble des options de partage (iCal, page web responsive, JSON via API). #### Configuration côté client ##### Google Calendar 1. Dans Google Calendar, à gauche, à côté de **Autres agendas**, cliquer le **+** > **À partir de l'URL**. 2. Coller l'URL d'abonnement Omniscol. 3. Le calendrier apparaît avec un libellé indicatif et une couleur par défaut — modifiable. Google rafraîchit l'abonnement environ toutes les 8-24 heures. Modifications urgentes : prévoir un délai. ##### Apple Calendar (macOS, iOS) 1. **Fichier > Nouvel abonnement à un calendrier**. 2. Coller l'URL Omniscol. Le lien iCal Omniscol est paramétré pour un rafraichissement automatique toutes les demi-heures. ##### Outlook (Microsoft 365) 1. **Ajouter un calendrier > À partir d'Internet**. 2. Coller l'URL Omniscol. Outlook met à jour à fréquence variable selon les versions ; pour le desktop ancien, prévoir des délais. #### Limitations - Les modifications côté client (déplacer un évènement dans Google Calendar) ne sont pas répercutées dans Omniscol — l'abonnement est en lecture seule. - L'utilisateur doit avoir un compte Omniscol actif pour générer son URL personnelle. - L'expiration du lien est inscrite dans l'URL générée : elle ne se prolonge pas après coup ; générez un nouveau lien si besoin. - Les évènements hors EDT sont inclus seulement si le partage ou le filtre iCal les inclut. #### Procédure — S'abonner à son EDT depuis Google Calendar 1. **L'abonnement iCal** synchronise votre EDT Omniscol avec votre agenda personnel (Google Calendar, Apple Calendar, Outlook). Mise à jour automatique en continu : pas de copier-coller à refaire à chaque changement d'EDT. 2. **Depuis votre écran Omniscol** (élève, professeur ou vue partagée), cliquez sur Partage quand le bouton est disponible. Une modale s'ouvre avec les URLs générées pour votre périmètre. 3. **Copiez l'URL d'abonnement** (bouton Copier). Ne la partagez pas : quiconque l'a peut voir le périmètre inclus dans le lien jusqu'à expiration ou invalidation. 4. **Dans Google Calendar** : panneau gauche, **Autres agendas → + → À partir de l'URL**, coller, valider. L'agenda apparaît avec libellé et couleur (modifiables). **Dans Apple Calendar** : `Fichier → Nouvel abonnement à un calendrier`, coller. **Dans Outlook M365** : `Ajouter un calendrier → À partir d'Internet`, coller. 5. **Important** : abonnement = **lecture seule**. Modifications dans votre agenda personnel non répercutées dans Omniscol. Les modifications côté Omniscol arrivent dans votre agenda à la prochaine synchronisation côté client. #### Voir aussi - [iCal (export agenda)](#page-glossary.ical) - [Partager un EDT par lien public](#page-schedules.share-link) - [Vue d'ensemble des intégrations](#page-integrations.overview) ### 9.4 API Omniscol — jetons d'authentification *Source: `help/fr/integrations/api-tokens.md` · id: integrations.api-tokens · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ L'**API Omniscol** est une API REST documentée en OpenAPI. Elle sert aux intégrations système à système : tableau de bord externe, affichage sur mesure, synchronisation ERP/SI, ou agent IA via MCP. Les jetons API administrables depuis l'interface sont disponibles sur les comptes qui proposent cette intégration. Un jeton dérivé donne accès uniquement aux points d'accès API sélectionnés lors de sa génération ; ne présumez pas qu'il couvre toute l'API. #### Clé et jeton : deux objets distincts Omniscol distingue deux objets qu'il ne faut pas confondre. Une **clé** est un objet persistant, conservé côté Omniscol. Elle réunit : - un **identifiant** court, généré aléatoirement, public : c'est lui que la liste affiche, et il voyage dans chaque jeton pour désigner la clé à vérifier ; - un **libellé** descriptif, modifiable à tout moment ; - une **date d'expiration** facultative, modifiable à tout moment ; - un **secret aléatoire** long, tiré côté serveur, qui sert de clé de signature cryptographique. L'identifiant, le libellé et la date d'expiration sont des informations d'administration : l'identifiant n'est qu'une référence publique, pas un élément secret. Le **secret**, lui, est le seul matériel de signature : généré aléatoirement à la création de la clé, il reste côté serveur, n'est pas modifiable, et **n'est jamais affiché ni renvoyé** — ni à la création, ni dans la liste des clés. Et même s'il fuyait, il ne suffirait pas à forger un jeton : la signature le combine à un **sel propre au compte** et à un **secret serveur** qui, eux non plus, ne quittent jamais Omniscol. Un **jeton** est un **JWT** (JSON Web Token) autonome, signé avec le secret de la clé. C'est lui que vous transmettez au système externe. Son contenu signé porte le compte concerné, la liste des points d'accès autorisés, la clé dont il dérive et sa propre date d'expiration. Autrement dit : **une clé signe, un jeton est signé.** Une même clé peut signer plusieurs jetons — tous vérifiables avec le même secret, donc tous révoqués ensemble si la clé disparaît. Omniscol ne stocke pas le jeton : il le génère, l'affiche une fois, puis le revérifie à chaque appel en reconstituant sa signature à partir du secret de la clé (HMAC SHA-256). Aucune autorisation portée par le jeton ne peut donc être altérée sans ce secret. #### Créer un jeton L'écran Partage est disponible dans Administration → Import / Export sur les comptes Premium. La création se fait en deux temps : on crée d'abord une **clé**, puis on **génère un jeton** à partir de cette clé. 1. **Créer une clé** — renseignez un libellé parlant et, si l'accès est temporaire, une date d'expiration. Son libellé et son expiration restent modifiables après coup ; son secret de signature, non. 2. **Générer un jeton** — sélectionnez la clé, cochez les points d'accès autorisés, choisissez éventuellement une date d'expiration propre au jeton, puis générez le JWT. À la génération, Omniscol affiche le jeton **une seule fois**. Copiez-le immédiatement dans un gestionnaire de secrets : il ne sera plus ré-affiché. L'expiration du jeton est inscrite dans son contenu signé : elle ne se modifie pas a posteriori. Pour changer cette date, générez un nouveau jeton. Il y a donc deux niveaux d'expiration, indépendants l'un de l'autre : - **expiration de la clé** — modifiable depuis la liste des clés ; lorsqu'elle est atteinte, **tous** les jetons dérivés de cette clé sont refusés (l'appel échoue avec un 401) ; - **expiration du jeton** — fixée à la génération, inscrite dans le JWT, et non modifiable ensuite. #### Points d'accès autorisés Un jeton ne donne accès **qu'aux points d'accès cochés à sa génération** : ne présumez jamais qu'il couvre toute l'API. La liste autorisée est transportée dans le jeton et vérifiée à chaque appel ; un appel vers un point d'accès non autorisé est refusé (401). Au-delà des points d'accès individuels, la liste de sélection propose des **raccourcis par module** : - l'entrée d'un module seul autorise **tous** ses points d'accès ; - les variantes par opération — **lecture**, **modification**, **création**, **suppression** — restreignent le module à un seul type d'appel. Cocher « **EDT** [lecture] » accorde ainsi toute la lecture des emplois du temps sans ouvrir la moindre écriture, sans cocher chaque point d'accès un par un. Restez au plus juste : n'accordez que les modules et les opérations strictement nécessaires à l'intégration. #### Utiliser un jeton Deux manières usuelles d'envoyer le jeton à l'API : - **En-tête HTTP** : `Authorization: Bearer ` (recommandé). - **Query string** : `?auth=` (pratique pour le debug, mais apparaît dans les logs HTTP — à éviter en production). Exemple `curl`, à adapter avec un point d'accès réel issu de l'OpenAPI : ```bash curl -H "Authorization: Bearer $TOKEN" \ https://votre-ecole.omniscol.com/api// ``` #### Documentation OpenAPI L'écran Import / Export affiche un lien **OpenAPI 3.1** qui ouvre la spécification disponible pour le compte dans Swagger Editor. Vous y trouverez : - la liste des points d'accès API exposés, - les schémas des données échangées, - les méthodes et paramètres, - les réponses attendues. La spécification est aussi servie directement par votre compte, sans authentification : - `/api/guest/openapi.json` — spécification au format JSON ; - `/api/guest/openapi.yaml` (ou `/api/guest/openapi?yaml=true`) — même contenu au format YAML ; - `/api/guest/school_schema.json` — schéma JSON des données du compte. #### L'aide complète pour votre assistant IA Le portail publie aussi l'intégralité de l'aide d'Omniscol en un seul fichier texte, prêt à servir de base de connaissances à un assistant IA (projet Claude, GPT personnalisé…) : - [omniscol.com/fr/llms-full.txt](https://www.omniscol.com/fr/llms-full.txt) — le guide complet en Markdown, disponible dans chaque langue de l'aide (`/en/llms-full.txt`, `/de/llms-full.txt`…) ; - [omniscol.com/llms.txt](https://www.omniscol.com/llms.txt) — l'index au standard `llms.txt`, que les moteurs IA découvrent automatiquement. #### Révoquer un accès La révocation se fait au niveau de la **clé**, pas du jeton individuel. L'écran liste les **clés** ayant servi à générer des jetons. **Supprimer une clé** efface son secret de signature côté Omniscol : dès lors, aucune signature dérivée de ce secret ne peut plus être vérifiée, et tout appel présentant un jeton issu de cette clé échoue avec un **401**. C'est l'absence du secret qui invalide les jetons, pas une liste de révocation. Pour la DSI, deux conséquences : - **Il n'y a pas de révocation jeton par jeton.** Omniscol ne conserve pas les JWT émis et ne peut pas en désactiver un isolément : un jeton déjà généré reste valable jusqu'à sa propre expiration, ou jusqu'à ce que sa clé soit supprimée ou expirée. - **Modifier l'expiration d'une clé** agit immédiatement sur tous ses jetons : avancer cette date coupe l'accès de l'ensemble des jetons issus de la clé. Bonne pratique : supprimez sans attendre toute clé dont vous soupçonnez la fuite, puis recréez une clé de remplacement avec un libellé parlant. ##### Une clé par cible et par usage Puisque la révocation est par clé, **dédiez une clé à chaque intégration** (un logiciel externe = une clé). Le secret d'une clé ne signe que ses propres jetons : supprimer cette clé n'invalide que les accès de l'intégration concernée, sans toucher aux autres. À l'inverse, une clé unique partagée entre plusieurs systèmes rend toute révocation brutale : supprimer la clé compromise coupe d'un coup tous les systèmes qui s'en servaient. #### Pour quelles intégrations L'API est typiquement utilisée pour : - **systèmes de signage** custom (au-delà des panneaux d'affichage Omniscol natifs ; voir [Personnalisation des panneaux](#page-panels.customization)), - **dashboards externes** consolidant Omniscol et d'autres sources, - **connecteurs ou synchronisations** avec un ERP ou un SI métier, - **agents IA compatibles MCP** consommant Omniscol via le serveur MCP ; voir [MCP — connecter un agent IA externe](#page-integrations.mcp). Pour un accès délégué à un **service tiers identifié** (jeton scopé, consentement de l'utilisateur, révocable en désactivant le client), préférez le serveur OAuth2 d'Omniscol : voir [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server). #### Procédure — Générer un jeton API 1. **Un jeton d'authentification** permet à un système externe (tableau de bord, signage, agent IA via MCP) d'interroger les points d'accès API que vous avez sélectionnés. 2. **Allez dans Administration → Import / Export**, puis ouvrez l'écran de partage avec Partage. Vous y voyez les clés existantes, leurs libellés et leurs dates d'expiration éventuelles. 3. **Créez une clé** si nécessaire. Renseignez un libellé parlant (`Tableau de bord finance`, `Signage hall principal`, `Agent IA Claude desktop`) et une expiration si l'intégration est temporaire. Vous pourrez modifier cette expiration de clé plus tard. 4. **Sélectionnez la clé**, puis cochez les points d'accès API que le jeton doit pouvoir appeler. Gardez la liste aussi courte que possible. Choisissez aussi l'expiration du jeton si l'accès doit être borné. 5. **Générez le jeton**, puis copiez immédiatement le JWT affiché. Il ne sera plus ré-affiché et son expiration ne pourra pas être modifiée. Utilisez-le ensuite en en-tête HTTP `Authorization: Bearer `. 6. **Pour révoquer l'accès**, supprimez la clé correspondante. Les jetons dérivés de cette clé deviennent invalides. #### Voir aussi - [Vue d'ensemble des intégrations](#page-integrations.overview) - [MCP — connecter un agent IA externe](#page-integrations.mcp) - [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server) - [Personnalisation des panneaux](#page-panels.customization) ### 9.5 OAuth2 / OIDC — connecter un service à Omniscol *Source: `help/fr/integrations/oauth-server.md` · id: integrations.oauth-server · Audience: admin · Plan: premium · Updated: 2026-06-29* > **Premium** > _Premium_ Cette page s'adresse à la **direction des systèmes d'information**. Elle décrit Omniscol dans son rôle de **serveur d'autorisation OAuth2 / OpenID Connect** : comment un service tiers s'enregistre comme **client**, comment un utilisateur **consent** à lui donner accès, et comment le service reçoit un **jeton** limité aux **scopes** accordés. #### Ce que fait Omniscol comme serveur OAuth2 Un service extérieur — un agent IA, un connecteur, un tableau de bord — devient un **client** déclaré dans votre compte ; un utilisateur de l'école **approuve** son accès via un écran de consentement ; le service reçoit alors un **jeton d'accès** à durée de vie courte, dont le périmètre est borné aux **scopes** accordés et aux droits de l'utilisateur. Ce mécanisme est distinct du **SSO utilisateur** décrit sur [OIDC / SSO](#page-integrations.oauth2), où Omniscol est au contraire **client** de votre fournisseur d'identité pour connecter vos utilisateurs. Ici, Omniscol est du côté **serveur** : ce sont des services qui se connectent à lui. Deux intégrations Omniscol consomment ce serveur : - **MCP** — l'authentification standard d'un agent IA passe par ce serveur OAuth2 (voir [MCP — connecter un agent IA externe](#page-integrations.mcp)) ; - **OneRoster** — le producteur OneRoster s'authentifie par un jeton OAuth2 de machine à machine émis par ce même serveur (voir [OneRoster](#page-integrations.oneroster)). Tout autre service conforme OAuth2 / OIDC peut s'y connecter de la même manière. #### Découverte et points d'accès du protocole Omniscol publie ses **métadonnées de découverte** aux adresses standard `.well-known`, servies à la racine du domaine de votre compte (par exemple `https://votre-ecole.omniscol.com`). Un client conforme y trouve seul tous les points d'accès, sans configuration manuelle : - `/.well-known/oauth-authorization-server` — métadonnées du serveur d'autorisation (RFC 8414) ; - `/.well-known/openid-configuration` — métadonnées OpenID Connect (contenu identique au précédent) ; - `/.well-known/jwks.json` — clés publiques de vérification (JWKS), qui permettent de vérifier la signature des `id_token` ; - `/.well-known/oauth-protected-resource` — métadonnées de ressource protégée (RFC 9728). Ces métadonnées annoncent les points d'accès du protocole : - `/oauth/authorize` — demande d'autorisation (écran de connexion puis de consentement) ; - `/oauth/token` — échange du code contre un jeton, et rafraîchissement ; - `/oauth/register` — **enregistrement dynamique de clients** (RFC 7591) ; - `/oidc/userinfo` — informations sur l'utilisateur connecté (OIDC) ; - `/oauth/revoke` — révocation d'un jeton (RFC 7009). Ces points d'accès du protocole sont **publics** : ils ne sont pas réservés aux comptes Premium et n'ont pas à être ouverts manuellement. Seul l'**écran de gestion des clients** décrit plus bas relève du Premium. #### Les flux d'autorisation Omniscol prend en charge trois flux OAuth2 : - **Code d'autorisation avec PKCE** — le flux par défaut pour un service agissant **au nom d'un utilisateur**. Le service redirige l'utilisateur vers `/oauth/authorize` ; après connexion et consentement, Omniscol renvoie un **code d'autorisation** (valable 5 minutes) que le service échange sur `/oauth/token`. La méthode PKCE retenue est **S256**, et le seul `response_type` accepté est `code`. - **Rafraîchissement (`refresh_token`)** — pour prolonger un accès délégué sans repasser par le consentement. - **Client credentials** — flux de **machine à machine**, sans utilisateur, utilisé notamment par les consommateurs **OneRoster**. Le client s'authentifie directement et reçoit un jeton d'accès. À l'échange, le serveur émet un **jeton d'accès** (`Bearer`, valable **1 heure**) et, pour les flux utilisateur, un **jeton de rafraîchissement** (valable **30 jours**). Lorsque le scope `openid` est demandé, un **`id_token`** OIDC signé est également émis ; sa signature se vérifie via `/.well-known/jwks.json`. Le flux `client_credentials` n'émet qu'un jeton d'accès, sans rafraîchissement ni `id_token`. Le jeton d'accès se présente ensuite en en-tête HTTP `Authorization: Bearer `. À chaque appel, Omniscol vérifie sa signature, contrôle que le client est toujours **actif**, que l'utilisateur existe toujours et possède le rôle requis, et que les **scopes** du jeton couvrent bien le point d'accès appelé — faute de quoi l'appel est refusé. #### Les scopes et le consentement Les scopes que vous gérez sur un client sont : - **`read:basic`** — lecture des emplois du temps, tableaux de bord et consultations (modules Accueil, EDT, Tableau de bord, Gestion des EDT) ; - **`read:user`** — lecture de la liste des utilisateurs ; - **`write:data`** — écriture sur ces mêmes modules de consultation ; - **`admin`** — accès d'administration (modules Administration, Gestion des absences, Gestion des EDT). Le serveur connaît aussi les scopes OIDC (`openid`, `email`, `profile`) et les scopes **OneRoster** en lecture seule (préfixe `imsglobal.org`). Ces derniers sont **privilégiés** : un client ne peut **pas** se les auto-attribuer par l'enregistrement dynamique ; ils doivent être provisionnés par un administrateur sur la fiche du client. Le scope effectivement accordé est l'**intersection** de ce que le client demande et de ce qui lui est enregistré : un client n'obtient jamais plus que ce qui figure sur sa fiche. Lors du flux utilisateur, l'**écran de consentement** (`/oauth/consent`) affiche le **nom** et le **logo** du service demandeur ainsi que la **liste lisible** des scopes demandés, avec les boutons **Accepter** et **Refuser**. Approuver émet le code d'autorisation et renvoie l'utilisateur vers le service ; refuser le renvoie avec une erreur `access_denied`. #### L'enregistrement dynamique de clients Le point d'accès `/oauth/register` met en œuvre l'**enregistrement dynamique** (Dynamic Client Registration, RFC 7591) : un service conforme peut **se déclarer seul** comme client, sans intervention manuelle préalable. C'est ce qui permet à un agent MCP de se configurer à partir de la seule URL du serveur. L'enregistrement dynamique **ne peut pas** s'attribuer de scope privilégié (les scopes OneRoster) : ceux-ci sont silencieusement écartés, et si aucun scope valide ne subsiste, `read:basic` est accordé par défaut. Les scopes privilégiés restent réservés à un provisionnement par un administrateur. #### L'écran de gestion des clients OAuth2 Sur les comptes **Premium**, vous administrez les clients depuis **Administration → Import/Export**, section **OAuth2**, avec le bouton OAuth2. L'accès demande d'abord le **mot de passe administrateur** — une confirmation supplémentaire avant d'ouvrir l'écran. L'écran liste les clients enregistrés et, pour chacun, affiche son **état** (actif / inactif), son **nom**, ses **scopes**, ses **contacts** et ses **URIs** (site, logo, URIs de redirection). Vous pouvez : - **Enregistrer un client** — renseignez le nom, un `software_id` facultatif, les scopes, les contacts, le site, le logo et les URIs de redirection. À la création, Omniscol affiche **une seule fois** le `client_id` et le `client_secret`. - **Modifier** un client — seuls des champs sûrs sont modifiables : nom, scopes, contacts, site et logo. Les URIs de redirection, le `software_id` et le secret ne se modifient pas ici. - **Activer ou désactiver** un client — un client désactivé voit ses jetons refusés dès l'appel suivant. - **Supprimer** un client — la suppression est **définitive**. ##### Le secret du client Le `client_secret` est affiché **une seule fois**, à l'enregistrement. Omniscol ne conserve à ses côtés qu'une **empreinte** du secret, jamais le secret en clair : il **ne peut pas** être ré-affiché ni récupéré ensuite. Copiez-le immédiatement dans un gestionnaire de secrets. Le `client_id`, lui, est **déterministe** : il dérive du nom du compte, du nom du client et d'une empreinte de ses métadonnées techniques. Deux enregistrements strictement identiques retombent ainsi sur le même identifiant. ##### Renouveler le secret (rotation) La **rotation** du secret existe : elle émet un nouveau secret, n'en conserve que la nouvelle empreinte, et ne renvoie ce nouveau secret **qu'une fois**. Elle s'effectue via le point d'accès de gestion de l'enregistrement dynamique (`/oauth/register//rotation`) et suppose de présenter le **jeton d'enregistrement** remis au client lors de son enregistrement dynamique. Elle n'est donc **pas** déclenchée depuis l'écran de gestion ci-dessus, qui ne manipule pas ce jeton. #### OAuth2 ou clé d'API : lequel choisir Omniscol propose deux mécanismes d'accès machine, aux modèles de confiance différents : - **OAuth2** (cette page) — un **tiers enregistré** obtient, après **consentement** d'un utilisateur, un jeton à durée de vie **courte** (1 h), borné aux scopes accordés, **rafraîchissable** et **révocable** (en désactivant le client). Le flux `client_credentials` couvre en outre la machine à machine sans utilisateur. C'est le mode adapté à un service tiers identifié, à MCP et à OneRoster. - **Clé d'API** (voir [API Omniscol](#page-integrations.api-tokens)) — un **jeton autonome** signé par le serveur, qui embarque une **liste de points d'accès** autorisés et que vous remettez vous-même au système externe : pas de tiers enregistré, pas d'écran de consentement, pas de rafraîchissement. C'est une délégation, par l'administrateur, de ses propres droits à un système qu'il maîtrise. En résumé : la **clé d'API** convient quand vous remettez vous-même un accès à un système que vous contrôlez ; **OAuth2** convient quand un service tiers identifié doit obtenir un accès délégué, scopé et révocable, ou quand le protocole l'impose (MCP, OneRoster). #### Procédure — Enregistrer un client OAuth2 1. **Ouvrez l'écran OAuth2.** Dans **Administration → Import/Export**, section OAuth2, cliquez sur OAuth2, puis saisissez le mot de passe administrateur. 2. **Enregistrez le client.** Renseignez son nom, ses scopes (`read:basic`, `read:user`, `write:data`, `admin`), ses URIs de redirection et, si utile, contacts, site et logo. Les scopes OneRoster ne s'attribuent pas ici par l'enregistrement dynamique ; ils relèvent d'un provisionnement administrateur. 3. **Copiez le `client_id` et le `client_secret`** affichés. Le secret n'apparaît **qu'une seule fois** : conservez-le dans un gestionnaire de secrets. 4. **Côté service**, configurez le client avec ces identifiants et l'URL du serveur ; un client conforme découvre seul les points d'accès via `/.well-known/`. 5. **Pour couper un accès**, revenez sur l'écran et **désactivez** ou **supprimez** le client. #### Voir aussi - [MCP — connecter un agent IA externe](#page-integrations.mcp) - [API Omniscol](#page-integrations.api-tokens) - [OneRoster](#page-integrations.oneroster) - [OIDC / SSO](#page-integrations.oauth2) - [Vue d'ensemble des intégrations](#page-integrations.overview) ### 9.6 Personnalisation d'API : surcharges de points d'accès et hooks *Source: `help/fr/integrations/api-customization.md` · id: integrations.api-customization · Audience: admin · Plan: premium · Updated: 2026-06-27* > **Premium** > _Premium_ La **Personnalisation d'API** est un écran technique destiné au **service informatique**. Il permet d'adapter le comportement de l'API d'Omniscol pour votre compte selon **trois leviers** : - une **configuration générale** (en-têtes HTTP communs) ; - la **surcharge d'un point d'accès** — rediriger l'application web vers une autre URL, ou désactiver un point d'accès ; - les **hooks** — des appels sortants (webhooks) qu'Omniscol émet vers votre système quand une opération a lieu. #### Où le trouver Module **Administration**, écran **Import/Export**, section **Personnalisation d'API**, bouton **API**. L'écran est **réservé aux comptes Premium** et protégé par une **authentification renforcée** : Omniscol redemande le mot de passe de l'administrateur avant d'ouvrir la fenêtre. Comme toute action sur cet écran touche au contrat technique de votre intégration, sa mise en place se fait en lien avec Omniscol. #### Configuration générale Vous y définissez des **en-têtes HTTP** (format `clé1:valeur1;clé2:valeur2`) appliqués à **tous les hooks**. C'est l'endroit naturel pour porter un **jeton d'authentification** vers votre propre serveur (par exemple un `Authorization: Bearer …` que votre serveur attend). Pour une **surcharge**, l'authentification se porte au contraire dans les en-têtes propres au point d'accès (voir ci-dessous). #### Surcharge d'un point d'accès Une **surcharge** redéfinit un point d'accès de l'API d'Omniscol pour que l'**application web** appelle **une autre URL** à sa place. Trois usages, du plus puissant au plus simple. ##### Servir une donnée en direct depuis votre système d'information C'est l'usage le plus puissant. Vous redirigez un point d'accès **en lecture** vers une **URL externe** — typiquement un **ETL** qui interface le **système d'information interne** de votre établissement. L'application web va alors chercher la donnée **en direct** dans ce système, au lieu de la copie locale détenue par Omniscol. Concrètement : quand l'URL de redirection est une **adresse externe absolue**, l'application web l'appelle directement, sans repasser par les serveurs d'Omniscol, et **consomme la réponse telle quelle** — exactement comme si elle venait d'Omniscol. La seule contrainte est que votre système réponde au **format attendu par Omniscol** pour ce point d'accès (même structure JSON) : il n'y a aucun transcodage intermédiaire. Pour ce point d'accès, la copie locale d'Omniscol n'est plus interrogée ; la donnée affichée est celle, vivante, de votre système. Exemple : le **catalogue des matières** de l'établissement servi à la volée depuis votre système d'information, de sorte que toute mise à jour côté école soit visible immédiatement dans Omniscol, sans réimport. L'authentification vers votre système se porte ici dans les **en-têtes propres au point d'accès** (par exemple un `Authorization: Bearer …`), saisis sur la ligne de la surcharge. La **méthode** HTTP peut elle aussi être imposée par point d'accès. Rebrancher un point d'accès de l'application elle-même sur une source externe vivante est une possibilité aussi puissante qu'exigeante : à manier avec votre service informatique, et en lien avec Omniscol. ##### Intercaler votre propre serveur ou un proxy Vous pouvez aussi faire passer les appels par **votre propre serveur** ou un **proxy** — par exemple pour autoriser le partage de ressources entre origines (CORS), ou pour intercaler une logique maison entre l'application web et Omniscol. ##### Désactiver un point d'accès Vous **désactivez** un point d'accès en ne lui donnant **aucune URL de redirection** (méthode `null`). Mesurez l'effet sur l'interface. Omniscol est une **application web monopage** (SPA) dont les éléments d'interface sont pilotés par les **points d'accès disponibles** : boutons, onglets et menus ne s'affichent que si le point d'accès dont ils dépendent existe. Désactiver un point d'accès **fait donc disparaître dynamiquement**, au prochain affichage, les éléments d'interface qui en dépendent — et si vous désactivez tous les points d'accès d'un module, c'est le **module entier** qui disparaît de la navigation. Ces éléments sont retirés, pas seulement masqués, et le tout se fait **sans aucune intervention sur le code** : il suffit de modifier la configuration et de recharger l'application. Le tableau liste, par point d'accès : sa **clé** (le code interne de l'opération), son **URL d'origine**, la **méthode** HTTP, la **nouvelle URL** de redirection et des **en-têtes** spécifiques. Un champ de recherche permet de retrouver le point d'accès à surcharger. #### Hooks (appels sortants) Un **hook** demande à Omniscol d'**envoyer une requête HTTP à votre URL** **après** qu'une opération a réussi. C'est le mécanisme pour **tenir un système externe au courant en temps réel** — un panneau d'affichage, un espace numérique de travail, un système de ressources humaines, une synchronisation maison… Un hook se branche de deux façons : - sur un **point d'accès précis** (la clé de l'opération) ; - sur un **événement groupé**, qui couvre d'un coup une famille d'opérations. Trois événements groupés existent : - **modification d'emploi du temps** (création, déplacement ou suppression de séances, activation d'un emploi du temps, et absences de professeur ou de classe dès qu'une date est touchée) ; - **modification d'un professeur** (ajout, mise à jour ou suppression) ; - **modification d'une matière** (matières personnalisées). Pour chaque hook, vous renseignez l'**URL de rappel**, la **méthode** HTTP, la case **« avec données »** (faut-il joindre le corps de la requête d'origine ?) et des **en-têtes** propres. ##### Ce que votre serveur reçoit L'appel est envoyé en `application/json` et porte, en plus de vos en-têtes : - le **corps de la requête d'origine** si l'option « avec données » est activée ; - un bloc de **métadonnées** Omniscol : l'URL appelée, le code du point d'accès, la méthode, les paramètres, le jeton d'authentification de l'utilisateur et l'identifiant de l'établissement ; - des en-têtes de traçabilité : `X-OS-original-query`, `X-OS-original-endpoint`, `X-OS-auth` et `X-School`. Pour l'événement **modification d'emploi du temps**, lorsque l'option « avec données » est active, l'appel inclut en plus un **différentiel des séances** (séances ajoutées, modifiées, supprimées) — pratique pour ne propager que ce qui a changé. ##### Comportement Les hooks partent **en arrière-plan**, **après** que l'opération de l'utilisateur a abouti : ils ne ralentissent pas l'interface et **ne la bloquent pas** en cas d'échec de votre serveur. Un appel sortant qui n'aboutit pas est **journalisé**, sans interrompre le travail dans Omniscol. Chaque appel a un délai d'expiration court (quelques secondes) : votre serveur doit **accuser réception vite** et traiter le reste de son côté. #### Bon à savoir - L'API d'Omniscol expose un **sous-ensemble** d'opérations ; une surcharge ou un hook ne s'applique qu'aux points d'accès réellement exposés. Voir [API Omniscol](#page-integrations.api-tokens) pour la liste et l'authentification. - Pour une **intégration avec un progiciel** (ERP, SIRH, espace numérique de travail), la synchronisation dédiée est souvent plus adaptée — voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). En interne, le même système de hook est utilisé. - Pour qu'un **agent IA** consulte vos données sans développement, voir [MCP — connecter un agent IA externe](#page-integrations.mcp). #### Voir aussi - [API Omniscol](#page-integrations.api-tokens) - [MCP — connecter un agent IA externe](#page-integrations.mcp) - [Synchronisation avec des systèmes externes](#page-integrations.extsync) ### 9.7 Modèle de données complet : entités JSON, relations et ontologie *Source: `help/fr/integrations/data-model-full.md` · id: integrations.data-model-full · Audience: admin · Status: stable · Updated: 2026-06-18* Cette page décrit le **modèle de données complet** d'un compte Omniscol : les entités, leurs champs principaux et leurs relations. Elle prolonge la page conceptuelle [Organisation des données](#page-core-concepts.data-model), qui explique le *pourquoi* (référentiel école ↔ EDT, copies locales) ; ici, l'objectif est le *quoi* — une cartographie structurelle exploitable, notamment pour **mettre en relation le modèle avec un référentiel externe** (progiciel de gestion, annuaire, système d'information). > **Page technique.** Cette référence s'adresse à l'intégration et à > l'appariement avec un système externe. Elle n'est **pas nécessaire à > l'usage courant** d'Omniscol : pour comprendre l'organisation des données > côté métier, voir [Organisation des données](#page-core-concepts.data-model). Toutes les données d’un établissement sont organisées sous forme d’arbre. Les entités décrites ci-dessous (utilisateurs, années scolaires, emplois du temps, absences, événements, etc.) correspondent aux différentes branches de cette structure. La référence normative est le **schéma JSON** du compte. Il se consulte sous deux formes : - la **source brute** (le schéma JSON tel quel), servie par le compte à l'adresse `https://api.omniscol.com/api/guest/school_schema.json` ; - la **visionneuse arborescente** lisible sur [omniscol.com/fr/datamodel](https://www.omniscol.com/fr/datamodel) (et la référence d'API correspondante sur [omniscol.com/fr/developers](https://www.omniscol.com/fr/developers)). Ce schéma décrit exactement le stockage physique en base, sous forme de document JSON. Cette page en donne une lecture organisée et stable dans le temps. #### Le document école : la racine Le document racine regroupe le référentiel durable de l'établissement et toutes ses planifications. Ses sous-arbres de premier niveau : | Clé racine | Entité | Rôle | | --- | --- | --- | | `config` | `SchoolConfig` | Paramètres du compte (pays, options, fuseau, synchronisation externe) | | `subjects_custom` | dictionnaire de `SubjectFull` | Matières personnalisées de l'école | | `families_custom` | dictionnaire de `Family` | Familles de matières personnalisées | | `users` | dictionnaire de `User` | Annuaire des utilisateurs (tous rôles) | | `school_years` | tableau de `SchoolYear` | Années scolaires et vacances | | `timetables` | dictionnaire de `Timetable` | Emplois du temps (EDT) | | `absences` | regroupement d'`Absence*` | Absences (professeurs, classes, encadrants, élèves) | | `staffing` | `Staffing` | Module de membres du personnel et de surveillance | | `panels` | dictionnaire de `Panel` | Panneaux d'affichage | | `events` | dictionnaire d'`Event` | Évènements de type agenda | | `api`, `snapshots`, `jobs`, `translations`, `logo` | divers | Réglages techniques et historiques | Les sous-arbres exprimés comme « dictionnaire » sont des objets JSON dont **les clés sont des identifiants stables** (le pivot de toute mise en relation externe — voir la section finale). ```mermaid erDiagram SCHOOL ||--|| CONFIG : "config" SCHOOL ||--o{ SUBJECT : "subjects_custom" SCHOOL ||--o{ FAMILY : "families_custom" SCHOOL ||--o{ USER : "users" SCHOOL ||--o{ SCHOOL_YEAR : "school_years" SCHOOL ||--o{ TIMETABLE : "timetables" SCHOOL ||--o| STAFFING : "staffing" SCHOOL ||--o{ ABSENCE : "absences" SCHOOL ||--o{ PANEL : "panels" SCHOOL ||--o{ EVENT : "events" SCHOOL { string _id "domaine de l'établissement" string name "nom du compte" string country "pays du compte" string current_school_year "année scolaire courante" } ``` #### Champs transversaux : `_extids` et `wishes` Deux champs reviennent sur de nombreuses entités. Pour ne pas les répéter dans chaque schéma, ils sont décrits une seule fois ici. - **`_extids`** (`ExternalIds`) — table des identifiants de l'entité dans les systèmes externes, par exemple `{ "auriga": "12345" }`. Présent sur les entités synchronisables (matières, familles, utilisateurs, sites, salles, ressources, professeurs, classes, groupes…). C'est le **point d'ancrage d'un appariement avec un référentiel externe** (voir la section finale). - **`wishes`** — **contraintes horaires** : disponibilités, créneaux souhaités ou à éviter, volume horaire maximal, salle préférée… Présent sur la plupart des entités planifiables : utilisateurs, professeurs et matières d'un EDT, groupes, classes, salles, plages horaires de site, grilles d'encadrement. Selon le périmètre, ces contraintes sont globales (niveau école) ou propres à un EDT. #### Niveau 1 — Le référentiel école Le référentiel école contient ce qui est vrai pour l'établissement, indépendamment d'un EDT : le catalogue des matières, l'annuaire des utilisateurs, le calendrier des années scolaires. ```mermaid erDiagram FAMILY ||--o{ SUBJECT : "family" SUBJECT ||--o{ SUBJECT : "parent" USER ||--o{ PLACEMENT : "placements par année" PLACEMENT ||--o{ PLACEMENT_GROUP : "groups" SCHOOL_YEAR ||--o{ HOLIDAY : "holidays" SUBJECT { string name string short "libellé court (affichage)" string code string parent "matière parente" string family "famille" string color object _extids "identifiants externes" } FAMILY { string name string code } USER { string login string first_name string middle_name "(si pertinent pour le pays)" string last_name string idnumber "identifiant officiel" array roles "admin teacher staff student" string customrole "Rôle personnalisé" int servicehours "service horaire de référence" bool external "intervenant extérieur" object subjects "matières enseignées" object wishes "disponibilités globales" object _extids } PLACEMENT { string class "classe affectée" string date_start string date_end array groups "groupes affectés" } PLACEMENT_GROUP { string group "groupe groupset ou virtuel" array weeks "plages de semaines" } SCHOOL_YEAR { string name string date_start string date_end array altweeks "semaines alternées" } HOLIDAY { string name string begin string end } ``` ##### Matières — `SubjectFull` / `Subject` / `Family` Une matière personnalisée (`SubjectFull`) étend la matière de base (`Subject` : `name`, `short`, `code`, `type`, `_extids`) avec `parent`, `family` et `color`. Deux origines coexistent au niveau école : les **matières communes** au pays (lecture seule) et les **matières personnalisées** de l'établissement. Détails fonctionnels : [Gérer les matières](#page-admin.subjects). ##### Utilisateurs — `User` (dont les professeurs) Un `User` est l'**entité unique** de l'annuaire : identité (nom, prénom, `idnumber`, contact), authentification (`login`), `roles`, service horaire de référence (`servicehours`), disponibilités globales (champ `wishes`) et `placements`. Un **professeur** n'est pas une entité distincte : c'est un `User` ayant `teacher` parmi ses `roles` (un même utilisateur peut cumuler plusieurs rôles). Le champ `placements` (indexé par année scolaire) rattache un **élève** à une `class` et à des `groups` sur une période. Détails : [Gérer les professeurs](#page-admin.teachers). ##### Années scolaires — `SchoolYear` / `Holiday` Une `SchoolYear` définit `date_start → date_end`, la liste de `holidays` et les `altweeks` (semaines alternées). C'est un **cadre temporel**, pas un conteneur : les EDT s'y déploient sans y être imbriqués. Voir [Année scolaire](#page-core-concepts.school-year). #### Niveau 2 — L'emploi du temps (EDT) Un `Timetable` est une unité de planification cohérente. Il porte sa propre copie locale des professeurs, classes, groupes et matières — voir le principe de copie locale dans [Organisation des données](#page-core-concepts.data-model). ```mermaid erDiagram TIMETABLE ||--|| TIMETABLE_CONFIG : "config" TIMETABLE ||--o{ TIMETABLE_SITE : "sites" TIMETABLE ||--o{ TIMETABLE_TEACHER : "teachers" TIMETABLE ||--o{ TIMETABLE_CLASS : "classes" TIMETABLE ||--o{ LESSON : "lessons (groupes de groupes, multi-groupes)" TIMETABLE_SITE ||--o{ TIMETABLE_CLASSROOM : "classrooms" TIMETABLE_SITE ||--o{ TIMETABLE_RESOURCE : "resources" TIMETABLE_CLASS ||--o{ TIMETABLE_CLASS_SUBJECT : "subjects" TIMETABLE_CLASS ||--o{ TIMETABLE_CLASS_GROUP : "groups" TIMETABLE_CLASS ||--o{ LESSON : "courses" TIMETABLE_CLASS_GROUP ||--o{ TIMETABLE_CLASS_GROUP : "parent (hiérarchie)" TIMETABLE_CLASS_SUBJECT }o--|| SUBJECT : "origine (copie locale partielle)" TIMETABLE_CLASS_SUBJECT }o--o{ TIMETABLE_TEACHER : "teachers par défaut" TIMETABLE_TEACHER }o--o| USER : "copie locale partielle et lien implicite par identifiant" GROUPSET_ITEM }o--o{ TIMETABLE_CLASS_GROUP : "groupes constitutifs" TIMETABLE { bool active "publié ?" array lessons "séances transversales" } TIMETABLE_CONFIG { string type "week cycle calendar" int time_period "durée du créneau" int time_unit "subdivision du créneau" array weekdays "jours ouvrés" string displaymode "hours periods agenda" int cycle "longueur du cycle" array dates "bornes si calendar" object date_windows "fenêtres de génération" } TIMETABLE_SITE { string name object distances "distances inter-sites" object hours "grilles horaires" } TIMETABLE_CLASSROOM { string name int capacity string specialisation "spécialisation libre" int maxclasses "classes simultanées" string building string description "description libre" array tags "étiquettes de caractéristiques ou matériels" } TIMETABLE_RESOURCE { string name int number "quantité disponible" } TIMETABLE_TEACHER { string first_name string last_name string virtual_name "poste à pourvoir" array subjects "matières du poste virtuel" string idnumber int servicehours "surchargeable par EDT" string classroom "salle préférée" } TIMETABLE_CLASS { string name string level string campus array sites "un seul site pris en compte" int studentsnb "nombre d'élèves théoriques (pour calcul de salle adéquate)" string classroom "salle par défaut" bool offgrid "hors grille (calendar)" string videolink "lien de visioconférence par défaut sur toutes les séances" string resourcelink "lien de ressource (LMS) par défaut sur toutes les séances" } TIMETABLE_CLASS_SUBJECT { string code "hérité de Subject" array incompatibilities "incompatibilités" number pweight "poids pédagogique" array teachers "professeurs par défaut" number minutes "volume horaire visé" string specialisation "salle requise" } TIMETABLE_CLASS_GROUP { string name string code bool free "groupe libre" string parent "groupe parent" int studentsnb "nombre d'élèves théoriques (pour calcul de salle adéquate)" } GROUPSET_ITEM { string name string code array groups "identifiants de groupes" } ``` ##### Configuration — `TimetableConfig` Le champ déterminant est `type` : `week` (hebdomadaire répété), `cycle` (cycle multi-jours, voir `cycle`) ou `calendar` (dates réelles, voir `dates`). `time_period` et `time_unit` définissent la trame de la grille ; `weekdays` les jours ouvrés ; `date_windows` les fenêtres de contrainte pour la génération automatique. ##### Sites, salles, ressources Un `TimetableSite` (site) contient ses `classrooms` (`TimetableClassroom` : `capacity`, `specialisation`, `maxclasses`, `building`) et ses `resources` (`TimetableResource` : `number` = quantité disponible, dont le système assure la non-surréservation). `distances` modélise les temps de trajet inter-sites. Voir [Sites, salles et ressources](#page-core-concepts.sites-rooms-resources) et [Spécialisations de salles](#page-core-concepts.classroom-specializations). ##### Professeurs de l'EDT — `TimetableTeacher` Copie partielle enrichie d'un `User` : seuls quelques champs identifiants sont recopiés (`first_name`, `last_name`, `idnumber`), auxquels s'ajoutent des champs propres à la planification (`servicehours` surchargeable, `classroom` préférée, `wishes` par EDT). Un `virtual_name` non vide désigne un **professeur virtuel** (poste à pourvoir, sans `User` réel derrière). ##### Classes, matières de classe, groupes - **`TimetableClass`** : `name`, `level`, `campus`/`sites`, `studentsnb`, et trois sous-arbres clés — `subjects`, `groups`, `courses`. - **`TimetableClassSubject`** : copie locale d'une matière (étend `Subject`) enrichie pour la planification — `minutes` (volume visé), `pweight` (poids pédagogique), `incompatibilities`, `teachers` par défaut, `specialisation` de salle. Affecter une matière **avec un type de cours** crée une entrée distincte par type. Voir [Cours, séances, types de cours](#page-core-concepts.lessons-and-types). - **`TimetableClassGroup`** : un sous-ensemble d'une classe. `free=true` désactive les conflits avec le reste de la classe ([groupe libre](#page-core-concepts.free-groups)) ; `parent` établit la [hiérarchie de groupes](#page-core-concepts.group-hierarchy). ##### Règles entre groupes — partitions, alignements, groupes de groupes Les relations entre groupes sont portées par le sous-arbre `groups` de l'EDT, sous trois formes : | Schéma | Entité | Sens | Page | | --- | --- | --- | --- | | `TimetableGroupTimeset` | partition | Groupes d'une **même classe** mutuellement exclusifs, placés en parallèle (demi-classes, options) | [Divisions de classe](#page-core-concepts.class-divisions) | | `TimetableGroupSpaceset` | alignement | Groupes de **classes différentes** travaillant ensemble sur des créneaux miroir | [Alignements](#page-core-concepts.alignments) | | `TimetableGroupGroupset` | groupe de groupes | Méta-groupe (`GroupsetItem` : `name`, `code`, `groups[]`) réunissant plusieurs groupes | [Groupes de groupes](#page-core-concepts.groups-of-groups) | Voir aussi la vue d'ensemble [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups). #### Niveau 3 — Les séances de cours Une **séance de cours** (`Lesson`) est l'unité d'enseignement réellement placée dans l'emploi du temps : durée, matière, groupe, professeur(s), salle, ressources, position et statut. Elle est générée à partir d'une matière de classe (voir niveau 2) et rattachée **soit à une classe** (`class.courses`), **soit directement à l'emploi du temps** (`timetable.lessons`) — ce dernier cas pour les groupes de groupes et les séances multi-groupes, transversales à plusieurs classes. ```mermaid erDiagram TIMETABLE_CLASS ||--o{ LESSON : "courses (séances d'une classe)" TIMETABLE ||--o{ LESSON : "lessons (groupes de groupes, multi-groupes)" LESSON ||--o{ LESSON : "assoc · concat · weekalt (cours complexes)" LESSON }o--o| TIMETABLE_CLASS_GROUP : "group" LESSON }o--o{ TIMETABLE_TEACHER : "teachers" LESSON }o--o| TIMETABLE_CLASSROOM : "classroom" LESSON }o--o{ TIMETABLE_RESOURCE : "resources" LESSON ||--o{ MEMO : "memos" LESSON ||--|| POSITION : "position" LESSON { int duration "en nombre de périodes" int duration_actual "minutes réelles" int duration_accounted "minutes facturées" string modality "in_person remote hybrid self_study" string subject "identifiant de matière" string group "identifiant de groupe" array teachers "null force aucun professeur" string classroom "null force aucune salle" string status "planned draft canceled done" string _id "identité stable de la séance" string _osrev "révision (verrouillage optimiste)" } MEMO { string comment string pub "visibilité du commentaire" string owner int tstp "horodatage" } POSITION { string day "date, jour de semaine ou n° de jour de cycle" int period "index du créneau dans la grille" string start "heure de début exacte HH:MM (uniquement pour hors grille)" string end "heure de fin exacte HH:MM (uniquement pour hors grille)" bool fixed "séance punaisée (figée à la génération)" } ``` ##### Cœur d'une séance de cours Une séance de cours porte les champs de planification — `duration` (en périodes), `duration_actual` / `duration_accounted` (minutes réelles / facturées), `modality`, `subject`, `group`, `teachers`, `classroom`, `resources` — auxquels s'ajoutent sa `position`, son `status`, ses `memos` et une identité (`_id`, `_osrev`). Mettre `teachers` ou `classroom` à `null` **force explicitement** l'absence de professeur ou de salle. ##### Cours complexes Une séance peut en **regrouper d'autres** : - `assoc` — séances **associées** : les groupes permutent ensemble. - `concat` — séances **concaténées** : strictement consécutives. - `weekalt` — **semaines alternées** : une variante de séance par semaine. Ces mécanismes couvrent les **cours complexes** — voir [Cours complexes : alternées, associées, concaténées](#page-core-concepts.complex-lessons). ##### Position d'une séance La `position` est un **objet** qui place la séance dans le temps. Elle regroupe les champs suivants : - **`position.day`** — le jour de la séance, **polymorphe selon le mode de l'EDT** : un nom de jour (`monday`…`sunday`) en mode hebdomadaire, un **numéro de jour de cycle** (`"1"`, `"2"`…) en mode cyclique, ou une **date** `YYYY-MM-DD` en mode calendrier. C'est un seul et même champ qui change de forme selon le mode ; il est toujours présent. - **`position.period`** — l'**index du créneau** dans la grille horaire. Une séance sans `period` ni `start`/`end` correspond à un jour férié. - **`position.start`** / **`position.end`** — heures exactes de début et de fin (`HH:MM`), pour les séances **hors grille** ou en mode calendrier qui ne s'alignent pas sur un créneau standard. - **`position.fixed`** — booléen (faux par défaut) : une séance **punaisée**, que la **génération automatique ne déplacera pas**. Les séances d'une classe vivent dans `class.courses` ; le tableau `timetable.lessons` porte les séances **transversales** liées aux groupes de groupes. ##### Identité d'une séance Chaque séance porte deux champs techniques d'identité, **présents sur les comptes Premium** : - **`_id`** — identifiant **stable**, attribué à la création de la séance et immuable ensuite (il combine un horodatage et une empreinte du contenu). C'est la **clé d'une séance** pour l'édition collaborative et pour un outil externe qui suit les séance dans le temps. Pour les **occurrences récurrentes** d'un EDT calendrier (semaines alternées, concaténations, associations), l'`_id` de chaque occurrence est **dérivé** de celui de la séance de base, qui reste reconnaissable. - **`_osrev`** — jeton de **révision** (verrouillage optimiste), incrémenté à chaque modification (horodatage + indice de modification), de manière strictement ordonnée alphabétiquement (ce qui permet aisément de savoir si une révision est plus récente qu'une autre). Il permet à l'édition collaborative de **détecter et fusionner les modifications concurrentes** : une révision client périmée signale un conflit, que le serveur tranche ou fusionne au lieu d'écraser silencieusement. #### Absences Les absences partagent une base commune (`Absence` : `date_start`, `date_end`, `reason`, `hours`, `comment`, statut) déclinée par sujet. ```mermaid erDiagram ABSENCE ||--o{ ABSENCE_TEACHER : "teachers" ABSENCE ||--o{ ABSENCE_CLASS : "classes" ABSENCE ||--o{ ABSENCE_STAFF : "staff" ABSENCE ||--o{ ABSENCE_STUDENT : "students" ABSENCE_TEACHER ||--o{ SUBSTITUTE : "substitutes" ABSENCE_TEACHER { string date_start string date_end string reason "clé de traduction ou libellé" array subjects "matières concernées" array classes "classes concernées" string status } SUBSTITUTE { string substitute "nom du remplaçant" string date_start "début de la règle (date)" string date_end "fin de la règle (date)" array hours "créneaux concernés (begin/end en minutes, day)" array classes "classes concernées" array subjects "matières concernées" string comment "commentaire" } ABSENCE_STUDENT { string date_start string reason array subjects "matières exclues" string status } ``` Une `AbsenceTeacher` peut être restreinte à certaines `subjects`/`classes` et porte un **tableau de règles de remplacement** (`substitutes`, chacune un `AbsenceTeacherSubstitute` : remplaçant, période, créneaux horaires, classes et matières couvertes). Les statuts diffèrent par sujet (par exemple `ok`/`aborted` pour une classe). Voir le glossaire [Remplacement / Suppléance](#page-glossary.substitution) et le module **Gestion des absences**. #### Membres du personnel Module distinct (vendu aussi en autonome) pour la surveillance et les services d'encadrement. ```mermaid erDiagram STAFFING ||--o{ STAFFING_GRID : "grids" STAFFING ||--o{ STAFFING_ASSIGNMENT : "assignments" STAFFING ||--o{ STAFFING_STAFF_MEMBER : "staff" STAFFING ||--|| STAFFING_SCHEDULE : "schedule" STAFFING_ASSIGNMENT ||--o{ STAFFING_NEED_SPAN : "needs" STAFFING_GRID { array dates "plages d'activité" array days array periods "créneaux" } STAFFING_ASSIGNMENT { string name int req "minimum d'encadrants" int ideal "effectif souhaité" string site string priority "high normal low" array allowed_staff } STAFFING_NEED_SPAN { string day "jour ou date" string begin "HH:MM" string end "HH:MM" int headcount "effectif requis" } STAFFING_STAFF_MEMBER { string first_name string last_name string virtual_name "poste à pourvoir" string color } STAFFING_SCHEDULE { object dates "vacations par date" } ``` Une `StaffingGrid` est le gabarit (jours, périodes) ; les `assignments` décrivent les postes (`req`/`ideal`, `priority`, `needs` détaillés par créneau via `StaffingNeedSpan`) ; le `schedule` matérialise les vacations effectives par date. Voir le module Service du personnel. #### Évènements Un **`Event`** est une entrée d'**agenda posée par-dessus la grille** : quelque chose qui se passe dans l'établissement **sans être un cours régulier** — un conseil de classe, une réunion parents-professeurs, un examen sur une journée, une sortie, une journée portes ouvertes. Les évènements sont rangés dans le dictionnaire `events` (clés `event-`) et font partie des fonctionnalités Premium. Champs d'un `Event` (obligatoires : `title`, `start`, `end`) : - **`title`** — intitulé affiché. - **`start`** / **`end`** — début et fin, au format `YYYYMMDDTHHmmSS`. - **`rrule`** — règle de **récurrence** éventuelle. - **`attendees`** — participants : un utilisateur, une classe, un groupe, un libellé libre (`custom`), ou bien tout l'établissement (`everybody`) / toute personne volontaire (`anyone`). - **`location`** — lieu(x) : une salle de l'EDT ou un libellé libre. - **`resources`** — ressources réservées pour l'évènement. - **`videolink`** — lien de visioconférence pour y assister à distance. - **`memos`** — commentaires ; **`color`** — couleur (hexadécimal). Le fonctionnement côté usage (création, pose sur la grille, champs de l'interface) est décrit dans [Évènements ponctuels](#page-schedules.events). #### Panneaux d'affichage Un **`Panel`** est un **panneau d'affichage** des séances du jour (hall, salle, écran d'accueil…). Il définit la sélection des `columns`, la `topline`, les `filters`/`exclusions` et des réglages d'apparence. Voir le glossaire [Panneau d'affichage](#page-glossary.panel). #### Identifiants, copies locales et mise en relation avec un ERP Pour relier le modèle Omniscol à un référentiel externe, trois principes priment : 1. **Les clés de dictionnaire sont les identifiants stables.** Les matières, utilisateurs, professeurs, classes, groupes, salles, ressources sont indexés par un identifiant immuable (la clé JSON), et non par leur libellé. C'est ce pivot — jamais le `name` — qu'il faut utiliser pour toute correspondance. 2. **Le champ `_extids` (`ExternalIds`) porte les identifiants externes.** Présent sur les entités synchronisables (`Subject`, `Family`, `TimetableSite`, `TimetableClassroom`, `TimetableResource`, `TimetableTeacher`, `TimetableClass`, `TimetableClassGroup`, `User`…), il associe à chaque entité ses identifiants dans les systèmes tiers, par exemple `{ "auriga": "12345", "aimaira": "67890" }`. C'est le point d'ancrage canonique d'un appariement bidirectionnel. 3. **La copie locale école ↔ EDT est volontaire.** Une matière de classe ou un professeur d'EDT est une copie enrichie, pas une référence vive. Un référentiel externe doit donc décider à quel niveau il s'apparie : le **référentiel école** (catalogue durable) ou un **EDT** précis (planification datée). Le détail des règles de propagation figure dans [Organisation des données](#page-core-concepts.data-model). La configuration de synchronisation vit dans `config.extsync` (`SchoolConfigExtsync`) : `systems` (connecteurs configurés), `sync` (sens et entités), `export` et `schedules`, ainsi que des tables de correspondance (`mappings`) par clé et identifiant Omniscol. Côté accès programmatique, l'API REST et les jetons sont décrits dans [Jetons d'API](#page-integrations.api-tokens) ; les connecteurs de synchronisation dans [Synchronisation externe](#page-integrations.extsync). > La forme exacte et exhaustive de chaque champ reste définie par le schéma > JSON de référence du compte > (`https://api.omniscol.com/api/guest/school_schema.json`, > visionneuse lisible sur > [omniscol.com/fr/datamodel](https://www.omniscol.com/fr/datamodel)). En cas > de divergence entre cette page et le schéma, **le schéma fait foi**. #### Voir aussi - [Organisation des données](#page-core-concepts.data-model) - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Divisions de classe](#page-core-concepts.class-divisions) · [Alignements](#page-core-concepts.alignments) · [Groupes de groupes](#page-core-concepts.groups-of-groups) - [Cours, séances, types de cours](#page-core-concepts.lessons-and-types) · [Cours complexes](#page-core-concepts.complex-lessons) - [Sites, salles et ressources](#page-core-concepts.sites-rooms-resources) - [Année scolaire](#page-core-concepts.school-year) - [Jetons d'API](#page-integrations.api-tokens) · [Synchronisation externe](#page-integrations.extsync) ### 9.8 MCP — connecter un agent IA externe à Omniscol *Source: `help/fr/integrations/mcp.md` · id: integrations.mcp · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Le **Model Context Protocol (MCP)** est un standard ouvert qui permet à un assistant IA compatible MCP de consommer des outils métier exposés par un service externe. Omniscol expose une grande partie de son API sous forme de **serveur MCP** : un agent IA peut interroger votre compte avec les points d'accès API ou permissions autorisés, une fois authentifié — par OAuth2, le mode standard de MCP, ou par un jeton. #### Ce que l'agent peut faire L'agent MCP fonctionne très bien sur les **questions de consultation** où la donnée est dans Omniscol : - *« Donne-moi le taux d'occupation des salles par rapport aux horaires d'ouverture cette semaine. »* - *« Trouve-moi une salle disponible trois lundis d'octobre sur le même créneau de 2 heures. »* - *« Combien d'heures de cours Jean Dupont a-t-il données sur l'année scolaire courante ? »* - *« Quels sont tous les cours de maths d'aujourd'hui ? »* - *« Liste les professeurs qui ont fait moins de 70 % de leurs heures de service ce trimestre. »* Ces requêtes croisent typiquement plusieurs outils : EDT, tableaux de bord statistiques, disponibilités calculées, fiches professeurs. L'agent orchestre les appels et formule la réponse en langage naturel. #### Les outils exposés Le serveur MCP construit ses outils à partir des routes API Omniscol autorisées pour MCP. Les routes ignorées explicitement, et certains modules techniques (par exemple, relatifs à l'authentification des utilisateurs) ne deviennent pas des outils. La liste reflète donc l'API exposée au MCP, pas l'intégralité interne de l'application. C'est cependant une très grande partie. Qui plus est, il existe un certain nombre de routes dédiées au MCP et non utilisées par Omniscol. C'est le cas d'outils de recherche avancée pour que le texte libre désignant une entité ("professeur Jean Dupont", "classe 6A") soit retrouvée par Omniscol avec son identifiant technique servant ensuite à requéter précisément les données. C'est aussi le cas d'outils complexes où Omniscol ne possède pas d'interface graphique, parce que cela se prête mieux à du prompt : la recherche d'occupation et de disponibilité d'entité, par exemple ("trouve-moi une salle disponible pour 2 heures l'après-midi 3 lundi d'affilée", "est-ce qu'un professeur de maths est disponible la semaine du 14 octobre pour 3 heures ?"). Les outils couvrent notamment : - module **Administration** (utilisateurs, matières, années scolaires, paramètres), - module **Gestion des EDT** (configuration, sites, salles, classes, cours), - module **EDT** (planning, tableaux de bord, recherches), - module **Gestion des absences** (déclaration, statistiques), - recherche globale. Les routes de lecture sont les plus adaptées à un usage agentique. Certaines opérations d'écriture peuvent exister dans le catalogue, selon les droits du jeton et l'API disponible, mais elles doivent rester encadrées : une requête qui modifie plusieurs objets métier doit être vérifiée par un utilisateur avant d'être considérée comme fiable. #### Activer le serveur MCP Le serveur MCP est disponible sur les comptes **Premium**. Tout part de l'**écran MCP**, ouvert depuis le module **Administration** avec **Configurer** : il affiche l'**URL du serveur** selon le périmètre choisi (global ou restreint à un module) et fournit, prêts à copier, les éléments de configuration de votre client. **L'authentification standard de MCP est OAuth2.** Un client compatible (comme Claude) se connecte simplement à l'URL du serveur, y découvre la configuration OAuth2 du compte, et l'utilisateur approuve l'accès via un écran de consentement : il n'y a **rien d'autre à fournir que l'URL**. Le périmètre accordé suit les droits du compte et ses restrictions de visibilité. Le serveur OAuth2 d'Omniscol, son écran de gestion des clients et le détail du consentement sont décrits sur [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server). Pour un client qui ne gère pas OAuth2, le même écran génère un **jeton** (clé API, expiration, utilisateur associé optionnel, droits d'écriture à cocher) puis propose, prêts à coller, les formats utiles selon le cas : en-tête `Authorization: Bearer`, URL avec jeton, bloc de configuration **Claude Desktop** (mode gratuit) et commande de proxy local. Le jeton s'appuie sur le système de clés décrit dans [API Omniscol](#page-integrations.api-tokens). #### Bonnes pratiques de sécurité - **Authentification OAuth2** — plus pratique et à préférer quand votre agent le supporte (Claude version payante). - **Jeton dédié à l'IA** — créez un jeton avec un libellé parlant (`Agent IA — Claude desktop`) que vous pouvez révoquer si nécessaire. - **Périmètre minimal** — avec un jeton API, ne sélectionnez que les points d'accès API nécessaires. Avec un jeton OAuth, limitez les scopes au besoin réel. - **Journaux d'activité (logs)** — un appel apparaît dans les journaux associés au jeton lorsque la route concernée est journalisée. Ces journaux tracent l'appel ; ils ne conservent ni le détail des données renvoyées ni le contenu rejouable de la requête. - **Restrictions de visibilité** — l'agent voit ce qu'Omniscol lui renvoie. Si vous avez configuré des restrictions de visibilité strictes pour le rôle du jeton, elles s'appliquent. #### Procédure — Connecter Claude à Omniscol La voie recommandée est l'**authentification OAuth2** : vous branchez Claude sur le serveur MCP par son URL, sans manipuler de jeton. 1. **Activez le serveur MCP** sur votre compte Premium et récupérez son URL (typiquement `https://votre-ecole.omniscol.com/mcp`). L'écran MCP (module **Administration**, bouton **Configurer**) l'affiche selon le périmètre choisi, avec un bouton de copie. 2. **Ajoutez Omniscol comme connecteur dans Claude.** Dans les réglages de connecteurs de Claude, ajoutez un connecteur personnalisé et collez l'URL du serveur MCP Omniscol. 3. **Approuvez l'accès.** Claude vous redirige vers l'écran de consentement Omniscol : connectez-vous et autorisez l'accès. Le périmètre accordé suit les droits de votre compte et les restrictions de visibilité éventuelles. 4. **Les outils apparaissent dans Claude**, qui les appelle quand votre requête s'y prête. 5. **Premier test** : *« Combien d'heures de cours Jean Dupont a-t-il données cette année ? »* — Claude croise les données accessibles et répond en langage naturel. **Méthode alternative par jeton.** Pour un client MCP qui ne gère pas OAuth2, générez un jeton dédié depuis l'écran MCP (libellé parlant, points d'accès limités au besoin réel, droits d'écriture cochés explicitement) et transmettez-le en en-tête `Authorization: Bearer`. L'écran MCP fournit le bloc de configuration correspondant. Préférez OAuth2 dès que votre client le prend en charge. #### Voir aussi - [Assistant IA intégré](#page-integrations.ai-assistant) - [API Omniscol](#page-integrations.api-tokens) - [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server) - [Vue d'ensemble des intégrations](#page-integrations.overview) ### 9.9 Assistant IA intégré *Source: `help/fr/integrations/ai-assistant.md` · id: integrations.ai-assistant · Audience: admin · Status: stable · Updated: 2026-06-28* L'**assistant IA intégré** est la surface de conversation d'Omniscol pour poser une question en langage naturel depuis l'interface. Il s'ouvre dans l'onglet **Agent IA** du panneau d'aide, réservé aux administrateurs. L'assistant s'appuie sur le corpus d'aide et, selon le contrat du compte, sur les outils Omniscol exposés à l'agent. Le périmètre dépend du compte : un assistant documentaire répond à partir de l'aide en ligne, et les comptes dont le contrat le prévoit ajoutent l'accès à des outils métier qui interrogent les données du compte. Pour connecter un agent IA externe à votre compte, utilisez [MCP — connecter un agent IA externe](#page-integrations.mcp). #### Ce que l'assistant couvre L'assistant est conçu pour deux familles de demandes : - **questions documentaires** — retrouver une procédure, expliquer un concept, pointer vers la bonne page d'aide ; - **questions opérationnelles** — interroger les données du compte via les outils autorisés, par exemple sur les cours, salles, professeurs, absences ou statistiques. Exemples : - *« Comment publier un emploi du temps ? »* - *« Où configurer les liens iCal ? »* - *« Quels cours de maths sont prévus aujourd'hui ? »* - *« Pourquoi cette génération d'EDT laisse-t-elle des séances non positionnées ? »* #### Droits et périmètre L'assistant n'a pas un accès illimité au compte. Ses réponses et ses actions dépendent : - du contrat du compte, qui détermine si les outils métier sont activés ; - des droits de l'administrateur connecté ; - des outils effectivement exposés à l'agent ; - des données disponibles dans Omniscol. Une action qui modifie des données métier passe par une confirmation explicite avant d'être appliquée. Pour les intégrations agentiques externes, utilisez [MCP — connecter un agent IA externe](#page-integrations.mcp) et des jetons dédiés. #### Bonnes pratiques - Vérifiez les actions proposées avant de les appliquer. - Ne copiez pas de données sensibles dans une conversation si elles ne sont pas nécessaires à la demande. - Pour un agent externe, créez un jeton dédié avec un périmètre minimal et une expiration adaptée. #### Voir aussi - [MCP — connecter un agent IA externe](#page-integrations.mcp) - [API Omniscol](#page-integrations.api-tokens) - [Plans et options Omniscol](#page-overview.plans-and-options) ### 9.10 OIDC / SSO — connexion via fournisseur d'identité *Source: `help/fr/integrations/oauth2.md` · id: integrations.oauth2 · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ OpenID Connect (OIDC), construit sur OAuth2, permet à vos utilisateurs de se connecter à Omniscol **avec leur compte d'entreprise** plutôt qu'avec un mot de passe Omniscol dédié. Trois bénéfices : un seul mot de passe à retenir, désactivation centralisée à l'arrivée / au départ d'un collaborateur, application automatique de la politique de sécurité (MFA, longueur de mot de passe, expiration…) gérée côté SI. Cette page décrit le **SSO utilisateur** : la connexion des personnes à Omniscol via votre fournisseur d'identité. Le cas inverse — Omniscol **serveur** OAuth2 / OIDC auquel des services tiers se connectent, avec son écran de gestion des clients — est traité sur [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server). #### Fournisseurs supportés Omniscol prend en charge : - **Google Workspace**, - **Microsoft Entra ID** (anciennement Azure AD), - **Keycloak**, - un fournisseur **OIDC générique** via son issuer / discovery URL (tout fournisseur conforme OIDC). #### Configurer côté Omniscol Dans **Administration** → **Paramètres**, section **Sécurité**, le bouton **Configurer** ouvre l'écran de configuration OIDC, qui permet de déclarer le fournisseur : - **Nom affiché** — le libellé qui apparaîtra sur le bouton de connexion (par exemple `Continuer avec Google`). - **Type de fournisseur** — Google, Microsoft Entra ID (Azure AD), Keycloak ou OIDC générique. - **Tenant / issuer** — tenant Microsoft pour Entra ID, ou URL issuer pour Keycloak et les fournisseurs OIDC génériques. Les métadonnées OIDC sont ensuite découvertes par l'application. - **Client ID** et **Client secret** — obtenus en créant une application côté fournisseur (cf. documentation du fournisseur). - **Scopes** — par défaut `openid profile email`. Ajouter les scopes spécifiques au fournisseur si besoin. - **Domaines autorisés** — liste optionnelle de domaines de messagerie acceptés à la connexion SSO ; laissée vide, aucun filtrage par domaine n'est appliqué. - **URL de redirection** — Omniscol vous donne la valeur exacte à copier dans la configuration côté fournisseur (ainsi que l'URL de redirection post-déconnexion si le fournisseur la demande). - Connexion uniquement par SSO — une fois le SSO validé, cette option refuse la connexion par mot de passe Omniscol, sauf pour les **comptes de secours** décrits ci-dessous. La configuration SSO courante est définie au niveau du compte école. #### Accès de secours (break-glass) En mode **Connexion uniquement par SSO**, la connexion par mot de passe Omniscol est refusée : tout le monde passe par le fournisseur d'identité. Si ce fournisseur devient indisponible — panne, secret expiré, erreur de configuration — l'accès à Omniscol serait bloqué pour tous. Le **compte de secours (« break-glass »)** est le garde-fou contre ce blocage : un compte **administrateur** autorisé à se connecter par mot de passe Omniscol même lorsque le mode SSO exclusif est actif. - Dans la fiche d'un compte **administrateur**, lorsque l'option **Connexion uniquement par SSO** est active, une case **Break-glass (SSO only)** apparaît. La cocher autorise ce compte à se connecter par mot de passe si le fournisseur d'identité est indisponible. Seuls les comptes administrateurs peuvent l'être. - Le support Omniscol conserve par ailleurs un accès de secours indépendant. Désignez au moins un compte de secours **avant** d'activer le mode SSO exclusif, et conservez son mot de passe en lieu sûr : c'est votre filet de sécurité si le fournisseur d'identité tombe. #### Configurer côté fournisseur (exemples) ##### Google Workspace 1. Console Google Cloud > **APIs & Services > Credentials**. 2. **Créer un identifiant OAuth 2.0**, type **Application Web**. 3. Coller l'URL de redirection fournie par Omniscol dans **Authorized redirect URIs**. 4. Récupérer le **Client ID** et le **Client secret** pour les coller dans Omniscol. ##### Microsoft Entra ID 1. Portail Azure > **Entra ID > App registrations**. 2. **New registration**, type **Web**, URL de redirection Omniscol. 3. **Certificates & secrets** > créer un client secret. 4. **API permissions** > ajouter `openid`, `profile`, `email`. 5. Récupérer **Application (client) ID** et le secret. ##### Keycloak 1. Realm > **Clients > Create client**, type **OpenID Connect**. 2. **Valid redirect URIs** : URL fournie par Omniscol. 3. **Credentials** > récupérer le client secret. #### Faire le lien avec les comptes Omniscol Quand un utilisateur clique sur le bouton SSO, Omniscol : 1. Le redirige vers le fournisseur, 2. Récupère son adresse e-mail après authentification, 3. Cherche un compte Omniscol avec **la même adresse e-mail**. Si le compte existe et qu'il est actif, l'utilisateur est connecté. Sinon, l'accès est refusé. Conséquence : pour que SSO fonctionne, les utilisateurs doivent exister dans Omniscol avec la bonne adresse e-mail — la création n'est pas automatique côté Omniscol par défaut. #### Provisioning automatique des comptes La création automatique de comptes à la première connexion SSO (`just-in-time provisioning`) n'est pas le comportement par défaut de l'écran de configuration. Si ce mode est nécessaire, il doit être cadré avec Omniscol. #### Procédure — Configurer un fournisseur OIDC / SSO 1. **OIDC / SSO** permet à vos utilisateurs de se connecter avec leur compte d'entreprise (Google Workspace, Microsoft Entra ID, Keycloak, Okta…). La partie côté fournisseur dépend du fournisseur. 2. **Côté fournisseur**, créez d'abord une application OIDC **Application Web** : récupérez le **Client ID** et le **Client secret**, copiez l'**URL de redirection** fournie par Omniscol dans les *Authorized redirect URIs* du fournisseur. 3. **Côté Omniscol**, ouvrez les paramètres puis la configuration OIDC. Renseignez le **nom affiché** (libellé du bouton de connexion), le type de fournisseur, l'issuer ou le tenant selon le cas, le Client ID, le Client secret et les **scopes** (défaut : `openid profile email`). 4. **Cliquez sur Tester.** Vérifiez que la configuration fonctionne. Omniscol fait un aller-retour OIDC ; en cas d'erreur de discovery, de secret ou de redirection, le message d'erreur est explicite. 5. **Sauvegardez.** Le bouton de connexion SSO apparaît sur la page de connexion lorsque la configuration est active. 6. **Important : les comptes doivent exister** dans Omniscol avec la bonne adresse e-mail. La connexion SSO matche par e-mail ; pas de provisioning automatique par défaut. #### Voir aussi - [Première connexion](#page-getting-started.first-login) - [Utilisateurs et rôles](#page-admin.users-and-roles) - [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server) - [Vue d'ensemble des intégrations](#page-integrations.overview) ### 9.11 Synchronisation avec des systèmes externes (ERP) *Source: `help/fr/integrations/extsync.md` · id: integrations.extsync · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ Omniscol s'interface avec les ERP et SI externes des établissements via un framework unifié de **synchronisation**. Omniscol y joue le rôle de **point central** : c'est lui qui pilote les imports et les exports, tandis que le système externe reste la source de vérité administrative. La synchronisation avec des systèmes externes est disponible sur les comptes **Premium**, lorsqu'un connecteur est configuré pour le compte. Ce qui se traite **sur projet**, c'est l'ajout d'un nouvel ERP ou d'un nouveau SI non déjà supporté, avec cadrage du mapping et des flux. #### Modèle de flux Le framework couvre deux sens de circulation : - **Entités (entrant)** — Omniscol peut récupérer depuis l'ERP les professeurs, matières, salles, classes, étudiants et leurs identifiants externes, selon le connecteur et la configuration. Les références ext-id sont conservées dans Omniscol pour les rapprochements. - **Séances de cours (sortant)** — Omniscol pousse les séances produites par sa planification vers l'ERP, avec les références ext-id correctes. Selon le connecteur, l'export peut être déclenché à la demande, planifié, ou rejoué en batch complet pour rattraper des divergences. Omniscol orchestre les imports et exports configurés, conserve les identifiants externes, gère les passes de synchronisation et expose des écrans de vérification pour rapprocher les données entre Omniscol et le système externe. #### Source et droits de création locale Pour chaque type d'entité (professeurs, matières, salles, etc.), vous sélectionnez le système source et indiquez si la création locale et la mise à jour locale restent autorisées. L'écran expose aussi un bouton d'**Association** pour rapprocher une entité Omniscol locale avec une entité ERP lorsque les deux existent déjà. #### Pontage des ontologies Chaque ERP a son propre vocabulaire (par exemple « matière » en Omniscol = **Unité Pédagogique** dans Auriga = **Cours** dans Aurion). Le framework gère le **mapping** : c'est Omniscol qui relie les concepts d'un côté à ceux de l'autre, vous n'avez pas à réécrire votre nomenclature. #### Connecteurs disponibles ##### Disponibles - **Aurion** — connecteur disponible en production. ERP **édité par la société Auriga**, particulièrement utilisé en enseignement supérieur français (écoles d'ingénieurs, de commerce). Voir [Connecteur Aurion](#page-integrations.aurion). - **Auriga** — connecteur disponible en production. **Auriga le logiciel** est l'évolution full-web d'Aurion, par la même société. Voir [Connecteur Auriga](#page-integrations.auriga). ##### Standard d'annuaire - **OneRoster** — au lieu d'un connecteur propre à un éditeur, Omniscol prend en charge le standard international **OneRoster** (1.2 et groupes avancés) pour échanger un annuaire scolaire avec un SIS, un ENT ou un LMS conforme. L'import d'un annuaire OneRoster relève de cette synchronisation Premium ; l'export, lui, est servi en lecture seule et contrôlé par scopes OAuth2. Voir [OneRoster](#page-integrations.oneroster). ##### Sur demande Tout ERP / SI exposant une **API documentée** pour les actions d'import / export et une **sandbox** de travail peut être intégré sur projet. Contactez le support Omniscol pour cadrer l'ajout d'un nouveau connecteur. #### Différence avec les systèmes qui interrogent Omniscol Certains systèmes peuvent aussi consommer Omniscol via les points d'accès API **GET** de l'API publique : dans ce cas, Omniscol n'orchestre pas une synchro ERP, le système tiers interroge seulement les données auxquelles son jeton donne accès. Ce modèle est différent de la synchronisation orchestrée par Omniscol : | Modèle | Qui orchestre ? | Sens | Exemple | | --- | --- | --- | --- | | **Synchronisation avec des systèmes externes** | Omniscol | Bidirectionnel (entités in, séances out) | Auriga, Aurion | | **Partner pull** | Le partenaire | Le partenaire fait du GET | Connecteur tiers via API | Le modèle partner-pull n'a pas besoin de configuration de synchronisation avec des systèmes externes : l'API publique et les jetons d'authentification suffisent. Voir [API Omniscol](#page-integrations.api-tokens). #### Configuration Une configuration de synchronisation avec des systèmes externes demande typiquement une session avec le support Omniscol pour : 1. **Lister les objets à synchroniser** — utilisateurs, classes, intervenants, matières, salles, etc. 2. **Calibrer le mapping ontologique** — quel concept ERP correspond à quel concept Omniscol. 3. **Définir l'exclusivité** par type d'entité. 4. **Programmer la fréquence** des passes (à la demande, horaire, quotidienne, plus pour le rattrapage des divergences). 5. **Tester sur une sandbox** ERP avant la mise en service. #### Vérifications et opérations courantes - **Vérification** des favoris ou datasets configurés, selon le connecteur. - **Déclenchement manuel** d'un export de séances depuis l'écran d'administration. - **Export complet planifié** lorsque l'option est configurée dans le bloc d'export. - **XML Pivot Aurion** lorsque le connecteur Aurion est utilisé. - **Vérification des rapprochements** : les écrans d'association signalent les entités à appairer ou à corriger. #### Procédure — Vérifier et déclencher une synchro 1. **Une fois la synchronisation configurée** par le support Omniscol, les opérations courantes se font depuis l'écran d'administration : vérifier les favoris/datasets, appairer les entités, déclencher un export ponctuel, télécharger le pivot Aurion si disponible, ou purger l'état d'export en cas de bascule. 2. **Dans la configuration du système**, utilisez les boutons **Vérifier** des favoris ou datasets renseignés. Omniscol récupère les données du connecteur et signale les erreurs de configuration ou de format lorsque le connecteur les remonte. 3. **Pour pousser immédiatement** les séances vers l'ERP sans attendre la prochaine passe planifiée, cliquez sur **Déclencher**. Utile après une modification urgente. 4. **Avec Aurion**, le bouton **XML Pivot** télécharge un fichier que l'administrateur ERP injecte manuellement via la console de l'ERP lorsque ce mode est retenu. 5. **En cas de bascule majeure** (changement de structure, fin d'année), le bouton **Purge Omniscol** supprime **côté ERP** toutes les séances de cours qu'Omniscol y a exportées, pour repartir de zéro. L'action vise le connecteur sélectionné et elle est **irréversible** : à n'utiliser qu'après un accord du support. #### Voir aussi - [Connecteur Aurion](#page-integrations.aurion) - [Connecteur Auriga](#page-integrations.auriga) - [OneRoster](#page-integrations.oneroster) - [API Omniscol](#page-integrations.api-tokens) - [Import et export](#page-admin.import-export) - [Vue d'ensemble des intégrations](#page-integrations.overview) ### 9.12 OneRoster (1.2 et groupes avancés) *Source: `help/fr/integrations/oneroster.md` · id: integrations.oneroster · Audience: admin · Plan: standard · Updated: 2026-06-29* OneRoster est un standard international d'échange d'annuaires scolaires (édité par 1EdTech) : il décrit, dans un format commun, les **établissements**, les **années scolaires**, les **enseignements**, les **classes**, les **inscriptions** et les **utilisateurs** d'une école. Il sert à raccorder un SIS, un ENT ou un LMS à un autre outil sans ressaisie ni format propriétaire. Cette page s'adresse à la **direction des systèmes d'information (la SI)** de l'établissement. Elle décrit ce qu'Omniscol expose et consomme en OneRoster, l'authentification attendue, et le périmètre réel de chaque sens d'échange. #### Versions prises en charge Omniscol prend en charge **OneRoster 1.2 Rostering** — le socle (Org, AcademicSession, Course, Class, Enrollment, User, Demographics) — ainsi que la couche **OR-Groups (Advanced Groups Service)**, le standard de groupes additif qui ajoute trois entités (Group, GroupMembership, GroupAssociation) au-dessus de la 1.2. La couche OR-Groups est un **standard en cours de publication**. Elle est strictement additive sur la 1.2 : un Group ne fait que **référencer** les Class / User / Org / AcademicSession de la 1.2, en lecture seule. La version 1.3 de OneRoster est annoncée pour faire de Class une spécialisation de Group — orientation avec laquelle l'implémentation d'Omniscol converge déjà. #### Omniscol producteur (Omniscol → ENT / LMS) En **producteur**, Omniscol expose l'annuaire de l'établissement en **lecture seule**, via une API REST conforme OneRoster, pour qu'un ENT ou un LMS le lise. - Le socle Rostering 1.2 est servi sous `/ims/oneroster/rostering/v1p2/…` (par exemple `/orgs`, `/schools`, `/academicSessions`, `/courses`, `/classes`, `/enrollments`, `/users`, `/teachers`, `/students`, `/demographics`, chacun avec ses variantes imbriquées). - La couche groupes est servie sous `/ims/oneroster/groups/v1p0/…` (`/groups`, `/groupMemberships`, `/groupAssociations` et leurs variantes imbriquées). - Le périmètre est l'année scolaire **courante** par défaut ; un paramètre permet de cibler une autre année ou de couvrir toutes les années. Les données reflètent la planification consolidée d'Omniscol (emplois du temps actifs / publiés). Le producteur est **en lecture seule par choix** : aucune écriture (PUT / DELETE) n'est exposée — un système distant ne pilote pas la création ou la suppression d'entités dans Omniscol. ##### Authentification du producteur Les points d'accès du producteur sont protégés par **OAuth2 en flux `client_credentials`** (jeton de machine à machine, sans utilisateur), émis par le serveur OAuth2 d'Omniscol. Ils ne sont **pas** réservés aux comptes Premium : l'accès est contrôlé par les **scopes** OAuth2, pas par l'offre. Chaque scope est spécifique à un service, et l'accès aux données démographiques est cloisonné à l'intérieur de la 1.2 : | Points d'accès | Scopes acceptés | | --- | --- | | Rostering 1.2 (hors démographie) | `https://purl.imsglobal.org/spec/or/v1p2/scope/roster-core.readonly`, `https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly` | | Rostering 1.2 `/demographics` | `https://purl.imsglobal.org/spec/or/v1p2/scope/roster.readonly`, `https://purl.imsglobal.org/spec/or/v1p2/scope/roster-demographics.readonly` | | OR-Groups (tous) | `https://purl.imsglobal.org/spec/or-groups/v1p0/scope/roster-group.readonly` | Un jeton OR-Groups ne donne pas accès au socle Rostering, et réciproquement. Aucun scope d'écriture n'est annoncé. Les scopes privilégiés sont attribués par l'administration Omniscol au moment de l'enregistrement du client OAuth2 ; un client ne peut pas se les auto-attribuer. La gestion des clients OAuth2 et des jetons est décrite sur [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server) et [API Omniscol](#page-integrations.api-tokens). ##### Le périmètre des élèves est porté par la couche groupes Choix structurant : la liste des élèves d'une classe ou d'un groupe est exposée via **OR-Groups** (GroupMembership), pas par le socle 1.2 seul. Un consommateur qui ne lit que la Rostering 1.2 obtient le catalogue (Courses, Classes), les inscriptions professeur → cours et l'annuaire des utilisateurs, mais **pas** l'appartenance des élèves. Pour savoir qui est dans quelle classe ou quel groupe, le consommateur doit implémenter la couche OR-Groups. Ce choix reflète le modèle français : un élève est inscrit dans une **classe** ou un **groupe**, pas matière par matière. Le producteur s'expose en REST. Le format **bundle CSV OneRoster** (archive zip d'un fichier par collection), lui, est pris en charge côté import, pour les fournisseurs qui livrent leur annuaire par fichier plutôt que par API — voir la section consommateur ci-dessous. #### Omniscol consommateur (SIS → Omniscol) > _Premium_ En **consommateur**, Omniscol importe l'annuaire d'un SIS conforme OneRoster et le réconcilie dans l'établissement. Cette configuration de consommation fait partie de la **synchronisation avec des systèmes externes** : elle est disponible sur les comptes **Premium** et se cadre sur projet avec l'équipe Omniscol (voir [Synchronisation avec des systèmes externes](#page-integrations.extsync)). - **Transport** — soit l'**API REST** du fournisseur (l'adresse de base est configurée, la pagination standard OneRoster est suivie), avec authentification OAuth2 en flux `client_credentials` contre le serveur du fournisseur ; soit un **bundle CSV** (archive zip). - **Profil** — un profil de configuration indique l'étendue à lire : socle 1.2 seul, couche groupes, ou cartographie française pour l'enseignement scolaire. Un fournisseur purement 1.2, sans service de groupes, s'importe proprement. - **Application contrôlée** — l'import suit le même principe que les autres connecteurs : Omniscol récupère puis réconcilie les données, et un **administrateur valide** l'application à l'établissement. Le système distant ne pousse jamais directement dans Omniscol. - **Réimports idempotents** — les correspondances d'identifiants externes sont conservées, si bien qu'un réimport ne crée pas de doublons même quand le fournisseur renomme un libellé. #### Profil français (enseignement scolaire) Le **profil français pour l'enseignement scolaire** met en correspondance les notions françaises avec le modèle OneRoster : une **division** (la classe au sens effectif) devient un Group de type organisationnel principal ; un **groupe** devient un Group de diffusion pédagogique ; un **groupe de groupes** un Group transversal ; les **partitions** et **alignements** deviennent des associations de groupes ; une affectation d'un **professeur** à un cours devient une inscription professeur. Les identifiants comme l'INE ou l'identifiant agent sont portés dans les `userIds` de l'utilisateur. #### Identifiants et confidentialité Chaque entité exposée porte un identifiant stable, le `sourcedId`. - Les identifiants **structurels** (établissement, année, enseignement, classe, groupe) sont stables et immuables d'un export à l'autre : un consommateur peut s'y fier pour corréler les données dans le temps. - L'identifiant de l'**utilisateur** est **anonymisé** : Omniscol ne met jamais son propre identifiant nominatif sur le fil. Le jeton mis sur le fil est dérivé par une fonction à sens unique (HMAC) propre au compte ; les inscriptions et appartenances réutilisent ce jeton sans jamais exposer l'identifiant d'origine. #### Statut - **Producteur** — disponible et démontrable sans partenaire distant (l'export se suffit à lui-même). Rostering 1.2 et la couche OR-Groups sont servis en lecture seule, avec authentification OAuth2. - **Consommateur** — la configuration d'import fait partie de la synchronisation Premium. La mise en service d'une synchronisation **en direct** avec un SIS dépend du fournisseur et, le cas échéant, des calendriers ministériels : elle se cadre **sur demande**, connecteur par connecteur. Il ne s'agit pas d'une synchronisation clés en main immédiate. #### Voir aussi - [Synchronisation avec des systèmes externes](#page-integrations.extsync) - [OAuth2 / OIDC (fournisseur)](#page-integrations.oauth-server) - [API Omniscol](#page-integrations.api-tokens) - [Modèle de données complet](#page-integrations.data-model-full) - [Partenaires](#page-integrations.partners) ### 9.13 Comptes liés et ressources partagées *Source: `help/fr/integrations/linked-accounts.md` · id: integrations.linked-accounts · Audience: admin · Updated: 2026-06-13* Les **comptes liés** relient **plusieurs comptes Omniscol distincts — donc plusieurs établissements** — qui partagent, dans la réalité, des **professeurs et des salles**. Le lien rend visible, d'un compte à l'autre, l'**occupation** de ces ressources communes : quand vous consultez ou construisez un emploi du temps, Omniscol remonte les séances des comptes liés qui portent sur un professeur ou une salle que vous partagez, et les signale comme déjà occupés. Vous évitez ainsi de réserver deux fois la même personne ou la même salle, sans avoir à appeler l'autre établissement. C'est une option activée sur demande par l'équipe Omniscol. Chaque compte reste **totalement autonome** : il garde ses utilisateurs, ses paramètres, ses années scolaires et son périmètre administratif. #### Ce que le lien partage - **Partagé** : l'**occupation** des professeurs et des salles présents dans les deux comptes. C'est elle qui alimente les vues d'occupation et la détection de conflits entre comptes. - **Hors partage** : les utilisateurs, les élèves, les classes, les paramètres et les données administratives propres à chaque compte. Voir un créneau occupé n'ouvre pas l'accès au détail de l'autre compte. Le rapprochement est **automatique** : Omniscol reconnaît un même professeur par son nom (la date de naissance départage les homonymes) et une même salle par le nom de son site et de la salle. Pour qu'il fonctionne, ces professeurs et ces salles doivent donc porter les **mêmes intitulés** dans chaque compte. #### Cas d'usage Tous mettent en jeu **plusieurs établissements distincts**, chacun avec son propre compte Omniscol : - Un **groupe d'écoles** qui mutualisent des professeurs ou des salles — par exemple un réseau d'établissements d'une même ville. - Des **établissements juridiquement séparés** installés dans le même bâtiment, et qui se partagent donc les salles. - Un campus où **plusieurs entités** (école d'ingénieurs, école de commerce…), gérées sur des comptes distincts, utilisent les mêmes amphithéâtres et les mêmes intervenants. #### Activation Les comptes liés se cadrent avec l'équipe Omniscol, car il faut décider ensemble : - quels comptes sont reliés ; - quelles ressources communes — professeurs, salles — sont partagées ; - l'harmonisation des intitulés des professeurs et des salles communs, sur lesquels repose le rapprochement automatique ; - quel compte reste responsable de chaque donnée ; - comment traiter les conflits détectés entre périmètres. Une fois l'option active, l'occupation partagée apparaît dans les vues d'occupation et alimente la détection de conflits entre comptes, sans autre manipulation de votre part. #### Activer ou désactiver une synchronisation Quand un emploi du temps est synchronisé avec d'autres EDT actifs — du même compte ou de comptes liés — un bouton **Synchronisation** apparaît : en **mode réorganisation** d'un emploi du temps, ainsi qu'en **édition d'un EDT calendrier**, sur les **dates partagées**. Il ouvre la liste de ces synchronisations : chaque **autre EDT actif** du compte et chaque **compte lié** qui partage des professeurs ou des salles. Toutes sont **actives par défaut**. Décochez-en une pour **cesser de tenir compte** de l'occupation de cet EDT ou de ce compte dans la vue courante, puis recochez-la pour la réactiver. Le bouton n'apparaît que lorsqu'il existe au moins une synchronisation à gérer. #### Cas voisin : plusieurs EDT actifs dans un seul compte Les comptes liés coordonnent des établissements distincts ; le même besoin se présente aussi **à l'intérieur d'un seul compte**, quand un établissement fait tourner **plusieurs EDT actifs en parallèle**. Le même principe d'occupation partagée empêche alors qu'une salle, un professeur ou une **classe** soit réservé deux fois par deux EDT simultanés. C'est typiquement le cas d'une **organisation multi-programmes** aux rythmes différents — un EMBA sur 18 mois, une Grande École en semestres calendaires, une prépa en EDT hebdomadaire — qui partage salles et intervenants entre ses programmes ; ou d'une **classe à cheval sur deux calendriers**, avec une organisation récurrente le matin et ponctuelle l'après-midi. Cette coordination est incluse de base en **Premium** et peut, exceptionnellement, être activée sur un compte Standard après cadrage avec Omniscol. Voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). #### Voir aussi - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) - [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) - [Synchronisation avec des systèmes externes](#page-integrations.extsync) ### 9.14 Connecteur Aurion *Source: `help/fr/integrations/aurion.md` · id: integrations.aurion · Audience: admin · Plan: premium · Updated: 2026-05-12* > **Premium** > _Premium_ **Aurion** est un ERP/SI scolaire **édité par la société Auriga**, largement utilisé en enseignement supérieur français (écoles d'ingénieurs, écoles de commerce, certaines universités). *Auriga le logiciel* — proposé par la même société — est l'évolution full-web d'Aurion ; il a son propre [connecteur Auriga](#page-integrations.auriga). Le connecteur Aurion s'inscrit dans le framework [Synchronisation avec des systèmes externes](#page-integrations.extsync) : Aurion reste la source de vérité administrative (étudiants, parcours, scolarité), Omniscol prend la main sur la planification et rend les séances à Aurion. > **Omniscol construit et optimise l'emploi du temps ; Aurion reste le > système d'information.** Omniscol s'interface avec Aurion, il ne le > remplace pas. Aurion est l'ERP de l'établissement — groupes, > intervenants, cours, salles… ; la construction d'un emploi du temps > optimisé, elle, revient à Omniscol. Il reprend les données de référence > d'Aurion, en tire un emploi du temps qui respecte vos contraintes, puis > lui renvoie les séances. Les trois modes d'usage décrits ci-dessous > reposent tous sur cette répartition des rôles. #### Trois modes d'usage ##### 1. Peuplement one-shot pour POC Pour démarrer rapidement (validation, démo, POC), Aurion peut exporter via un **gros favori d'interventions** qu'Omniscol consomme en bloc pour reconstituer la structure (matières, classes, groupes, salles, intervenants) puis y planifier. Ce favori est documenté par l'interface Omniscol. C'est le mode **bac à sable** : pas de retour des séances vers Aurion, le compte Omniscol vit en parallèle. Pratique pour les POC, déconseillé en production. Cette méthode peut aussi être utilisée pour transformer Omniscol en un outil de consultation avancée des emplois du temps : les modules du quotidien (EDT, tableaux de bord…) prennent les interventions d'Aurion comme source de vérité, et les EDT internes d'Omniscol comme indices de structuration. Cela passe par le favori d'interventions requêté plusieurs fois par jour, dont le résultat, transformé au format Omniscol, est mis en cache. Voir « Mode lecteur surpuissant d'Aurion » plus loin dans cette page. ##### 2. Mode production — synchro entités + push séances Le mode opérationnel standard : - **Synchro entrante** des entités Aurion vers Omniscol — matières, cours, intervenants, groupes, ressources, types d'activité, statuts d'intervention. Chacune avec son **identifiant objet Aurion** conservé pour les rapprochements futurs. - **Planification** dans Omniscol avec son moteur (auto ou manuel), respectant les contraintes et les disponibilités. - **Remontée temps-réel des séances** vers Aurion sous forme d'**interventions** (avec les identifiants d'objet Aurion corrects). Omniscol utilise la méthode du fichier XML pivot. À chaque modification des séances, Omniscol peut remonter en temps réel via webservice, en traitement groupé. Plusieurs fois par jour, Omniscol peut aussi vérifier la non-divergence des données et la corriger. Il est aussi possible de télécharger le fichier XML pivot, pour l'inspecter manuellement ou pour l'importer depuis la console Aurion. - **Export complet** possible de toutes les séances lorsque le bloc d'export est configuré avec des horaires définis, ou sur demande explicite manuelle. Aurion reste la source de vérité administrative ; Omniscol est l'outil de planification. ##### 3. Mode lecteur surpuissant d'Aurion Variante du mode 2 : après le push des séances vers Aurion, celui-ci **reboucle** vers Omniscol comme source de consultation de ses interventions, lorsque le favori d'interventions est configuré. Les **fonctionnalités du quotidien** d'Omniscol (**EDT** en consultation, **Tableau de bord**, panneaux d'affichage, iCal, API publique, MCP…) consomment alors directement les **interventions Aurion comme source de vérité**, pas la planification Omniscol. Conséquence : Omniscol devient une **surcouche de visibilité et d'exportation** au-dessus d'Aurion : - consultation rapide des EDT (salle, professeur, classe, étudiant) ; - statistiques avancées du tableau de bord ; - gestion des absences alignée sur les interventions ; - panneaux d'affichage publics ; - abonnements iCal ; - API REST et MCP pour requêtage IA. #### Favoris d'export Aurion Aurion utilise des **favoris** pour extraire ses données. Omniscol fournit les modèles `.aurxml` prêts à coller dans Aurion ; chaque favori ainsi créé est ensuite interrogé par son identifiant. Les favoris attendus : | Favori | Champs essentiels | | --- | --- | | Matières | `id.Matière`, `Code.Matière`, `Libellé.Matière` | | Cours | `id.Cours`, `Code.Cours`, `Libellé.Cours`, début/fin de validité | | Intervenants | `id.Intervenant`, `Nom d'usage.Intervenant`, `Prénom.Intervenant`, sexe, date de naissance, e-mail | | Groupes | `id.Groupe`, `Code.Groupe`, `Libellé.Groupe`, validité, effectifs min/max, type | | Ressources | `id.Ressource`, `Code.Ressource`, `Libellé.Ressource`, capacité, type | | Types d'activité | `id.Type d'activité`, `Code`, `Libellé` | | Statuts d'intervention | `id.Statut`, `Code`, `Libellé` | | **Interventions** | favori principal — import initial + synchro live (champs remappés Omniscol : `id`, `teacher`, `class`, `group`, `subject`, `classroom`, `site`, `day`, `start`, `end`, `type`) | | Interventions vérification | favori de contrôle pour réconciliation (champs natifs Aurion ou remappés) | #### XML Pivot — export Omniscol → Aurion Le **XML Pivot** est le format utilisé pour pousser les séances Omniscol vers Aurion en tant qu'interventions. Deux modes supportés : - **Fichier via la console Aurion** — Omniscol génère un fichier XML Pivot que l'administrateur Aurion injecte via l'écran dédié. Pratique pour les envois ponctuels ou quand le webservice n'est pas (encore) ouvert. - **Webservice à la volée** — Omniscol pousse directement via l'API Aurion, en temps réel et en traitement groupé. Demande à la DSI d'ouvrir l'accès réseau et de fournir les identifiants techniques. Omniscol supporte les deux ; le choix dépend de la configuration réseau de l'établissement. #### Tableau d'ontologie Omniscol ↔ Aurion Les correspondances historiques entre les vocabulaires : | Omniscol | Aurion | | --- | --- | | Professeur | Intervenant | | Classe | Groupe | | Groupe | Groupe | | Matière | Cours ou Matière | | Salle / Ressource | Ressource (avec son type) | | Site | - | | Séance de cours | Intervention | | Type de cours | Type d'activité | | Statut de séance | Statut d'intervention | | Durée réelle | Durée réelle | | Durée comptabilisée | Durée comptabilisée | ##### Statuts de séance Le mapping des statuts Omniscol → Aurion dépend totalement de votre configuration d'Aurion. Voici un exemple : | Statut Omniscol | Code Aurion | | --- | --- | | `brouillon` | `PREPLANIF` | | `planifié` | `PREVU` | | `annulé` | `ANNULE` | | `réalisé` | `REALISE` | #### Configuration et exploitation La configuration de synchronisation avec des systèmes externes pour Aurion (points d'accès, identifiants techniques, favoris, entités synchronisées, export temps réel ou export complet planifié) se fait via le support Omniscol. La doc générale du framework est dans [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Procédure — Peupler Omniscol depuis un favori Aurion 1. **Le mode POC** (peuplement one-shot depuis un favori d'interventions) permet de monter un compte Omniscol en quelques minutes pour validation ou démo, sans toucher au flux de synchronisation production. 2. **Côté Aurion** : créez dans Aurion le favori **Interventions** à partir du modèle `.aurxml` fourni par Omniscol, sur le périmètre souhaité (un programme, une promotion, un trimestre…), puis notez son identifiant de favori. Les autres favoris (Matières, Cours, Intervenants, Groupes, Ressources, Types d'activité, Statuts) peuvent compléter l'import. Le favori Interventions seul suffit pour démarrer. 3. **Côté Omniscol** : sur l'écran d'import Aurion, renseignez l'accès à Aurion (adresse, identifiants, base) et l'identifiant du favori Interventions. Cliquez **Vérifier** pour analyser sans appliquer — Omniscol récupère le favori, liste ce qu'il va créer, mettre à jour ou ignorer, et signale les anomalies (références cassées, doublons, codes manquants). 4. **Lancez l'import** une fois la vérification rassurante. Les entités Aurion sont créées dans Omniscol avec leur **identifiant d'objet Aurion conservé** (pour rapprochement futur en mode production). Les interventions deviennent des séances de cours dans le module **Gestion des EDT**. 5. **Enchaînez les favoris complémentaires** (Matières, Intervenants, Ressources…) avec le bouton **Suivant...** si vous voulez enrichir le modèle. Chaque favori se vérifie puis s'applique indépendamment. 6. **Vous avez maintenant un compte Omniscol opérationnel** avec la donnée Aurion. Pour passer en mode production (synchro live entités - push séances), basculez côté synchronisation avec des systèmes externes — voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Voir aussi - [Synchronisation avec des systèmes externes](#page-integrations.extsync) - [Connecteur Auriga](#page-integrations.auriga) - [API Omniscol](#page-integrations.api-tokens) ### 9.15 Connecteur Auriga *Source: `help/fr/integrations/auriga.md` · id: integrations.auriga · Audience: admin · Plan: premium · Updated: 2026-05-12* > **Premium** > _Premium_ **Auriga** est un ERP/SI scolaire utilisé notamment par des écoles de commerce et de management. **Auriga le logiciel** est l'évolution **full-web** d'[Aurion](#page-integrations.aurion), proposée par la **même société Auriga**. Les deux connecteurs partagent une partie significative de leur modèle de données et de leurs conventions, mais les API et les concepts diffèrent suffisamment pour justifier un connecteur distinct. Le connecteur Auriga s'inscrit dans le framework [Synchronisation avec des systèmes externes](#page-integrations.extsync) ; cette page décrit ses spécificités, notamment le pontage des ontologies entre Auriga et Omniscol. #### Périmètre Le connecteur Auriga synchronise : - **entités entrantes** : **Intervenants**, **Populations** (classes, groupes et sous-groupes côté Omniscol), **Unités pédagogiques**, **Ressources** (salles et équipements) et **Sites** — Auriga est source de vérité ; - **séances sortantes** : Omniscol pousse les séances générées (avec les références ext-id Auriga correctes) vers les sessions / interventions Auriga lorsque l'export est configuré. Les **années scolaires** ne font pas partie de ce périmètre : elles se créent et se gèrent dans Omniscol. Étendre la synchronisation à d'autres entités se cadre sur projet. #### Tableau d'ontologie Omniscol ↔ Auriga Les vocabulaires diffèrent entre Omniscol et Auriga. Le connecteur ponte les ontologies automatiquement. Tableau de référence : | Omniscol | Auriga | | --- | --- | | Professeur | Intervenant | | Classe | Population | | Groupe | Population | | Sous-groupe | Population | | Matière | Unité pédagogique (UP) | | Famille (de matières) | Programme | | Salle | Ressource (de type Salle) | | Ressource (matérielle) | Ressource | | Site | Site | | Séance de cours | Intervention | | Type de cours | Type d'activité | | Statut de séance | Statut d'intervention | | Durée réelle | Durée réelle | | Durée comptabilisée | Durée comptabilisée | | Modalité (présentiel, distanciel) | — | ##### Statuts de séance La correspondance des statuts de séance Omniscol → Auriga (codes par défaut Auriga) : | Statut de séance Omniscol | Code Auriga | | --- | --- | | Brouillon (`draft`) | `PREPLANIF` | | Planifié (`planned`) | `PLANIFIE` | | Annulé (`canceled`) | `ANNULEE` | | Réalisé (`done`) | `REALISEE` | Côté Auriga, ces codes se personnalisent librement. Omniscol permet donc de redéfinir cette correspondance, pendant une première (et très probablement unique) phase de paramétrage. #### Particularités - **Populations multiples** : comme Aurion (cousine technique sur ce point), Auriga modélise les sous-groupes via le système de Populations, la hiérarchie étant généralement signifiée à travers le code de l'entité. Omniscol consolide via la combinaison classes / groupes et sous-groupes / partitions / alignements / groupes de groupes. Omniscol essaie de deviner les relations à partir des noms et codes. - **Modalité (présentiel / distanciel)** et **lien de visioconférence** : ces champs sont absents côté Auriga, donc non remontés. - **Mémos** : les commentaires sur une séance peuvent être multiples et à l'attention de différentes audiences côté Omniscol, mais il n'y a qu'un seul champ côté Auriga : ils sont donc injectés comme concaténés dans l'intervention. #### Configuration et exploitation La configuration de synchronisation avec des systèmes externes pour Auriga (points d'accès, identifiants techniques, système activé, règles de synchronisation, export temps réel ou export complet planifié) se fait via le support Omniscol. La doc générale du framework est dans [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Procédure — Vérifier la synchro Auriga 1. **Auriga est branché comme connecteur de synchronisation** : il synchronise les entités entrantes (populations, intervenants, unités pédagogiques, ressources/salles…) et reçoit les séances Omniscol comme interventions. Cette procédure montre comment vérifier la santé du lien. 2. **Ouvrez l'écran Synchronisation avec des systèmes externes** dans le module **Administration**. Le connecteur Auriga apparaît dans la liste des systèmes configurables. 3. **Vérifiez la configuration** : base URL, Keycloak, realm, client, identifiants techniques, périmètre autorisé et valeurs par défaut d'activité / statut d'intervention. Les erreurs remontées par le connecteur doivent être traitées avec le support et la DSI. 4. **Configurez les règles de synchronisation** pour les entités concernées : système source, création locale autorisée ou non, mise à jour locale autorisée ou non, puis appairage des entités si nécessaire. 5. **Pour les séances sortantes** (Omniscol → Auriga), activez le bloc d'export si le connecteur doit recevoir les séances. L'écran permet de choisir l'export temps réel et/ou un export complet planifié, puis de déclencher un export manuellement. #### Voir aussi - [Synchronisation avec des systèmes externes](#page-integrations.extsync) - [Connecteur Aurion](#page-integrations.aurion) - [API Omniscol](#page-integrations.api-tokens) --- ## 10. Portails ### 10.1 Portail étudiant *Source: `help/fr/portal/student-portal.md` · id: portal.student-portal · Audience: student/admin · Plan: standard · Updated: 2026-06-13* Le **portail étudiant** est l'interface dédiée aux apprenants. Plus simple et plus ciblée que l'interface administrateur, elle expose exactement ce dont un élève a besoin au quotidien : son EDT personnel, celui de sa ou ses classes, ses absences et le partage de son calendrier. #### EDT personnel À l'ouverture, l'élève voit **son propre EDT** sur la semaine courante : matières, horaires, salles, professeurs. Trois vues classiques sont proposées : - **Semaine** — grille standard 5 ou 7 jours selon la configuration école. - **Jour** — agenda chronologique, utile sur mobile. - **Liste** — vue séquentielle des prochaines séances, sans grille. Les changements de dernière minute (déplacement de séance, changement de salle, annulation) sont pris en compte : l'élève voit l'état à jour à chaque ouverture ou rechargement de la vue. #### Consulter l'EDT de sa classe Au-delà de son EDT personnel, l'élève peut consulter l'**EDT de sa ou ses classes** et celui des **groupes** de ces classes. Son accès s'arrête là : il ne consulte ni l'EDT d'une autre classe, ni celui d'un professeur, ni celui d'une salle. L'administrateur peut limiter l'**horizon de consultation** des élèves : un paramètre définit le nombre de semaines à venir visibles, ou règle l'accès sur **Illimité**. Voir [Restrictions de visibilité](#page-admin.visibility-restrictions). #### Synchroniser avec un agenda personnel L'icône de partage Partage de la vue EDT ouvre la fenêtre Partage. Son onglet **iCal** fournit l'URL d'abonnement personnelle, à coller dans Google Calendar, Apple Calendar ou Outlook. L'URL peut être copiée, téléchargée en fichier `.ics` ou scannée via un QR code. Voir [iCal — abonnement et lien dynamique](#page-integrations.ical) pour le détail. L'application d'agenda rafraîchit l'abonnement à intervalles réguliers : quand l'EDT évolue dans Omniscol, la modification apparaît dans l'agenda de l'élève. #### Déclarer une absence Si l'établissement l'autorise, l'élève peut déclarer sa propre absence depuis le portail : dates, horaires éventuels, motif et commentaire. Voir [Déclarer une absence](#page-absences.declaring). La demande apparaît dans le module Gestion des absences avec un statut en attente jusqu'à validation par un administrateur. Le formulaire ne contient pas de dépôt de justificatif. #### Langue de l'interface La langue de l'interface suit la langue du navigateur de l'utilisateur. L'élève peut en choisir une autre depuis l'entrée Langue du menu utilisateur ; ce choix est mémorisé sur son compte pour les connexions suivantes. #### Voir aussi - [Portail enseignant](#page-portal.teacher-portal) - [Portail invité (parents, observateurs)](#page-portal.guest-portal) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [Déclarer une absence](#page-absences.declaring) - [Restrictions de visibilité](#page-admin.visibility-restrictions) ### 10.2 Portail enseignant *Source: `help/fr/portal/teacher-portal.md` · id: portal.teacher-portal · Audience: teacher/admin · Plan: standard · Updated: 2026-06-26* Le **portail enseignant** est l'interface dédiée aux professeurs. Elle couvre les trois besoins quotidiens d'un professeur : consulter son EDT, saisir ses disponibilités, déclarer ses absences. Par défaut, elle donne aussi accès aux EDT des collègues, des classes et des salles. #### EDT professeur Le professeur voit sur la semaine courante les **cours qu'il anime** : matière, classe, groupe, salle, horaires. Trois vues disponibles : - **Semaine** — vue grille standard. - **Jour** — vue agenda chronologique. - **Liste** — séquence chronologique sans grille, pratique sur mobile. Les modifications d'EDT (déplacement ou annulation d'une séance, ajout d'une séance exceptionnelle) sont prises en compte : le professeur voit l'état à jour à chaque ouverture ou rechargement de la vue. #### Saisir ses disponibilités Si l'établissement a activé la saisie des disponibilités, le professeur ouvre sa fiche personnelle via l'entrée **Informations** du menu utilisateur ; l'onglet **Disponibilités** présente une grille où il déclare ses préférences pour la prochaine construction d'EDT : - créneaux **Indisponible** — contrainte bloquante, l'algorithme n'y place jamais de séance, et le planificateur manuel y ferait un conflit, - créneaux **Non souhaité** — l'algorithme évite d'y placer une séance, sans interdiction absolue, et le planificateur manuel y voit une alerte, - créneaux **Préféré** — l'algorithme favorise ces créneaux. Les plages non marquées restent neutres : disponibles, sans préférence. Voir [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) pour la sémantique exacte des couleurs et les bonnes pratiques de saisie. Le professeur peut aussi ajouter des **commentaires libres** (`pas d'enseignement le vendredi à cause d'un autre engagement professionnel`) qui aident l'administration à comprendre le contexte. #### Déclarer une absence Le bouton **Déclarer une absence** permet au professeur de signaler sa propre indisponibilité : - dates concernées ; - journée entière ou créneaux précis ; - motif ; - commentaire court. La demande apparaît dans le module **Gestion des absences** avec un statut **en attente** jusqu'à validation par un administrateur. Les remplacements se gèrent ensuite dans ce même module ; le formulaire du portail ne déplace pas les séances et ne joint pas de justificatif. Voir [Déclarer une absence](#page-absences.declaring). #### Consulter les EDT des collègues et classes Par défaut, le professeur peut consulter les EDT des autres professeurs (utile pour caler des réunions), des classes (pour identifier un créneau libre où poser une sortie) et des salles. Un réglage strict (voir [Restrictions de visibilité](#page-admin.visibility-restrictions)) masque les EDT des **autres professeurs** ; il ne porte que sur ces EDT entre collègues, l'accès aux EDT des classes et des salles restant ouvert. #### Synchroniser avec un agenda personnel Comme côté élève, l'icône de partage **Partage** de la vue EDT ouvre la fenêtre **Partage**, dont l'onglet **iCal** fournit l'URL d'abonnement personnelle à coller dans Google Calendar, Apple Calendar ou Outlook. Voir [iCal — abonnement et lien dynamique](#page-integrations.ical). Pratique pour les professeurs qui veulent voir leurs cours dans le même agenda que leurs réunions et leur vie personnelle. #### Voir aussi - [Portail étudiant](#page-portal.student-portal) - [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [Déclarer une absence](#page-absences.declaring) - [Restrictions de visibilité](#page-admin.visibility-restrictions) ### 10.3 Portail invité (liens publics) *Source: `help/fr/portal/guest-portal.md` · id: portal.guest-portal · Plan: standard · Updated: 2026-05-15* Le **portail invité** désigne ici la consultation d'un EDT par une personne qui n'a pas de compte Omniscol sur l'établissement. Le cas courant est le lien public signé : une URL limitée à un périmètre précis, ouverte en lecture seule. #### Modes d'accès Selon le besoin, choisissez entre : - **Lien public signé** — une URL contenant un jeton secret donne accès à un EDT précis (un élève, une classe, une salle, un professeur) sans authentification. Pratique pour partager avec un parent : un seul lien, pas de mot de passe à retenir. Voir [Liens de partage publics](#page-portal.share-links). - **Compte Omniscol limité** — si la personne doit avoir un accès durable, authentifié ou multi-périmètre, créez plutôt un compte avec le rôle et les droits adaptés. Ne présentez pas ce cas comme un lien public anonyme. #### Ce que voit un invité L'invité voit l'EDT en mode **strict lecture seule** : - pas de modification possible, - pas de déclaration d'absence, - pas de saisie de disponibilités, - pas d'accès aux autres EDT que le périmètre inclus dans le lien. Le lien ouvre la vue de consultation prévue, en lecture seule. Pour un **EDT**, l'affichage est automatiquement épuré — sans le bandeau du haut ni le menu de l'application — ce qui donne une page centrée sur le seul calendrier. Cet habillage correspond au paramètre `raw=true` de l'URL : posé d'office sur les liens d'EDT, optionnel sur les autres écrans, et qu'un utilisateur averti peut ajouter à la main. Il ne change ni l'authentification ni le périmètre du lien. Certains liens de partage servent à une action ciblée plutôt qu'à une consultation : le lien de saisie des disponibilités des professeurs autorise uniquement le formulaire prévu, jusqu'à sa date d'expiration. #### Cas d'usage : parent d'élève (scolaire) Le scénario typique en collège-lycée : 1. L'administrateur (ou l'élève lui-même) génère le lien de partage de l'EDT élève. 2. Le lien est envoyé au parent par e-mail. 3. Le parent ouvre le lien : il voit l'EDT de son enfant. 4. Il peut, depuis ce même lien, s'abonner en iCal et avoir l'EDT directement dans Google Calendar / Apple Calendar. Pas de compte à créer, pas de mot de passe à gérer. #### Cas d'usage : observateur permanent Si un référent pédagogique externe doit suivre un programme pendant toute l'année, évitez le lien public anonyme par défaut. Créez un compte Omniscol limité au périmètre nécessaire, ou mettez en place un partage signé avec expiration courte et renouvellement contrôlé. #### Sécurité - Un lien public signé reste utilisable jusqu'à sa date d'expiration. Il est invalidé si le mot de passe du compte auquel il est rattaché change (ou si ce compte est désactivé) ; un lien iCal l'est aussi par la rotation de la clé d'accès de l'établissement. - Un compte Omniscol limité peut être désactivé comme les autres comptes utilisateurs. - Un accès par lien public ne doit pas être traité comme un utilisateur interne authentifié. #### Voir aussi - [Liens de partage publics](#page-portal.share-links) - [Portail étudiant](#page-portal.student-portal) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [Partager un EDT par lien public](#page-schedules.share-link) ### 10.4 Liens de partage publics *Source: `help/fr/portal/share-links.md` · id: portal.share-links · Audience: admin · Plan: standard · Updated: 2026-06-13* Un **lien de partage public** est une URL signée qui donne accès à un écran de consultation — le plus souvent un EDT — en lecture seule sans login. C'est le canal le plus simple pour diffuser un calendrier à quelqu'un qui n'a pas (et n'aura pas) de compte Omniscol : un parent, un partenaire externe, un service administratif. #### Formats proposés Selon le contexte et les droits de l'utilisateur qui partage, Omniscol peut générer plusieurs URLs signées : - **Page web responsive** — affichage navigable type portail, avec vues semaine / jour / liste. C'est ce que voit quelqu'un qui ouvre le lien dans un navigateur. - **Flux iCal (`.ics`)** — abonnement dynamique pour Google Calendar, Apple Calendar, Outlook. Voir [iCal — abonnement et lien dynamique](#page-integrations.ical). - **JSON (API)** — pour les développeurs et les intégrations machine-à-machine, quand ce format est autorisé. Ces formats ne sont pas une promesse universelle : la modale affiche les onglets réellement générés pour la sélection courante. #### Qu'est-ce qu'on peut partager ? Le partage ne se limite pas à l'écran de consultation des EDT : la même icône de partage **Partage** apparaît sur la plupart des écrans d'Omniscol. **En lecture seule**, vous pouvez partager : - l'**EDT d'une entité** — élève, classe, professeur, salle ou matière : le cas le plus courant (parents, collègues, vacataires, services techniques) ; - l'**écran EDT complet** du module **EDT** ; - les six **tableaux de bord** (professeurs, salles, ressources, matières, classes, élèves) ; - les écrans de **suivi des absences** (professeurs, classes, élèves, personnel) ; - les **tableaux de service** du module **Service du personnel** (grille, affectations, planning, feuille de présence) ; - les écrans de **visualisation**, de **réorganisation** et de **mise en page** d'un EDT ; - l'écran de détails d'un professeur ou d'un membre du personnel. **En lecture-écriture** — les deux seuls cas — vous partagez la **saisie des disponibilités** d'un professeur ou d'un membre du personnel : le lien dédié permet à la personne concernée de renseigner et de valider ses disponibilités, et d'éditer son profil, jusqu'à la date d'expiration, **sans compte ni mot de passe** Omniscol. Le lien est lié à son identité et n'est proposé que sur sa propre fiche. Les disponibilités de classe, de salle, de groupe ou de matière restent des écrans d'édition internes : elles ne se collectent pas par lien de partage. Chaque URL signée porte le périmètre demandé et une date d'expiration. #### Créer un lien de partage Depuis le module **EDT**, sélectionnez l'EDT à partager (élève, classe, salle…) puis cliquez sur l'icône de partage **Partage**. La fenêtre **Partage** qui s'ouvre propose : - **Date d’expiration** — date jusqu'à laquelle les URLs générées restent valables. - **Onglets Web, iCal et JSON** — visibles selon les formats générés pour le partage. Vous copiez ensuite l'URL voulue. La modale peut afficher un QR code pour les liens destinés à une consultation humaine. #### Limiter ou invalider un lien Le partage public ne tient pas de registre des liens émis : Omniscol ne fournit ni liste consolidée des liens déjà transmis, ni compteur d'accès, ni révocation lien par lien. L'invalidation passe donc par le compte porteur (mot de passe, désactivation) et par la date d'expiration. Pour limiter le risque : - choisissez une date d'expiration courte ; - partagez uniquement le périmètre nécessaire ; - utilisez, pour les diffusions d'équipe, un **compte de service identifié** plutôt qu'un compte personnel ; - en cas de diffusion non souhaitée, changez ou réinitialisez le mot de passe du compte porteur, ou désactivez ce compte si nécessaire. Le changement de mot de passe invalide les liens portés par ce compte, même si le nouveau mot de passe est identique en clair, car le hash stocké change. La désactivation ou suppression du compte porteur coupe également l'accès. #### Sécurité - L'URL contient un jeton signé et difficile à deviner. - Le lien expose **uniquement les écrans inscrits dans son jeton**, pas le reste du compte. Pour un **EDT d'entité** (et pour tout flux **iCal**), le filtre est figé dans le jeton : le destinataire reste cantonné à cette entité — un parent disposant du lien de l'EDT de son enfant ne peut pas atteindre l'EDT d'un autre élève. Un partage d'**écran EDT complet**, en revanche, reflète les **droits du compte qui l'a généré** : pour une diffusion externe ciblée, partagez l'EDT de l'entité précise plutôt que l'écran entier. - La validité est bornée par la date d'expiration. - La validité dépend aussi du compte porteur : changement de mot de passe, désactivation ou suppression invalident les liens associés. - Toute personne qui possède l'URL peut consulter le périmètre partagé jusqu'à expiration ou invalidation. #### Intégrer un EDT dans une page (iframe) **Aujourd'hui, ce n'est pas possible sur un autre site.** Pour se protéger du détournement de clic, Omniscol interdit d'être affiché dans un cadre (`iframe`) hébergé sur un autre domaine que le sien. Si vous essayez d'intégrer un EDT dans votre ENT, votre intranet ou votre site public, le navigateur **refuse** d'afficher le cadre. Ce verrou de sécurité est posé par Omniscol et ne se change pas depuis le compte de l'établissement. La seule exception, rare en pratique, est une page servie sur exactement le même domaine que votre instance Omniscol. Pour diffuser quand même un EDT sur un site externe, trois solutions simples : - **un lien** vers l'URL de partage : le lecteur ouvre l'EDT dans un nouvel onglet, sans cadre intégré ; - **un abonnement iCal**, pour que l'EDT apparaisse dans l'agenda de la personne (Google Agenda, Outlook…) — voir [iCal — abonnement et lien dynamique](#page-integrations.ical) ; - **un panneau d'affichage**, pour un écran public dans les locaux — voir [Panneau d'affichage](#page-panels.lobby-panel). #### Procédure — Créer un lien parents avec expiration 1. **Pour partager l'EDT d'une classe avec les parents** sans leur créer de comptes : un lien public signé, limité dans le temps. 2. **Ouvrez l'EDT cible** dans le module **EDT** : sélectionnez la classe concernée. L'icône de partage **Partage** se trouve dans le bandeau de titre de la vue. 3. **Fenêtre de partage** : choisissez la **date d’expiration**. Pour un partage parents, utilisez au maximum la fin de la période scolaire concernée. 4. **Copiez le format utile.** Web pour une consultation directe, iCal pour un abonnement agenda, JSON uniquement si une intégration API est prévue. Omniscol peut aussi afficher un QR code pour une diffusion imprimée. 5. **Transmettez le lien** par le canal prévu : réunion parents, newsletter, ENT, intranet ou message ciblé. 6. **Si le lien circule hors du cercle voulu**, créez un nouveau lien plus limité puis invalidez les liens portés par l'ancien compte si nécessaire : changement de mot de passe, désactivation ou suppression du compte porteur. #### Voir aussi - [Portail invité (parents, observateurs)](#page-portal.guest-portal) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [Partager un EDT par lien public](#page-schedules.share-link) --- ## 11. Panneaux d'affichage ### 11.1 Configurer un panneau d'affichage pour un hall ou un couloir *Source: `help/fr/panels/lobby-panel.md` · id: panels.lobby-panel · Audience: admin · Plan: standard · Updated: 2026-05-12* Un **panneau d'affichage** est une page web à charger en plein écran dans un navigateur, sur un téléviseur, un moniteur ou une tablette, pour diffuser au public de l'établissement les cours et les évènements du jour. C'est le module à utiliser pour un écran d'accueil, un écran dans un couloir, devant un laboratoire ou face à un amphithéâtre : le contenu dépend uniquement de ce que vous filtrez, pas du lieu où l'écran est posé. Vous pouvez créer autant de panneaux que vous voulez, chacun avec son propre filtre et sa propre URL d'accès. #### Créer un nouveau panneau Dans le module **EDT**, le bouton **Panneau d'affichage** ouvre l'écran de configuration. La liste de gauche montre les panneaux existants ; le bouton **Ajouter** (vert) crée un nouveau panneau vide. Vous pouvez aussi **dupliquer** un panneau existant avec **Dupliquer**, ce qui est plus rapide si vous gérez une flotte d'écrans qui partagent leur charte graphique. Chaque panneau porte un **Intitulé**, pour le retrouver dans la liste, et un **Titre****, affiché en haut de l'écran public. Les deux peuvent différer : `Hall principal — campus A` côté administration, `Bienvenue à l'École X — campus A` côté écran. #### Filtrer les séances affichées Le filtre principal — la propriété **Montrer** — choisit ce qui passe à l'écran. Quatre axes complémentaires : - **Niveaux** — toutes les classes d'un niveau d'un coup (par exemple toutes les classes de 6e). - **Classes** — sélection explicite d'une ou plusieurs classes. - **Sites** — toutes les salles d'un site (utile pour un écran posé dans le hall d'un site précis). - **Salles** — sélection explicite d'une ou plusieurs salles (utile pour un panneau qui couvre une aile de bâtiment). Filtre vide = toutes les séances. C'est le bon défaut pour un écran de hall central qui doit montrer ce qui se passe partout dans l'école. Une seconde liste — **Masquer** — permet d'exclure ponctuellement des séances du flux retenu : - **Matières** à cacher (par exemple ne pas afficher l'EPS si elle se déroule loin du bâtiment principal), - **Types de cours** à cacher (par exemple cacher les examens qui ne doivent pas être annoncés au public). Filtre et masque se cumulent : on garde tout ce qui matche le filtre, puis on retire ce qui matche le masque. #### Régler la plage horaire affichée La propriété **Plage horaire** contrôle combien de séances en avant le panneau montre : - **Fin de la journée** (défaut) — défile sur les séances en cours et à venir aujourd'hui (la séance en cours reste affichée jusqu'à son heure de fin). Approprié pour un écran qui sert toute la journée. - **fenêtre glissante** — par paliers de 30 min jusqu'à **+ 2 h**, puis par heure pleine jusqu'à **+ 12 h**. Le panneau ne montre que ce qui démarre dans la fenêtre choisie depuis l'heure courante. Utile pour un écran de hall très chargé où on veut éviter le mur d'information : montrer seulement les deux prochaines heures, par exemple. Le rafraîchissement est automatique côté navigateur, sans rechargement manuel ; quand l'heure courante avance, les séances passées sortent de la fenêtre et les suivantes entrent. #### Ajouter des messages temporaires La section **Informations** permet d'afficher un ou plusieurs messages texte sur le panneau, chacun avec une plage horaire propre. Cas typiques : - annoncer un évènement (`Réunion parents-professeurs en salle B204 à 17 h 30`), - prévenir d'une perturbation (`Travaux dans l'aile sud, accès par l'entrée arrière`), - diffuser un mot de bienvenue (`Bienvenue à la journée portes ouvertes`). Chaque message porte un texte libre, une heure de début et une heure de fin. En dehors de cette plage, le message disparaît automatiquement — vous n'avez pas à passer le retirer après-coup. #### Récupérer l'URL publique du panneau Une fois sauvegardé, chaque panneau a une **URL unique** à ouvrir en plein écran sur l'appareil cible. L'URL contient un hash secret qui autorise l'accès sans connexion — c'est ce qui permet à un téléviseur non authentifié d'afficher le contenu. Tant que le hash n'est pas diffusé publiquement, le panneau n'est pas accessible. Bonne pratique : ouvrir cette URL dans un navigateur en mode **kiosque plein écran** (Chrome `--kiosk`, Firefox F11), de préférence sur un mini-PC ou un boîtier de signage attaché à l'écran. Le navigateur gère seul le rafraîchissement et le défilement. #### Procédure — Créer un panneau d'affichage 1. **Un panneau d'affichage est une page web** à charger en plein écran sur un téléviseur ou un moniteur pour diffuser les cours du jour. 2. **Cliquez sur** **Ajouter** pour créer un nouveau panneau vide. Vous pouvez aussi dupliquer un panneau existant pour repartir d'une base — gain de temps si vous gérez une flotte d'écrans avec la même charte. 3. **Renseignez l'intitulé** (**Intitulé** — côté administration, pour vous y retrouver dans la liste) et le **titre** (affiché en haut de l'écran public). Par exemple : `Hall principal — campus A` côté administration, `Bienvenue à l'École X` côté écran. 4. **Choisissez le filtre des séances** dans la propriété **Montrer** : niveaux, classes, sites ou salles. Filtre vide = toutes les séances. Pour un panneau de hall central, c'est généralement vide. Pour un écran devant une salle, sélectionnez cette salle. 5. **Ajoutez éventuellement des messages temporaires** avec leur plage horaire (réunion, perturbation, accueil). En dehors de la plage, le message disparaît automatiquement de l'affichage. 6. **Sauvegardez.** Vous récupérez l'URL unique du panneau, à ouvrir en plein écran sur l'appareil cible (Chrome `--kiosk`, Firefox F11). Le rafraîchissement est ensuite automatique. #### Voir aussi - [Panneau d'affichage](#page-glossary.panel) - [Panneau devant une salle](#page-panels.room-panel) - [Personnalisation des panneaux](#page-panels.customization) ### 11.2 Configurer un panneau d'affichage devant une salle *Source: `help/fr/panels/room-panel.md` · id: panels.room-panel · Audience: admin · Plan: standard · Updated: 2026-06-13* Un **panneau devant une salle** est un cas particulier du panneau d'affichage : la configuration est la même qu'un panneau de hall, mais le filtre cible **une seule salle** au lieu d'un site ou d'un niveau. L'écran affiché à côté d'une porte ne montre que l'occupation de la salle correspondante, ce qui répond à la question que se posent les gens dans le couloir : *« qu'est-ce qui se passe dans cette salle maintenant et ensuite ? »* Cas typiques : - une porte d'amphithéâtre, - l'entrée d'un laboratoire ou d'une salle informatique, - une salle polyvalente partagée par plusieurs filières, - un studio ou un atelier (musique, design, vidéo). #### Configuration Le module **EDT** propose le même bouton **Panneau d'affichage** que pour un panneau de hall. La différence se joue dans le filtre : dans la section **Montrer**, choisissez **Salles** et sélectionnez la salle unique correspondante. Les autres réglages sont identiques au panneau de hall : - **Libellé** côté administration (par exemple `Porte B204`), **titre** côté écran (par exemple `Salle B204 — Sciences expérimentales`). - **Plage horaire** : préférez **+ 2 h** ou **+ 4 h** plutôt que toute la journée — pour une salle, l'utilisateur veut surtout savoir la séance en cours et la suivante. - **Taille de police** : **Grande** est souvent appropriée pour un écran lu à 1-2 mètres dans un couloir, plus petite si l'écran est proche. - **Messages** : pratiques pour annoncer une réservation ponctuelle (`Salle réservée pour le conseil de classe à 14 h`) ou une indisponibilité (`Salle en maintenance jusqu'à 15 h`). #### Plusieurs salles sur le même écran Si un écran couvre plusieurs salles voisines (une aile de bâtiment, les salles d'un même laboratoire), vous pouvez sélectionner plusieurs salles dans le filtre. Les séances de toutes les salles retenues sont alors **fusionnées en une seule liste triée par horaire** ; si elle dépasse l'écran, le panneau la **pagine** (défilement de pages). Il n'alterne pas salle par salle. Pour un affichage réellement distinct par salle, créez un panneau par salle — chacun a sa propre URL. Un même mini-PC peut afficher plusieurs panneaux en faisant tourner plusieurs onglets plein écran, via la fonction kiosque du navigateur ou du système (ce n'est pas un réglage Omniscol). #### URL et déploiement Chaque panneau a son URL unique, sans login, à ouvrir en mode kiosque plein écran sur l'appareil installé à côté de la porte. Le rafraîchissement est automatique, par interrogation périodique : l'affichage se re-filtre selon l'heure courante environ chaque minute, et les données sont rechargées toutes les cinq minutes — aucune action manuelle, mais la mise à jour n'est pas instantanée. #### Procédure — Créer un panneau devant une salle 1. **Un panneau devant une salle** affiche l'occupation de cette salle sur les prochaines heures. Différence avec le panneau de hall : filtre mono-salle, plage horaire courte, taille de police adaptée à une lecture de couloir. 2. Cliquez sur **Ajouter** dans le module **EDT** pour créer un nouveau panneau (ou dupliquez un panneau de hall existant et ajustez). 3. **Renseignez libellé et titre.** Libellé côté administration (`Porte B204`), titre côté écran (`Salle B204 — Sciences expérimentales`). Le titre est ce que voient les gens dans le couloir. 4. **Filtre : section Montrer → Salles**, sélectionnez **la salle correspondante**. Pour un écran qui couvre une aile (plusieurs salles voisines), sélectionnez-les toutes — leurs séances sont fusionnées en une liste triée par horaire, paginée si besoin. 5. **Réglages spécifiques porte de salle :** - **Plage horaire** : préférez `+ 2 h` ou `+ 4 h` plutôt que la journée entière — l'utilisateur veut savoir la séance en cours et la suivante. - **Taille de police** : `Grande` pour un écran lu à 1-2 m. - **Messages** : utile pour annoncer une réservation ponctuelle ou une indisponibilité. 6. **Sauvegardez.** Récupérez l'URL unique du panneau, à ouvrir en kiosque plein écran sur l'appareil installé à côté de la porte. Rafraîchissement automatique par interrogation périodique (re-filtrage chaque minute environ, rechargement des données toutes les cinq minutes). #### Voir aussi - [Panneau d'affichage](#page-glossary.panel) - [Panneau d'affichage](#page-panels.lobby-panel) - [Personnalisation des panneaux](#page-panels.customization) ### 11.3 Personnalisation visuelle des panneaux d'affichage *Source: `help/fr/panels/customization.md` · id: panels.customization · Audience: admin · Plan: standard · Updated: 2026-05-12* Les panneaux d'affichage Omniscol sont conçus pour s'intégrer visuellement à votre charte graphique. Deux niveaux de personnalisation sont possibles : (1) les réglages **dans l'interface** (suffisants pour la majorité des cas), (2) le **remplacement complet** de la page web qui rend le panneau (pour les déploiements à forte identité visuelle). #### Réglages dans l'interface Dans le module **EDT**, le bouton **Panneau d'affichage** ouvre l'écran de configuration des panneaux. Cet écran expose les options de rendu suivantes, modifiables sans toucher au code : - **Taille de police** — petite, moyenne ou grande. L'affichage utilise des unités relatives à la taille de la fenêtre (`vmin`), donc la lisibilité reste cohérente quel que soit le format de l'écran (`16:9`, `4:3`, vertical). - **Couleurs** — couleur de fond, couleur du texte, couleurs des lignes paires et impaires de la grille des séances. Tous les codes hexadécimaux sont acceptés ; vous pouvez calquer la palette de votre charte. - **Bandeau de tête** — combinaison ordonnée de : **titre**, **logo**, **date du jour**. Vous choisissez ce qui apparaît en en-tête et dans quel ordre. - **Colonnes de la grille** — sélection et ordre parmi : **salle**, **classes**, **professeurs**, **matière**, **horaires**. Cacher une colonne (par exemple les professeurs pour un panneau public à l'entrée) ou la réordonner est immédiat. - **Format du nom des professeurs** — prénom-nom, nom-prénom, titre + nom (Mme Durand), titre + prénom. Les titres `M.` et `Mme` suivent automatiquement la langue de l'interface ; ce qui se règle par panneau, c'est le **format** retenu. - **Logo** — le logo de l'établissement chargé dans la configuration de l'école peut être affiché dans le bandeau de tête. Ces réglages sont enregistrés dans la configuration du panneau. Attention : contrairement aux séances et aux messages, qui se rafraîchissent seuls, ces options **visuelles** (couleurs, taille, colonnes, bandeau, format des noms) sont intégrées à la page au moment où elle se charge. Après les avoir sauvegardés, **rechargez les onglets** déjà ouverts sur les écrans (F5 ou redémarrage de la page kiosque) pour qu'ils prennent le nouveau rendu. #### Remplacement complet du gabarit (licence MIT) Le gabarit qui rend la page d'affichage est explicitement sous **licence MIT** et peut être copié puis adapté pour personnaliser un panneau d'établissement. Cela ouvre plusieurs scénarios pour les établissements qui veulent aller au-delà des réglages : - **Refonte visuelle complète** — réécrire le HTML/CSS du gabarit pour coller à une charte graphique forte (police propriétaire, animations spécifiques, mise en page non standard). - **Intégration dans un signage existant** — embarquer le contenu d'un panneau Omniscol dans une page d'affichage globale qui multiplexe cours, météo, actualités de l'école, vidéos… - **Vues métier spécifiques** — créer un affichage par exemple pour les surveillants (qui doit faire quoi), pour un service technique (occupation des salles avec besoins matériels), etc. Pour cela, deux approches complémentaires : 1. **Fork du gabarit** — si vous auto-hébergez Omniscol, dupliquez `panel.dot`, modifiez-le, et déployez votre version. La licence MIT autorise explicitement les modifications, les redistributions et les usages commerciaux. 2. **API JSON du panneau** — si vous voulez garder Omniscol comme source de données mais rendre l'affichage côté tiers, l'URL du panneau expose aussi une variante JSON (`GET /panels/:accesshash/lessons`). Elle renvoie la liste des séances filtrées selon la configuration du panneau, prêtes à être consommées par un système de signage tiers (Yodeck, Xibo, ScreenCloud, un tableau de bord maison). Cette URL s'ouvre avec la clé d'accès du panneau, sans jeton supplémentaire. Pour des intégrations système à système plus larges, l'API REST Omniscol est décrite dans [API Omniscol](#page-integrations.api-tokens). #### Recommandations pratiques Quelques points qui reviennent souvent dans les déploiements : - **Contraste** — un fond sombre + texte clair est plus reposant pour un écran qui tourne 12 h par jour qu'un fond blanc. - **Police taille « Grande »** dès que l'écran est lu à plus de 2 m (typique d'un hall d'entrée). Garder « Moyen » pour les écrans de porte de salle, vus de plus près. - **Logo dans le bandeau de tête** — toujours utile pour l'identification rapide quand plusieurs panneaux coexistent dans un grand campus. - **Date dans le bandeau de tête** — utile en hall (les visiteurs vérifient la date), moins utile devant une salle (le contexte est évident). - **Cacher la colonne professeurs** sur les panneaux publics si votre établissement a des règles internes sur l'affichage nominatif. #### Procédure — Calquer la charte de l'école sur un panneau 1. **Deux niveaux de personnalisation** : (1) réglages dans l'interface (suffisants 90 % du temps), (2) remplacement complet du gabarit MIT pour les chartes fortes. 2. **Ouvrez la configuration du panneau** dans le module **EDT**, via le bouton **Panneau d'affichage**. L'écran montre les options de rendu : couleurs, taille, bandeau de tête, colonnes, format des noms. 3. **Calez les couleurs sur votre charte** : couleur de fond, couleur du texte, couleurs des lignes paires/impaires. Codes hexadécimaux acceptés. Pour un écran 12h/jour, préférez **fond sombre + texte clair** (plus reposant). 4. **Bandeau de tête** : choisissez l'ordre de **logo**, **titre**, **date**. Logo utile dès qu'il y a plusieurs panneaux sur un campus. Date utile en hall, dispensable devant une salle. 5. **Colonnes de la grille** : sélectionnez et réordonnez parmi salle, classes, professeurs, matière, horaires. Pour un panneau **public à l'entrée** où votre règlement interdit l'affichage nominatif, masquez la colonne **professeurs**. **Format des noms** (si conservé) : prénom-nom, nom-prénom, titre+nom, titre+prénom. 6. **Taille de police** : grande dès que lu à plus de 2 m (hall), moyenne pour porte de salle (vue de près). Unités relatives en `vmin` — la lisibilité reste cohérente quel que soit le format de l'écran. 7. **Sauvegardez, puis rechargez les écrans.** Ces réglages visuels sont intégrés à la page au chargement : rechargez (F5) les onglets déjà ouverts sur les panneaux pour qu'ils prennent le nouveau rendu. **Pour aller plus loin** (refonte complète, intégration signage tiers Yodeck/Xibo/ScreenCloud) : le gabarit `panel.dot` est sous **licence MIT**, fork autorisé. La variante JSON de l'URL du panneau (`GET /panels/:accesshash/lessons`) expose la donnée prête à consommer par un système externe, avec la clé d'accès du panneau. Pour l'API REST plus large, voir [API Omniscol](#page-integrations.api-tokens). #### Voir aussi - [Panneau d'affichage](#page-panels.lobby-panel) - [Panneau devant une salle](#page-panels.room-panel) - [Panneau d'affichage](#page-glossary.panel) - [API Omniscol](#page-integrations.api-tokens) --- ## 12. Migration depuis un autre logiciel ### 12.1 Migration depuis un autre logiciel — Vue d'ensemble *Source: `help/fr/migration/overview.md` · id: migration.overview · Audience: admin · Updated: 2026-05-10* Vous arrivez sur Omniscol depuis un autre logiciel de gestion d'EDT ? Plusieurs voies existent selon le logiciel d'origine et la richesse de l'export disponible. #### Approches disponibles ##### 1. Importeurs de format natif Pour deux logiciels, Omniscol lit directement le fichier d'export natif, sans passer par un tableur intermédiaire : vous sélectionnez le ou les fichiers depuis l'écran Import / Export (l'import UnDeuxTEMPS, en plusieurs fichiers `.DBF`, se trouve dans la section des formats français). | Logiciel d'origine | Format lu directement | Page dédiée | | --- | --- | --- | | ASC Timetables | fichier XML aSc | [Depuis aSc Timetables](#page-migration.from-asc) | | UnDeuxTEMPS | fichiers UDT (`.DBF`) | [Depuis UnDeuxTEMPS](#page-migration.from-undeuxtemps) | Pour les autres logiciels (Hyperplanning, EDT / Pronote, ADE), la reprise passe par l'**import massif** par tableur décrit au point 2 : vous exportez vos données depuis le logiciel d'origine, vous les mettez en forme dans un tableur, puis vous les importez. Chaque page ci-dessous détaille les correspondances et les pièges propres au logiciel concerné : - [Depuis Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [Depuis EDT / PRONOTE (Index Education)](#page-migration.from-edt) - [Depuis ADE / ADE Campus](#page-migration.from-ade) > **Aurion et Auriga** sont des **ERP** (gestion administrative > scolaire), et non des logiciels de planning. Omniscol s'y > interface mais ne les remplace pas. Voir > [Connecteur Aurion](#page-integrations.aurion) et > [Connecteur Auriga](#page-integrations.auriga) pour les modes > d'intégration. ##### 2. Import tableur générique Si votre logiciel d'origine n'a pas d'importeur natif, ou si vous préférez maîtriser la mise en forme : extrayez vos données dans un tableur (Excel, Google Sheets, Numbers, Calc) et utilisez l'**import massif** d'Omniscol. Voir [Import massif des cours via tableur](#page-timetables.mass-import). ##### 3. API directe Pour une migration **automatisée** (par exemple si vous voulez synchroniser pendant une période de transition entre deux logiciels), vous pouvez écrire un script qui pousse les données via l'API Omniscol. Voir [API Omniscol](#page-integrations.api-tokens). ##### 4. Reprise manuelle Pour les petits établissements ou les migrations partielles, la saisie manuelle reste possible. Comptez quelques heures à quelques jours selon la taille. #### Stratégie de migration recommandée 1. **Cartographier vos données** — avant tout, faites l'inventaire de ce que vous voulez transférer : professeurs, élèves, salles, matières, structure des classes, EDT actuel, disponibilités, absences. 2. **Décider du périmètre** — souvent, on ne transfère pas tout. Les élèves peuvent rester dans le SIS et être synchronisés ensuite. Les EDT historiques peuvent rester archivés à part. 3. **Faire un import partiel de test** — sur un sous-ensemble (une classe, une promotion) pour valider la qualité du transfert. 4. **Déterminer le calendrier** — souvent, on bascule à la **rentrée suivante** plutôt qu'en cours d'année, pour éviter de gérer la continuité. 5. **Former les utilisateurs** — Omniscol a des conventions différentes des logiciels concurrents. Prévoyez du temps de formation, surtout sur les concepts métier ([Partition de classe](#page-glossary.class-division), [Alignement de groupes](#page-glossary.alignment), [Groupe de groupes](#page-glossary.groups-of-groups)). #### Spécificités terminologiques selon le logiciel d'origine | Terme du logiciel concurrent | Équivalent Omniscol | | --- | --- | | « ressource » au sens Hyperplanning (professeur, salle, classe…) | Plusieurs entités selon le cas | | « cours » au sens EDT/Pronote (l'unité posée) | [Séance / Leçon](#page-glossary.lesson) | | « cours » au sens pédagogique (matière de classe) | [Cours](#page-glossary.course) | | « bâtiment » | Tag ou bâtiment sur la [Salle](#page-glossary.classroom) | | « formation » dans le supérieur | [Classe](#page-glossary.class) ou ensemble de classes | | « UE / EC / ECUE » | [Matière](#page-glossary.subject) avec convention de nommage | #### Voir aussi - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Import massif des cours via tableur](#page-timetables.mass-import) - [API Omniscol](#page-integrations.api-tokens) - [FAQ — cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) - [FAQ — cas particuliers et configurations avancées](#page-faq.edge-cases) ### 12.2 Migrer depuis Hyperplanning (Index Education) *Source: `help/fr/migration/from-hyperplanning.md` · id: migration.from-hyperplanning · Audience: admin · Updated: 2026-06-30* Hyperplanning (Index Education) est l'outil de gestion d'EDT le plus répandu dans l'enseignement supérieur français. Migrer vers Omniscol demande de reprendre vos données existantes (utilisateurs, structures, EDT en cours) et de les adapter aux concepts Omniscol. Cette page synthétise les correspondances et les pièges connus. #### Ce qui se transpose directement | Hyperplanning | Omniscol | | --- | --- | | Promotion (tronc commun) | Classe | | Partition d'une promotion | Groupes disjoints ; **partition** si ces groupes partagent le même créneau (TD/TP simultanés) | | TD (issu d'une partition) | Groupe d'une partition | | Option | Groupe | | Regroupement | Groupe de groupes (ou alignement entre classes/promotions différentes) | | Cours | Cours (et ses séances) | | Matière / module (UE, EC) | Matière (souvent personnalisée) | | Calendrier / périodes | Mode calendrier (EDT daté, Premium) ; fenêtres de dates pour l'inclusion/exclusion de périodes | | Salle | Salle (spécialisation à reprendre) | | Intervenant extérieur / vacataire | Professeur marqué « externe » (option Premium) | #### Ce qui demande de l'attention - **Alignements** : dans Hyperplanning, faire suivre un même cours à des TD ou options de plusieurs promotions en même temps passe par un **cours commun** (souvent monté à l'aide d'un regroupement). Quand ce cours partagé impose le même créneau, la même salle et le même professeur à des groupes de classes différentes, c'est l'**alignement** Omniscol. Voir [Alignements de groupes](#page-core-concepts.alignments). - **Regroupements** : un regroupement Hyperplanning réunit plusieurs groupes pour suivre un même cours ; dans Omniscol, c'est un **groupe de groupes** (disponible sur toutes les offres). Voir [Groupes de groupes](#page-core-concepts.groups-of-groups). Selon le cas, un regroupement entre classes ou promotions différentes peut aussi relever de l'**alignement** ci-dessus. - **Cours associés** (alternance demi-groupes) : Omniscol gère cela nativement via les **cours associés**. Voir [Cours complexes](#page-core-concepts.complex-lessons). - **Service d'enseignement** : la continuité pédagogique (mêmes ressources d'une séance à l'autre) se reproduit en gardant le même professeur et la même salle sur les séances d'un cours — il n'y a pas d'entité dédiée. - **Cours sur calendrier** : si vous utilisez Hyperplanning en mode calendrier pour des modules à dates précises, Omniscol couvre les mêmes besoins avec son [mode calendrier](#page-timetables.calendar-mode), inclus dans l'offre Premium. - **Hyperplanning vs Aurion** : si votre établissement utilise Hyperplanning **et** Aurion, la migration concerne uniquement le planning ; Aurion continue à alimenter la structure administrative. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Procédure 1. **Récupérer les données** depuis Hyperplanning vers un tableur — listes des intervenants, étudiants, salles et cours. Selon votre version, cela se fait par copier-coller d'une liste ou par son export ; reportez-vous à la documentation Hyperplanning. 2. **Préparer les fichiers Omniscol** au format d'import : utilisateurs CSV, cours CSV. Voir [Préparer ses données pour un import massif](#page-getting-started.preparing-data). 3. **Créer un compte Omniscol bac-à-sable** pour tester l'import sans risque. 4. **Importer en plusieurs passes** : - utilisateurs (professeurs, étudiants), - classes et groupes, - matières, - cours via l'[import massif tableur](#page-timetables.mass-import). 5. **Reconstruire les cours complexes** (alignements, associés, alternés) à la main si l'import les a aplatis. 6. **Vérifier le diagnostic** et corriger les incohérences détectées. 7. **Lancer une génération de test** pour valider la faisabilité. 8. **Snapshot** avant de basculer vers le compte de production. #### Migrer les utilisateurs en douceur Bonne pratique : importer les utilisateurs dans Omniscol en mode **inactif** d'abord. Vous validez les données, vous basculez la configuration (SSO si applicable), et vous activez les comptes en une seule passe quand tout est prêt. Cela évite que les utilisateurs reçoivent une invitation prématurée. #### Ce qui ne se migre pas - **Historique de Hyperplanning** au-delà des EDT en cours — pour conserver l'historique, gardez Hyperplanning en lecture seule en archive plutôt que de tout migrer. - **Personnalisations visuelles** Hyperplanning — refaites-les dans Omniscol selon votre charte. Voir [Personnalisation des panneaux](#page-panels.customization). #### Procédure — Migration Hyperplanning → Omniscol 1. **Migrer depuis Hyperplanning** : la séquence en 8 passes suit l'ordre export → préparer → bac-à-sable → import multi-passe → correction des cours complexes → diagnostic → génération test → bascule. 2. **Passe 1 — Récupération depuis Hyperplanning** : sortez les listes (intervenants, étudiants, salles, cours) vers un tableur. Selon la version, par copier-coller d'une liste ou par son export — voir la documentation Hyperplanning. Plus c'est propre côté source, plus c'est rapide ensuite. 3. **Passe 2-3 — Préparer + bac-à-sable** : adaptez les colonnes au canevas Omniscol (voir [Préparer ses données](#page-getting-started.preparing-data)). Créez un **compte Omniscol bac-à-sable** pour tester l'import sans risque sur la production. 4. **Passe 4 — Import multi-passe** dans l'ordre : **utilisateurs** → **classes et groupes** → **matières** → **cours** via [import massif](#page-timetables.mass-import). L'ordre compte : les cours référencent les classes et professeurs, qui doivent préexister. 5. **Passe 5 — Cours complexes** : alignements (cours communs à plusieurs promotions côté Hyperplanning → alignements Omniscol), associés (alternance demi-groupes), alternés A/B. L'import les aplatit souvent — reconstruisez à la main via les icônes complexes sur la carte du cours. 6. **Passe 6-7 — Diagnostic + génération test** : laissez tourner le diagnostic, corrigez les incohérences. Lancez une **génération auto** pour vérifier la faisabilité globale avant de migrer en production. 7. **Passe 8 — Bascule** : créez un **snapshot** avant de basculer. Activez les comptes utilisateurs (importés en inactif jusqu'ici). Publiez. Gardez Hyperplanning en lecture seule comme archive — la migration n'emporte pas l'historique au-delà des EDT en cours. Si vous avez aussi **Aurion** : la migration concerne uniquement le planning, Aurion reste source administrative. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Voir aussi - [Vue d'ensemble de la migration](#page-migration.overview) - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Import massif des cours via tableur](#page-timetables.mass-import) - [Synchronisation avec des systèmes externes](#page-integrations.extsync) ### 12.3 Migrer depuis EDT / PRONOTE (Index Education) *Source: `help/fr/migration/from-edt.md` · id: migration.from-edt · Audience: admin · Updated: 2026-06-30* **EDT** et **PRONOTE** (Index Education) sont les outils les plus répandus dans l'enseignement secondaire français — collèges et lycées, publics comme privés. Le duo couvre l'emploi du temps (EDT) et la vie scolaire — notes, bulletins, cahier de texte (PRONOTE). Migrer vers Omniscol concerne d'abord la partie emploi du temps ; pour la vie scolaire avancée (notes, bulletins, communications parents), PRONOTE peut rester en parallèle. #### Le chemin le plus direct : l'export STSweb EDT construit ses structures à partir de **STSweb** : les **services** (un enseignant assure un volume horaire d'une matière dans une classe) viennent de STSweb et y remontent en fin de préparation. C'est une bonne nouvelle pour la migration, car **Omniscol importe directement un export STSweb** (fichier STS) depuis l'écran [Import et export](#page-admin.import-export). Cet import reconstitue d'un coup les données de structure : établissement (code UAI), année scolaire, **matières**, **niveaux** (MEF) et leur grille horaire réglementaire, **classes** (divisions), **groupes**, **enseignants**, et les **services** — qui deviennent des **cours** Omniscol. Le détail des formats français pris en charge est décrit sur [Formats français](#page-admin.french-formats). Le tableur reste utile pour ce que STSweb ne porte pas (salles, regroupements particuliers, souhaits fins) : voir l'import massif ci-dessous. #### Ce qui se reprend autrement - **Salles, sites distants** : STSweb ne décrit pas finement les salles. Reprenez-les au tableur ou ressaisissez-les, puis reconstituez les sites. Pour un ensemble de salles interchangeables (l'équivalent d'un « groupe de salles » EDT), utilisez une **spécialisation** partagée que le solveur respectera. Voir [Spécialisations de salles](#page-core-concepts.classroom-specializations). - **Souhaits et indisponibilités des enseignants** : la granularité diffère de celle d'EDT ; prévoyez une re-saisie (envoi des liens de saisie avant la rentrée) ou un import approximatif à ajuster. - **Vacances et calendrier scolaire** : ils se définissent dans le paramétrage de l'année scolaire (gabarit pays ou saisie), pas via l'export. #### Ce qui reste à PRONOTE Omniscol ne reprend pas (et vous pouvez les laisser à PRONOTE) : - notes, évaluations, bulletins, compétences ; - cahier de texte, devoirs ; - vie scolaire au sens large (communications parents, sondages) ; - les absences peuvent rester dans PRONOTE, ou être suivies dans Omniscol si vous préférez les y basculer. #### Correspondances principales | EDT / STSweb | Omniscol | | --- | --- | | Classe (division) | Classe | | Partie de classe | Groupe ; **partition** pour la relation d'exclusivité au même créneau | | Groupe (besoins, spécialités, option, langue) | Groupe (intra-classe) ; alignement ou groupe de groupes si inter-classes | | Service (STSweb) | Cours (les séances en découlent au placement) | | Matière | Matière | | Salle / groupe de salles | Salle ; pool interchangeable = salle non fixée (affectation auto) ou spécialisation partagée | | Site distant | Site (avec temps de trajet) | | Souhait / indisponibilité enseignant | Disponibilités (vœux) ; niveau « impossible » (noir) pour une indisponibilité | | Alternance Q1 / Q2 (quinzaines) | Semaines alternées A / B | | Permanence / CDI | Service du personnel (surveillance) + un « cours d'étude » pour le groupe sans cours | #### Procédure 1. **Récupérer l'export STSweb** (fichier STS) de l'établissement — c'est la source officielle des structures et des services. 2. **Importer le fichier STS** dans un compte Omniscol bac-à-sable, depuis [Import et export](#page-admin.import-export). La structure (établissement, année, matières, niveaux, classes, groupes, enseignants, services → cours) se reconstitue d'un coup. Voir [Formats français](#page-admin.french-formats). 3. **Compléter au tableur** ce que STSweb ne porte pas (salles, spécialisations, regroupements particuliers) via l'import massif. Voir [Import massif des cours via tableur](#page-timetables.mass-import) et [Préparer ses données pour un import massif](#page-getting-started.preparing-data). 4. **Vérifier l'alternance des semaines** : la convention Q1/Q2 d'EDT doit correspondre aux semaines alternées **A/B** d'Omniscol. 5. **Reprendre les souhaits et indisponibilités** des enseignants — re-saisie ou import approximatif à ajuster. 6. **Lancer le diagnostic** Omniscol, puis une génération de test. 7. **Snapshot** avant de basculer vers le compte de production. #### Cohabitation EDT + Omniscol pendant la transition Pendant une période transitoire (souvent un trimestre), il est fréquent de garder PRONOTE pour la vie scolaire et de basculer l'emploi du temps sur Omniscol. PRONOTE reçoit normalement son emploi du temps depuis EDT ; si vous souhaitez continuer à y afficher des emplois du temps gérés ailleurs, vérifiez avec Index Education ce que PRONOTE sait consommer — ne présumez pas qu'un flux externe sera repris tel quel. #### Migration scolaire typique Cas standard d'un collège ou d'un lycée passant d'EDT à Omniscol : - export STSweb en juin, - import et tests Omniscol pendant l'été, - bascule à la rentrée de septembre, - PRONOTE conservé pour la vie scolaire si l'établissement le souhaite. #### Procédure — Migration scolaire type juin → septembre 1. **Le cas type d'un établissement** qui bascule d'EDT/PRONOTE vers Omniscol : export en juin, tests pendant l'été, bascule à la rentrée. PRONOTE conservé pour la vie scolaire si souhaité. 2. **Juin — Export STSweb** : récupérez le fichier STS de l'établissement (la source officielle des structures et services). À défaut, exportez les listes d'EDT (cours, services, classes) vers un tableur — selon votre version, par export de listes ou copier-coller ; voir la documentation EDT. 3. **Juillet — Compte bac-à-sable Omniscol** : importez le fichier STS depuis [Import et export](#page-admin.import-export) (voir [Formats français](#page-admin.french-formats)). La structure se reconstitue d'un coup. Vous testez sans pression : si quelque chose ne convient pas, vous itérez tranquillement. 4. **Août — Compléter au tableur** ce que STSweb ne porte pas (salles, spécialisations de salles, regroupements) via l'import massif (voir [Import massif des cours via tableur](#page-timetables.mass-import)). Alignez l'**alternance des semaines** (Q1/Q2 d'EDT → A/B d'Omniscol). 5. **Août — Souhaits et disponibilités** des enseignants : la granularité diffère. Prévoyez soit une **re-saisie** (envoi des liens de saisie avant la rentrée), soit un **import approximatif** à ajuster ensuite. 6. **Fin août — Diagnostic** Omniscol pour repérer les incohérences (matières manquantes, conflits, disponibilités non transposées). Lancez une **génération de test** sur les semaines de rentrée pour valider la faisabilité. 7. **Septembre — Bascule** : snapshot avant, puis publication des emplois du temps. **PRONOTE conservé** pour la vie scolaire si vous le souhaitez. #### Voir aussi - [Vue d'ensemble](#page-migration.overview) - [Depuis Hyperplanning (Index Education)](#page-migration.from-hyperplanning) - [Formats français](#page-admin.french-formats) - [Import massif des cours via tableur](#page-timetables.mass-import) ### 12.4 Migrer depuis aSc Timetables *Source: `help/fr/migration/from-asc.md` · id: migration.from-asc · Audience: admin · Updated: 2026-06-30* **aSc Timetables** (Slovaquie) est un logiciel de génération d'emplois du temps ancien et très répandu, notamment dans les établissements internationaux et plusieurs pays d'Europe centrale. Bonne nouvelle : Omniscol lit et écrit directement le fichier natif d'aSc Timetables, sans tableur intermédiaire ni remappage manuel des structures. #### Un fichier, dans les deux sens aSc Timetables enregistre un emploi du temps dans un fichier **XML** (format « aSc Timetables 2012 »). Omniscol sait : - **lire** ce fichier pour reconstituer un emploi du temps complet (classes, groupes, professeurs, matières, salles, cours) ; - **réécrire** un fichier du même type à partir d'un emploi du temps Omniscol, pour le rouvrir dans aSc ou Edupage (solution de vie scolaire du même éditeur). Tout se fait depuis l'écran [Import et export](#page-admin.import-export), sans manipulation technique : pour exporter, le bouton Exporter au format aSc (.xml) ; pour importer, vous sélectionnez simplement le fichier XML produit par aSc. L'aller-retour est **réversible** : exporter puis réimporter redonne la même structure côté Omniscol, aux conventions de nommage près. #### Ce qui se transpose Repris automatiquement à la lecture du fichier : - **Classes** et leurs **groupes** (y compris les divisions pour les TP). - **Matières** avec leurs codes. - **Salles** avec leur capacité. - **Professeurs** (nom, prénom, coordonnées). - **Cours** (matière, volume, professeur) et leurs **séances** posées (jour, créneau, salle). - **Récréations et pauses** de la journée. - **Semaines alternées** (A/B) si elles sont configurées dans aSc. #### Ce qui demande un coup d'œil après import - **Contraintes complexes** propres à aSc (contraintes de séquence, salle conditionnelle, anti-chaînage très spécifique) : Omniscol les convertit au mieux, mais certaines règles s'expriment autrement et méritent une relecture. La salle conditionnelle relève plutôt des [Spécialisations de salles](#page-core-concepts.classroom-specializations) ; les autres, des [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) et des [Contraintes horaires (système général)](#page-core-concepts.time-constraints). - **Cours partagés par plusieurs classes** (une matière commune à plusieurs classes) : convertis en [Groupes de groupes](#page-core-concepts.groups-of-groups). Vérifiez que le résultat correspond à votre intention. - **Renommage et aller-retour** : Omniscol ne conserve pas les identifiants internes d'aSc ; lorsqu'il réécrit un fichier aSc, il reconstruit les correspondances à partir des entités, en particulier de leur **nom**. En pratique, si vous comptez ré-exporter vers aSc, évitez de renommer entre-temps les classes, professeurs et matières, sinon les correspondances se décalent. #### Procédure 1. **Dans aSc** : enregistrez votre emploi du temps au format **XML** (version 2012 ou la plus proche proposée par votre aSc). 2. **Créez un compte Omniscol bac-à-sable** pour tester sans risque. 3. **Importez le fichier** depuis l'écran [Import et export](#page-admin.import-export) : sélectionnez le fichier XML aSc, puis validez. 4. **Lisez le diagnostic** Omniscol pour repérer les incohérences (cours sans salle, disponibilités non transposées, etc.). 5. **Ajustez les contraintes complexes** qui n'auront pas pu être converties automatiquement. 6. **Lancez une génération de test** pour vérifier que les contraintes produisent un résultat conforme à ce que vous aviez sous aSc. 7. **Faites un snapshot** avant de basculer vers le compte de production. #### Continuer à alimenter aSc en parallèle Si vous gardez aSc le temps d'une transition, l'export inverse permet de continuer à le nourrir depuis Omniscol — utile, par exemple, quand des établissements partenaires consultent encore aSc. Le fichier produit se rouvre dans aSc Desktop (version 2012 ou ultérieure). #### Points d'attention - **Caractères accentués** : si certains accents ressortent mal après un aller-retour, c'est une question d'encodage de fichier. L'export Omniscol utilise par défaut l'encodage attendu par aSc Desktop ; vérifiez simplement qu'un nom accentué survit à l'aller et au retour. - **Moteurs de génération différents** : aSc et Omniscol n'ont pas le même profil de solveur. Un emploi du temps qui se générait facilement dans aSc peut demander quelques ajustements dans Omniscol, et inversement. - **Versions d'aSc** : la lecture vise le format 2012. Des versions plus anciennes peuvent ne pas être directement compatibles — passez alors par un enregistrement au format 2012 depuis aSc Desktop. #### Procédure — Aller-retour XML aSc ↔ Omniscol 1. **Omniscol lit et écrit le fichier natif d'aSc Timetables 2012** : aller-retour direct, sans tableur intermédiaire. 2. **Côté aSc** : enregistrez l'emploi du temps au format **XML 2012** (ou la version la plus proche) et conservez le fichier sur votre poste. 3. **Côté Omniscol bac-à-sable** : ouvrez [Import et export](#page-admin.import-export) et sélectionnez le fichier XML aSc. L'import reconstitue classes, groupes, matières, salles, professeurs, cours, semaines alternées et récréations. 4. **Vérifiez le diagnostic** : cours sans salle, disponibilités non transposées, cours multi-classes convertis en [Groupes de groupes](#page-core-concepts.groups-of-groups). Rappel : pour un aller-retour propre, ne renommez pas classes, professeurs et matières si vous comptez ré-exporter — Omniscol s'appuie sur leur nom pour reconstruire les correspondances. 5. **Ajustez les contraintes complexes** propres à aSc (séquences, anti-chaînage très spécifique) : la conversion fait au mieux, certaines règles s'expriment autrement dans Omniscol. Voir [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability). 6. **Lancez une génération de test** dans Omniscol pour vérifier que le résultat est conforme. ⚠ aSc et Omniscol n'ont pas le même profil de solveur ; un emploi du temps facile dans aSc peut demander des ajustements dans Omniscol, et réciproquement. 7. **Export inverse** (si vous gardez aSc en parallèle) : bouton Exporter au format aSc (.xml) dans [Import et export](#page-admin.import-export). Le fichier se rouvre dans aSc Desktop 2012+ ; l'aller-retour préserve la structure (pertes mineures sur les conventions de nommage uniquement). #### Voir aussi - [Vue d'ensemble](#page-migration.overview) - [Import et export](#page-admin.import-export) - [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) - [Groupes de groupes](#page-core-concepts.groups-of-groups) ### 12.5 Migrer depuis ADE / ADE Campus *Source: `help/fr/migration/from-ade.md` · id: migration.from-ade · Audience: admin · Updated: 2026-06-30* **ADE** (éditeur Adesoft), souvent utilisé dans sa version web **ADE Campus**, est répandu dans l'enseignement supérieur, en particulier les universités et les grandes écoles. ADE est **centré sur l'activité** (le « cours session ») et se synchronise fréquemment avec le système d'information de l'établissement (Apogée, Pegase, Aurion, UNIT4…). Le passage à Omniscol concerne d'abord la planification ; la synchronisation avec votre système d'information reste à reconfigurer côté Omniscol. #### Périmètre Ce qui se transpose : - **programmes** (PGE, CPGE, BBA…) et leurs groupes (groupes utilitaires, demi-promos) ; - **intervenants** (permanents, non permanents, vacataires) ; - **activités** (cours sessions) avec leur type, leur durée et leur nombre de répétitions ; - **salles et équipements** (par bâtiment et niveau, avec leur capacité) ; - **disponibilités et indisponibilités** des ressources. ADE et Omniscol ont des modèles globalement compatibles, mais les conventions de nommage diffèrent. Prévoyez un mapping initial. #### Correspondances | ADE (ADE Campus) | Omniscol | | --- | --- | | Programme (PGE, CPGE, BBA…) | Plusieurs classes (une **promotion**/année = une classe) | | Groupe utilitaire / demi-promo | Groupe ; **partition** si deux demi-promos suivent des séances différentes au même créneau | | Intervenant | Professeur | | Activité (cours session) | Cours (et ses séances) | | Typologie d'activité (CM, TD, TP…) | Type de cours | | Modalité (présentiel, distanciel…) | Modalité (attribut Premium) | | Plafond / inscrits | Effectif théorique — pas de plafond distinct (la limite de places vient de la capacité de salle) | | Salle / équipement (bâtiment, niveau, capacité) | Salle (site, capacité) ; seul l'équipement **mobile** devient une ressource | | Disponibilité / indisponibilité (échelle couleurs) | Disponibilités (vœux) : 4 niveaux — impossible / indésirable / préféré / neutre | | Association d'activités | Selon le lien : alignement, concaténation ou cours associés | | Code CURSUS / UNIT4 | Identifiant externe (trace de la synchro SI) | #### Procédure 1. **Récupérer les données** depuis ADE — programmes, intervenants, salles, activités. ADE présente les données en **listes configurables** (vues Listing, choix des colonnes) que vous pouvez imprimer ou exporter vers un tableur via le menu **Impression**. 2. **Préparer les fichiers Omniscol** à partir de ces exports (voir [Préparer ses données pour un import massif](#page-getting-started.preparing-data)). 3. **Importer depuis un tableur** dans un emploi du temps de test (voir [Import massif des cours via tableur](#page-timetables.mass-import)). 4. **Reconstituer les liens** : alignements (les associations d'activités côté ADE), alternances, partitions de demi-promos — ADE et Omniscol n'utilisent pas exactement les mêmes primitives. 5. **Lancer une génération de test**. #### Points d'attention - **ADE planifie sur des dates précises** : la vue **Placement** (semaine, jour, début, fin) et la barre des semaines font d'ADE un outil de type calendrier. Pour retrouver ce comportement, utilisez le mode calendrier Omniscol, inclus dans l'offre Premium (voir [Mode calendrier](#page-timetables.calendar-mode)). - **Demi-promos et groupes utilitaires** : un programme se découpe souvent en groupes utilitaires et en demi-promos. Côté Omniscol, les demi-promos correspondent à une **partition** de la classe ; pensez la granularité des groupes au démarrage. - **Salles imposées ou « au choix »** : dans ADE, une salle peut être imposée à une activité ou laissée au choix du moteur. Côté Omniscol, une salle imposée est conservée telle quelle par l'algorithme ; pour une salle « au choix », laissez la séance sans salle précise — l'algorithme en choisit une sur le site, en respectant la capacité et l'éventuelle **spécialisation** requise (un ensemble de salles interchangeables se modélise par une spécialisation partagée). Voir [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) et [Attribution automatique des salles](#page-timetables.auto-room-assignment). - **Disponibilités graduées** : ADE gère des disponibilités à plusieurs niveaux (du vert au rouge, plus une couche dynamique). Omniscol utilise des **disponibilités (vœux)** à 4 niveaux (impossible, indésirable, préféré, neutre) — reprenez surtout les extrêmes (impossible et préféré), les niveaux intermédiaires se retravaillent ensuite. - **Responsable pédagogique** : ADE attache un responsable pédagogique à chaque activité. Omniscol ne porte pas ce rôle au niveau du cours ; conservez l'information par une convention de nommage ou un mémo si elle vous est utile. - **Flux iCal** : ADE publie souvent les emplois du temps en flux iCal. L'import Omniscol ne lit pas l'iCal ; un export iCal devra d'abord être converti en tableau. - **Synchronisation au système d'information** : si ADE était synchronisé avec votre SI (Apogée, Pegase, Aurion, UNIT4…), vous devrez reconfigurer cette synchronisation côté Omniscol — souvent via l'API ou la synchronisation avec des systèmes externes. Le champ **Code CURSUS / UNIT4** d'ADE en est la trace côté source. Voir [Synchronisation avec des systèmes externes](#page-integrations.extsync). #### Procédure — Migration ADE → Omniscol (supérieur) 1. **ADE (Adesoft), souvent en version ADE Campus**, est répandu dans le supérieur. La migration concerne d'abord la planification ; la synchronisation avec le système d'information (Apogée, Pegase, Aurion, UNIT4) reste à reconfigurer côté Omniscol. 2. **Récupération des données ADE** : programmes, intervenants, salles, activités (avec type, durée, répétitions, plafond). ADE présente ces données en listes configurables (vues Listing) que l'on imprime ou exporte via le menu **Impression**. Un flux iCal devra d'abord être converti en tableau (l'import ne lit pas l'iCal). Si vous planifiez sur dates précises, conservez aussi cet aspect. 3. **Mapping initial** : ADE et Omniscol ont des modèles compatibles mais des conventions de nommage différentes. Préparez les fichiers selon le canevas Omniscol (voir [Préparer ses données pour un import massif](#page-getting-started.preparing-data)). Pensez la granularité des **groupes étudiants** (demi-promos, groupes utilitaires) au démarrage — c'est le point délicat en supérieur. 4. **Import depuis un tableur** dans un emploi du temps de test : intervenants, programmes, matières, salles, puis activités (voir [Import massif des cours via tableur](#page-timetables.mass-import)). Le tableur des cours ne comporte pas de colonne d'identifiant externe ; pour les rapprochements futurs avec votre système d'information, prévoyez plutôt la synchronisation externe (voir [Synchronisation avec des systèmes externes](#page-integrations.extsync)). 5. **Reconstitution des liens** : alignements multi-programmes (les **associations** d'activités côté ADE), alternances, partitions de demi-promos. Reprenez aussi les salles laissées « au choix » en laissant l'algorithme les assigner (via une spécialisation partagée si besoin). ADE et Omniscol n'utilisent pas exactement les mêmes primitives — comptez sur une passe manuelle de finition. Si ADE planifiait sur dates précises, utilisez le **mode calendrier** Omniscol (inclus en Premium) pour préserver ce comportement (voir [Mode calendrier](#page-timetables.calendar-mode)). 6. **Génération de test** Omniscol pour valider la faisabilité. Diagnostic, corrections, itération. Plus vous testez avant la bascule, moins vous corrigez après. 7. **Reconfiguration du système d'information** : si ADE était synchronisé avec Apogée, Pegase, Aurion ou UNIT4, vous devrez reconfigurer cette synchronisation côté Omniscol via l'API (voir [API Omniscol](#page-integrations.api-tokens)) ou la synchronisation avec des systèmes externes (voir [Synchronisation avec des systèmes externes](#page-integrations.extsync)). Pour Aurion spécifiquement, voir [Connecteur Aurion](#page-integrations.aurion) — 3 modes possibles. #### Voir aussi - [Vue d'ensemble](#page-migration.overview) - [API Omniscol](#page-integrations.api-tokens) - [Synchronisation avec des systèmes externes](#page-integrations.extsync) - [Mode calendrier](#page-timetables.calendar-mode) ### 12.6 Migrer depuis UnDeuxTEMPS *Source: `help/fr/migration/from-undeuxtemps.md` · id: migration.from-undeuxtemps · Audience: admin · Updated: 2026-06-30* **UnDeuxTEMPS** (anciennement 1-2-3 Temps) est un outil de planification utilisé dans une partie de l'enseignement supérieur français, notamment pour les formations à fort tutoriel / travaux pratiques. Migrer demande une attention particulière à la décomposition des cours et aux concepts de groupes. #### Périmètre À reprendre : - classes / groupes (souvent finement décomposés), - professeurs et services, - matières, - salles avec leurs caractéristiques, - cours et leurs récurrences, - contraintes spécifiques (équipement, suivi pédagogique). #### Import direct du format UDT Omniscol lit directement le **format UDT** d'UnDeuxTEMPS : depuis le module **Administration**, l'écran d'import et d'export reprend un emploi du temps à partir des fichiers `.DBF` de l'export (au minimum `UDTCOURS.DBF` ; `UDTREGR.DBF` et `UDTREM.DBF` sont optionnels). Cet import reconstitue les cours, les professeurs, les classes, les salles et les horaires. La décomposition fine des groupes et les rotations de travaux pratiques demandent ensuite une reprise manuelle : la suite de cette page décrit cette transposition. #### Spécificités UnDeuxTEMPS à transposer UnDeuxTEMPS gère parfois des **rotations de groupes** complexes (par exemple un groupe d'étudiants tourne sur 4 ateliers TP en 4 semaines). Selon le rythme, le concept Omniscol équivalent est : - pour une **permutation de deux demi-groupes** sur des créneaux consécutifs, les **cours associés** ; - pour une rotation **étalée sur plusieurs semaines** (A, B, C…), les **cours alternés** (voir [Cours complexes](#page-core-concepts.complex-lessons)) ; - pour des rotations **atypiques** qui ne suivent pas un rythme hebdomadaire (dates fixes sur le semestre), le **mode calendrier** (inclus dans l'offre Premium, voir [Mode calendrier](#page-timetables.calendar-mode)). #### Procédure 1. **Import du format UDT** : reprenez l'emploi du temps à partir des fichiers `.DBF` (cours, professeurs, classes, salles, horaires) pour la base de la structure. 2. **Export complémentaire** vers Excel ou CSV (selon la version) pour les éléments non couverts par le format UDT, notamment la décomposition fine des groupes. 3. **Conversion vers les formats Omniscol** : - décomposition des groupes selon votre logique pédagogique, - mapping des UE vers matières Omniscol, - reconstruction des rotations en cours associés ou en calendrier selon le cas. 4. **Import progressif** sur compte bac-à-sable. 5. **Vérification des rotations** par les responsables pédagogiques. 6. **Diagnostic + génération de test**. #### Points d'attention - **Rotations de TP** : la conversion n'est pas toujours mécanique. Documentez la logique de rotation côté UnDeuxTEMPS et alignez sur les primitives Omniscol au cas par cas. - **Étudiants par parcours** : si les étudiants suivent plusieurs parcours simultanés (typique en supérieur), profitez de la migration pour clarifier la modélisation côté Omniscol via les groupes libres ou les groupes de groupes. #### Procédure — Migrer une rotation de TP UnDeuxTEMPS 1. **Le cas délicat UnDeuxTEMPS** : les rotations de groupes sur plusieurs ateliers TP. Le concept n'a pas de transposition mécanique vers Omniscol — c'est soit des cours associés, soit du mode calendrier. 2. **Récupération des données** : l'import du format UDT (fichiers `.DBF`) reprend les professeurs, les salles, les cours et leurs récurrences. Complétez par un export Excel ou CSV pour la structure des groupes (souvent finement décomposée) et les matières (UE/modules), que la rotation des travaux pratiques mobilise. 3. **Arbitrage rotation** : une **permutation de deux demi-groupes** sur créneaux consécutifs → **cours associés** ; une rotation **étalée sur plusieurs semaines** (A, B, C…) → **cours alternés** (voir [Cours complexes](#page-core-concepts.complex-lessons)) ; une rotation **atypique** sur dates fixes du semestre → **mode calendrier** (voir [Mode calendrier](#page-timetables.calendar-mode)). 4. **Conversion des fichiers** vers le canevas Omniscol : décomposition des groupes selon votre logique pédagogique, mapping UE → matières Omniscol, reconstruction des rotations dans la primitive choisie à l'étape précédente. 5. **Import progressif** sur compte bac-à-sable. Professeurs et matières d'abord, puis classes et groupes, puis cours. Les rotations demandent une attention manuelle après import : l'import des cours les reconstitue rarement parfaitement. 6. **Vérification par les responsables pédagogiques** : la rotation des TP fait partie de la logique métier. Les coordinateurs UE doivent valider que la conversion correspond à leur intention avant le passage en production. 7. **Pour les étudiants suivant plusieurs parcours simultanés** (cas fréquent en supérieur), profitez de la migration pour clarifier la modélisation côté Omniscol : **groupes libres** pour les inscriptions ouvertes, **groupes de groupes** pour les parcours composites. Diagnostic + génération de test avant bascule. #### Voir aussi - [Vue d'ensemble de la migration](#page-migration.overview) - [Cours complexes](#page-core-concepts.complex-lessons) - [Mode calendrier](#page-timetables.calendar-mode) - [Import massif des cours via tableur](#page-timetables.mass-import) ### 12.7 Migrer depuis un tableur Excel maison *Source: `help/fr/migration/from-spreadsheet.md` · id: migration.from-spreadsheet · Audience: admin · Updated: 2026-05-12* Beaucoup d'établissements — surtout les petites structures, les écoles privées, les formations courtes — gèrent encore leur EDT dans un tableur Excel maison. Migrer vers Omniscol est dans ce cas particulièrement simple : pas de format propriétaire à décoder, juste un peu de discipline pour structurer les données. #### Avant de commencer : faire le tri Un tableur d'EDT cumule souvent plusieurs « onglets » de natures différentes : la liste des professeurs, celle des classes, celle des matières, la grille de l'EDT, des notes diverses. Avant l'import, clarifiez : - la **liste des professeurs** (un onglet propre), - la **liste des élèves** (un onglet propre, si elle existe), - la **liste des classes** et de leurs effectifs, - la **liste des salles**, - les **cours** : pour chaque ligne, classe, matière, professeur, salle, jour, heure, durée. Si votre tableur ne sépare pas ces informations, faites-le maintenant — c'est de toute façon nécessaire pour l'import. #### Format d'import attendu L'import se fait par **copier-coller** depuis votre tableur (Excel, Google Sheets, Numbers, Calc…), dans un canevas de colonnes documenté. Les colonnes sont reconnues par leur **position** (vous réorganisez le canevas pour qu'il colle à votre fichier), pas par le nom de l'en-tête. Voir [Préparer ses données pour un import massif](#page-getting-started.preparing-data) pour les détails (ordre des colonnes, formats de dates, codes matières, etc.). Pour les cours, l'[Import massif des cours via tableur](#page-timetables.mass-import) est l'outil dédié : vous **copiez-collez** directement les lignes de votre tableur dans une zone éditable, avec une structure ligne = cours. #### Procédure 1. **Nettoyer** le tableur source : enlever les colonnes inutiles, harmoniser les libellés (un professeur ne doit pas apparaître avec trois orthographes différentes). 2. **Préparer un onglet par type d'entité** : professeurs, élèves, classes, salles, cours — vous collerez chaque onglet à son tour. 3. **Compte Omniscol de test** pour valider l'import sans risque. 4. **Imports successifs**, en commençant par les référentiels (professeurs, salles, matières) avant les cours qui s'y réfèrent. 5. **Vérifier le diagnostic** Omniscol pour détecter ce qui n'a pas été correctement interprété. 6. **Lancer une génération de test** (même si vous gardez le placement manuel de votre tableur) pour valider la faisabilité. #### Avantages de la migration - **Un seul outil** réunit le tableur, les PDF d'EDT et les mises à jour qui circulaient par e-mail. - **Mise à jour en temps réel** : chacun voit la dernière version dès qu'elle change. - **Diffusion automatique** : iCal, panneaux d'affichage, portails élèves et professeurs. - **Diagnostic** : Omniscol détecte les conflits que votre tableur laisse passer. #### Garder le tableur en lecture seule pour archive Pas besoin de supprimer votre tableur historique. Gardez-le en lecture seule en archive (par exemple sur un dossier partagé) — il peut servir si vous voulez retrouver une configuration ancienne. Omniscol devient alors la source de vérité opérationnelle ; le tableur reste un témoignage historique. #### Procédure — Migrer un EDT Excel maison 1. **Le cas le plus simple** : un EDT géré dans un Excel maison. Pas de format propriétaire à décoder, juste de la discipline pour structurer les données avant import. 2. **Avant l'import — faire le tri** dans le tableur source. Si votre fichier mélange professeurs, classes, salles, cours sur le même onglet, séparez d'abord en onglets thématiques : professeurs, élèves, classes, salles, cours. 3. **Nettoyez** chaque onglet : pas de colonnes inutiles, **harmonisez les libellés** (un professeur ne doit pas apparaître sous trois orthographes différentes), supprimez les lignes fusionnées. Une ligne = une entité. 4. **Compte de test Omniscol** : créez un compte de test avant de toucher à la production. Vous validez les imports sans risque. 5. **Imports successifs**, dans l'ordre des dépendances : **référentiels d'abord** (professeurs, salles, matières), **cours ensuite** (qui s'y réfèrent). Utilisez l'[Import massif des cours via tableur](#page-timetables.mass-import) pour les cours — vous y collez vos lignes directement depuis le tableur. 6. **Diagnostic** : Omniscol détecte les incohérences (cours sans salle, professeurs inconnus, conflits) que votre tableur ne voit pas. Corrigez avant de basculer. 7. **Génération de test** (optionnel — si vous voulez garder le placement manuel) pour valider la faisabilité. **Bascule** : votre ancien Excel reste en lecture seule comme archive ; Omniscol devient la source de vérité, avec diffusion automatique (iCal, panneaux, portails) et mise à jour temps réel. #### Voir aussi - [Vue d'ensemble](#page-migration.overview) - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Import massif des cours via tableur](#page-timetables.mass-import) --- ## 13. Spécificités enseignement supérieur ### 13.1 Spécificités enseignement supérieur — vue d'ensemble *Source: `help/fr/higher-ed/overview.md` · id: higher-ed.overview · Updated: 2026-06-13* L'enseignement supérieur, la formation continue et les centres de formation ont des contraintes très différentes du primaire et du secondaire. Cette section rassemble les pages qui couvrent ces spécificités. #### Caractéristiques typiques - **Mode [calendrier](#page-glossary.calendar-mode)** plutôt qu'hebdomadaire — les enseignements sont rarement récurrents toute l'année, les séances sont plutôt datées une par une. - **Intervenants externes nombreux** — vacataires, professeurs invités, experts. Voir [Intervenants externes](#page-higher-ed.external-faculty). - **Promotions parallèles** plutôt que classes uniques — un master peut avoir plusieurs parcours qui partagent certains cours, des spécialisations en commun mais des projets en propre. - **Co-enseignement** fréquent (binômes, double expertise). - **Examens multi-salles** (amphithéâtres dédoublés). Voir [Examens multi-salles](#page-higher-ed.multi-room-exams). - **Liens visioconférence par cours** (cours hybride, distanciel partiel). Voir [Liens de visioconférence par cours](#page-higher-ed.videoconference-links). - **Étudiants en redoublement ou hors-cursus** à gérer. #### Recommandations de configuration - **Compte [Premium](#page-overview.plans-and-options)** — il inclut le mode calendrier, les disponibilités datées, plusieurs EDT actifs et les **évènements ponctuels** (soutenances, jurys, portes ouvertes). La qualification distanciel / hybride des séances — leur **[modalité](#page-glossary.lesson-modality)** — en fait aussi partie ; le **lien de visioconférence** seul reste disponible sur tous les comptes. - **Mode calendrier** pour le ou les EDT principaux, indispensable dans la plupart des cas du supérieur. - **Plusieurs EDT actifs en parallèle** si vous mélangez cours récurrents et cours ponctuels, ou si votre établissement couvre plusieurs facultés indépendantes, ou s'il s'agit d'un groupe d'écoles. - **Groupes de groupes** pour les regroupements évolutifs. - **Saisie des disponibilités en mode calendrier** — disponibilités saisies date par date par les intervenants, consolidées en temps réel. - **API + intégrations** avec votre SIS ou ERP — souvent [la synchronisation avec des systèmes externes](#page-integrations.extsync) dans les écoles de commerce et d'ingénieurs. Elle synchronise les entités (professeurs, salles) et le catalogue de l'offre, et remonte les séances comme interventions vers le système central, source de vérité de l'établissement. #### Vocabulaire Ce que les écoles supérieures appellent **maquette pédagogique**, **plaquette**, **programme** ou **syllabus** correspond, côté Omniscol, à l'**ensemble des [cours](#page-glossary.course)** d'une classe ou d'une formation — chaque cours étant une matière typée, affectée à une classe, avec son volume horaire et ses contraintes. Ses **[séances](#page-glossary.lesson)** en sont les occurrences planifiées. Les autres termes du supérieur désignent des entités Omniscol plus génériques, documentées au glossaire : **apprenant** et **participant** renvoient à l'[étudiant](#page-glossary.student) ; **intervenant**, **vacataire**, **professeur permanent** et **expert** au [professeur](#page-glossary.teacher) ; **promotion**, **session** et **cohorte** à la [classe](#page-glossary.class). #### Cas d'usage du supérieur - [FAQ — cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) - [FAQ — cas particuliers et configurations avancées](#page-faq.edge-cases) #### Voir aussi - [Mode calendrier](#page-glossary.calendar-mode) - [Groupes de groupes](#page-core-concepts.groups-of-groups) - [Intervenants externes](#page-higher-ed.external-faculty) - [Examens multi-salles](#page-higher-ed.multi-room-exams) - [Liens de visioconférence par cours](#page-higher-ed.videoconference-links) ### 13.2 Sessions, promotions, programme, parcours *Source: `help/fr/higher-ed/sessions-and-tracks.md` · id: higher-ed.sessions-and-tracks · Updated: 2026-05-12* Dans l'enseignement supérieur, la structure pédagogique est moins linéaire que dans le scolaire. Un étudiant appartient à une **promotion** (sa cohorte temporelle), mais aussi à des **parcours** ou **programmes** (sa spécialisation) et à des **groupes** de TD ou de TP. Il suit parfois plusieurs cohortes en même temps (mineure, double-cursus). Cette page synthétise comment Omniscol modélise ces situations. #### Promotion = classe Omniscol La **promotion** (familièrement « promo ») correspond à la classe Omniscol au sens administratif, par exemple *« L3 Informatique 2026 »* ou *« M2 Finance 2025-2027 »*. C'est l'entité qui rassemble la cohorte d'étudiants entrée à la même session. Les classes sont nommées sans ambiguïté, avec date d'entrée pour les gros cursus : - `L1 SI 2026` — Licence 1 Sciences pour l'Ingénieur, entrée 2026, - `M1 Marketing 2026-2028` — Master 1, deux ans. #### Parcours et spécialisations Un **parcours** est une orientation pédagogique au sein d'une promotion ou transverse à plusieurs : *« option Data »*, *« mineure Entrepreneuriat »*, *« double-diplôme XYZ »*. Modélisation Omniscol selon la complexité : - **Parcours simple** dans une promotion — un **groupe** au sein de la classe (par exemple `L3-Info 2026-Parcours Data`). - **Parcours transverse** à plusieurs promotions — un **groupe de groupes** qui rassemble les groupes correspondants de plusieurs classes. Voir [Groupes de groupes](#page-core-concepts.groups-of-groups). - **Double-cursus** (étudiants suivant deux parcours complets) — cas particulier où un même étudiant reçoit **deux affectations de classe** sur l'année. C'est l'exception à la règle générale selon laquelle deux classes ne partagent pas d'apprenants. #### Sessions Une **session** est une période d'enseignement définie : un semestre, un trimestre, un module intensif de 2 semaines. Omniscol gère les sessions via : - les **plages de publication** des EDT (un EDT par session, publié sur les semaines correspondantes), - les **années scolaires** (une année scolaire peut couvrir plusieurs sessions). Pour les formations courtes ou non-récurrentes (séminaires, modules de formation continue), préférez le **mode calendrier** (inclus dans le plan Premium) à la grille hebdomadaire classique. Voir [Mode calendrier](#page-higher-ed.calendar-mode). #### Étudiants à parcours atypique Cas fréquents en supérieur : - **Redoublants** qui valident certaines UE et pas d'autres. - **Étudiants en mobilité** (Erasmus, échange) — affectés à une classe d'accueil avec ajustements de parcours. - **Étudiants en apprentissage** — alternent semaines école / semaines entreprise ; rythme modélisé via les semaines alternées ou via un EDT calendrier dédié. #### Voir aussi - [Vue d'ensemble](#page-higher-ed.overview) - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Groupes de groupes](#page-core-concepts.groups-of-groups) - [Mode calendrier](#page-higher-ed.calendar-mode) ### 13.3 Intervenants externes (vacataires, visiting) *Source: `help/fr/higher-ed/external-faculty.md` · id: higher-ed.external-faculty · Audience: admin · Updated: 2026-06-13* L'enseignement supérieur fait largement appel à des **intervenants externes** : vacataires sectoriels, professionnels qui interviennent ponctuellement, professeurs invités d'autres établissements (visiting). Leur gestion est différente de celle des permanents : peu d'heures, planning subi par l'école plutôt que choisi, parfois contractualisation à l'heure. #### Marquer un intervenant comme externe Dans la fiche professeur ([Gérer les professeurs](#page-admin.teachers)), l'interrupteur **Professeur externe** (disponible avec le plan Premium) permet de distinguer les vacataires des permanents. Le marqueur a deux effets concrets : - une **icône** [user-tie] devant le nom de l'intervenant dans les listes et les infobulles des séances, - une **colonne dédiée** dans les vues tableau et les exports tableur, pour isoler les vacataires (par exemple pour suivre les heures faites par des permanents vs des externes). #### Saisie des disponibilités La disponibilité d'un vacataire est souvent **calendaire** plutôt qu'hebdomadaire : il accepte d'intervenir le mardi 12 mars et le mardi 19 mars, mais pas tous les mardis. Pour ce cas, la saisie des [disponibilités en mode calendrier](#page-timetables.calendar-wishes), incluse dans le plan Premium, est la solution naturelle. Sans le plan Premium, saisissez des **disponibilités hebdomadaires** approximatives (mardi après-midi) puis verrouillez les séances une à une à la main. #### Service horaire et contractualisation Les vacataires ont en général une **enveloppe horaire** définie au recrutement (`30 heures sur l'année`, `un module de 15 heures`). Le champ **Service horaire** dans la fiche permet de tracer l'enveloppe ; le diagnostic remonte si les heures planifiées la dépassent. Pour la contractualisation à l'heure (paiement à la séance plutôt qu'au mois), l'export des statistiques par professeur alimente le processus de paie / facturation externe. #### Communication Les vacataires ont moins de connexions à l'application qu'un permanent. Trois cas d'usage : - **Compte plein** — le vacataire reçoit ses identifiants et consulte son EDT, saisit ses disponibilités, déclare ses absences depuis le portail professeur. - **Lien iCal seul** — pas de compte, juste un lien d'abonnement iCal pour synchroniser ses séances avec son agenda personnel. - **Rappel par e-mail (hors application)** — l'administrateur prévient le vacataire par e-mail avant ses interventions ; le vacataire ne se connecte jamais. Ce rappel est manuel : Omniscol n'envoie pas de notification automatique par séance. Un tel rappel se développe facilement en dehors d'Omniscol via l'API de récupération des plannings, en filtrant sur les professeurs. Un traitement hebdomadaire, par exemple, construit un résumé injecté dans un modèle propre à l'école, puis l'envoie via le service mail de l'établissement. Passer par ce service préserve la réputation d'expéditeur et limite les faux positifs anti-spam. À calibrer selon le profil (un consultant senior n'a pas le temps de gérer un n-ième compte ; un doctorant qui enseigne quelques heures s'y adaptera facilement). #### Procédure — Onboarder un vacataire 1. **Un vacataire qui intervient 15 heures sur l'année** : marquage externe, disponibilités calendaires, enveloppe horaire, mode de communication adapté. 2. **Créez la fiche professeur** dans **Professeurs**. Renseignez prénom, nom, e-mail, et activez **Professeur externe**. Le marqueur ajoute l'icône [user-tie] devant le nom et une colonne dédiée dans les vues tableau et les exports. 3. **Enveloppe horaire** : champ **Service horaire**, mettez l'enveloppe contractuelle (`15`). Le diagnostic remonte si les heures planifiées la dépassent. Pratique pour la paie à l'heure et le suivi du contrat. 4. **Disponibilités** : sur un compte Premium, le vacataire saisit ses disponibilités **date par date** via les [disponibilités en mode calendrier](#page-timetables.calendar-wishes) — convient parfaitement à un planning subi. Sinon, **disponibilités hebdomadaires approximatives** + verrouillage des séances une à une à la main. 5. **Mode de communication** — choisissez selon le profil : - **Compte plein** — pour un doctorant qui enseigne quelques heures ; identifiants, portail professeur, disponibilités, absences ; - **Lien iCal seul** — pour un consultant senior trop occupé pour un n-ième compte ; juste l'abonnement agenda ; - **Rappel par e-mail (hors application)** — l'administrateur prévient le vacataire par e-mail, à la main (Omniscol n'envoie pas de rappel automatique par séance) ; le vacataire ne se connecte jamais. 6. **Export statistiques** en fin de mois ou de semestre pour la **paie/facturation externe** : heures effectuées par séance, matière, classe. Voir [Imprimer et partager](#page-schedules.print-and-export). La colonne Externe des exports permet d'isoler les vacataires. #### Voir aussi - [Gérer les professeurs](#page-admin.teachers) - [Disponibilités au calendrier](#page-timetables.calendar-wishes) - [Vacataire](#page-glossary.external-teacher) - [Vue d'ensemble](#page-higher-ed.overview) ### 13.4 Salles dédoublées et examens multi-salles *Source: `help/fr/higher-ed/multi-room-exams.md` · id: higher-ed.multi-room-exams · Audience: admin · Updated: 2026-06-13* Dans le supérieur, certaines séances occupent **plusieurs salles simultanément**. Un examen partiel réunit une promotion de 200 étudiants répartis dans 5 amphithéâtres. Un cours magistral dédoublé se tient sur 2 amphithéâtres synchronisés en visio. Un jury mobilise 3 salles en parallèle. Omniscol gère ces cas via le concept de **multi-salles**. #### Multi-salles : principe Une séance de cours (ou un évènement) peut porter **plusieurs salles**. Toutes ces salles sont alors occupées sur le créneau, et toutes les contraintes (capacité, spécialisation, disponibilité) sont vérifiées en parallèle. Le multi-salles est disponible dans **tous les modes d'EDT** (hebdomadaire, cyclique, calendrier). Voir [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources). > _Premium_ Les scénarios d'examen et de jury ci-dessous s'appuient sur des **évènements ponctuels** (séances datées posées par-dessus la grille), disponibles sur les comptes **Premium**. Le **multi-salles** sur une séance régulière reste, lui, disponible sur tous les comptes. #### Cas d'usage typique : examen sur plusieurs salles Une promotion `L1 Info 2026` (200 étudiants) passe un partiel d'algorithmique. Aucun amphithéâtre de l'école ne fait 200 places, donc l'examen se déroule simultanément dans : - `Amphi A` (80 places), - `Amphi B` (70 places), - `Amphi C` (50 places). Modélisation Omniscol : - créer un **évènement examen** sur la date et l'horaire concernés (voir [Évènements ponctuels](#page-schedules.events)), - en participants : la classe `L1 Info 2026`, - en salles : `Amphi A`, `Amphi B`, `Amphi C` (multi-salles), - en surveillance : 1 à 3 surveillants par salle via le module **Service du personnel** (voir [Vue d'ensemble du Service du personnel](#page-staffing.overview)). Vérifiez que la capacité cumulée des amphithéâtres (80 + 70 + 50 = 200) couvre l'effectif. Pour un examen modélisé en **évènement**, Omniscol ne calcule pas ce cumul automatiquement : le diagnostic de capacité ne porte que sur les séances régulières posées sur la grille. #### Cours dédoublé en visio Un cours magistral très demandé peut être projeté en visio depuis un amphithéâtre principal vers un amphithéâtre de débordement. Modélisation : - un seul cours avec deux salles, - le professeur est physiquement dans l'amphithéâtre principal, - le **lien de visioconférence** de la séance porte l'URL de retransmission vers l'amphithéâtre secondaire (un mémo peut préciser l'organisation). #### Jury de soutenances Un jury qui auditionne 10 doctorants en parallèle dans 3 salles (rotation par tiers) : - un évènement par session de jury, - multi-salles pour chaque session, - **Service du personnel** pour les membres de jury affectés à chaque salle. #### Répartition automatique des étudiants Omniscol n'attribue pas automatiquement quel étudiant va dans quel amphithéâtre. La répartition reste une décision de l'établissement (ordre alphabétique, niveau, type d'épreuve, règles internes). Elle se fait à la main, ou via un export tableur transmis aux surveillants. #### Procédure — Programmer un partiel sur 3 amphithéâtres 1. **Le cas type du supérieur** : un partiel de 200 étudiants sur 3 amphithéâtres simultanés. Le multi-salles, l'évènement et le module **Service du personnel** suffisent. 2. **Créez l'évènement examen** : dans le module **EDT**, affichez le filtre **Évènements** (mode réorganisation) et **cliquez-glissez** sur l'agenda pour tracer le créneau daté. Titre : `Partiel algorithmique L1 Info`, puis dates et heures de début et de fin. Voir [Évènements ponctuels](#page-schedules.events). 3. **Participants** : ajoutez la classe `L1 Info 2026` (200 étudiants). Tous les étudiants concernés se retrouvent automatiquement sur l'évènement, peu importe l'amphithéâtre où ils passeront physiquement. 4. **Salles — c'est le multi-salles** : ajoutez les 3 amphithéâtres (`Amphi A` 80, `Amphi B` 70, `Amphi C` 50). Les 3 amphithéâtres sont alors occupés simultanément sur le créneau. Vérifiez vous-même que la capacité cumulée (200) couvre l'effectif (200) : sur un évènement, ce cumul n'est pas diagnostiqué automatiquement. 5. **Surveillants** : ouvrez le module **Service du personnel** et créez les tâches surveillance pour chaque amphithéâtre (1 à 3 surveillants par salle selon votre politique). Voir [Vue d'ensemble du Service du personnel](#page-staffing.overview). 6. **Répartition des étudiants entre amphithéâtres** : Omniscol ne le fait pas automatiquement. Ce choix relève de vos règles internes (ordre alphabétique, niveau, équilibrage). Exportez la liste des étudiants au format tableur, faites la répartition à la main ou selon vos règles, puis transmettez-la aux surveillants. Voir [Imprimer et partager](#page-schedules.print-and-export). #### Voir aussi - [Multi-salles](#page-glossary.multi-room) - [Modalité](#page-glossary.lesson-modality) - [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) - [Vue d'ensemble du Service du personnel](#page-staffing.overview) - [Évènements ponctuels](#page-schedules.events) ### 13.5 Co-enseignement et alternance d'intervenants *Source: `help/fr/higher-ed/co-teaching.md` · id: higher-ed.co-teaching · Audience: admin · Updated: 2026-06-13* Deux situations courantes en supérieur : - **co-enseignement** — deux professeurs (ou plus) animent ensemble la même séance. Cas typique : un théoricien + un praticien sur un cours de stratégie, un titulaire + un vacataire expert sur un cas d'études. - **alternance d'intervenants** — un cours sur une période (un module, un semestre) est assuré tour à tour par plusieurs professeurs qui se relaient. Cas typique : un module sectoriel décomposé en séances thématiques, chacune confiée à un expert différent. Les deux mécanismes sont gérés nativement par Omniscol. #### Co-enseignement (co-animation) Une séance peut porter **plusieurs professeurs simultanément**. Dans le module **Gestion des EDT**, le sélecteur professeur **Affecter des professeurs** accepte plusieurs entrées sur une même séance. Les EDT individuels des professeurs concernés affichent la séance comme co-animée. Conséquences : - Les **disponibilités** de tous les professeurs co-animateurs doivent être compatibles sur le créneau. - Côté **service**, la séance apparaît **en entier** dans l'EDT de chaque co-animateur. Si votre politique répartit l'heure au prorata entre co-animateurs, ce calcul se fait lors de l'export (paie, facturation). Voir [Cours complexes](#page-core-concepts.complex-lessons) pour le détail technique des cours co-animés. #### Alternance d'intervenants sur un module Plus complexe : 12 séances d'un module, chacune assurée par un professeur différent. Deux approches : ##### Approche A — Une matière, plusieurs cours Créez **un cours par intervenant** dans le module, chacun avec son professeur titulaire. La saisie est longue, mais le résultat reste clair côté intervenants : chacun voit ses séances dans son EDT et le module apparaît comme une matière à plusieurs cours. ##### Approche B — Mode calendrier avec dates précises Si les séances ont des dates précises connues, utilisez le [mode calendrier](#page-timetables.calendar-mode), inclus dans le plan Premium : - une matière `Module Stratégie d'entreprise`, - N séances datées avec un intervenant par séance, - l'algorithme respecte les disponibilités de chaque intervenant. Cette approche est plus compacte et naturelle pour les modules intensifs. #### Mémo pour décrire l'enchaînement Vous pouvez ajouter un **mémo** Commentaire sur chaque séance expliquant la place de la séance dans le module (`Séance 3 / 12 — Stratégie financière`). Le mémo apparaît dans les EDT et aide les étudiants à se repérer. #### Procédure — Module avec 12 intervenants en rotation 1. **Le cas du module sectoriel** : 12 séances, chacune confiée à un expert différent. On combine ici deux mécanismes : l'**approche calendrier** pour dater les séances qui se relaient, et la **co-animation** sur les seules séances assurées en binôme. 2. **Pour cette variante à dates précises** : EDT en **mode calendrier**. Tous les intervenants externes sont marqués **Externe** sur leurs fiches professeur. Voir [Intervenants externes](#page-higher-ed.external-faculty). 3. **Créez la matière unique** `Module Stratégie d'entreprise`. C'est l'enveloppe pédagogique du module. **Type de cours** adapté : souvent un mix de CM + études de cas. 4. **Saisissez les 12 séances** à dates précises, chacune avec **son intervenant**. Titre de la séance + son thème (`Séance 3/12 — Stratégie financière`) en mémo pour aider les étudiants à se repérer dans la progression. 5. **Pour les séances en binôme** (théoricien + praticien sur un cas), utilisez la **co-animation** : sur la séance concernée, sélectionnez **plusieurs intervenants** dans **Affecter des professeurs**. Les EDT individuels des professeurs concernés affichent la séance comme co-animée. 6. **Service horaire** : la séance apparaît **en entier** dans l'EDT de chaque co-animateur. Une répartition au prorata entre co-animateurs se traite lors de l'export (paie, facturation), pas dans Omniscol. 7. **Vérification** : ouvrez le portail étudiant pour vérifier l'affichage du module — les 12 séances apparaissent dans l'EDT avec leurs intervenants respectifs. Les mémos de progression (`Séance N/12`) sont visibles au survol. #### Voir aussi - [Co-enseignement](#page-glossary.co-teaching) - [Cours complexes](#page-core-concepts.complex-lessons) - [Intervenants externes](#page-higher-ed.external-faculty) - [Mode calendrier](#page-timetables.calendar-mode) ### 13.6 Mode calendrier pour formations non récurrentes *Source: `help/fr/higher-ed/calendar-mode.md` · id: higher-ed.calendar-mode · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ L'enseignement supérieur ne suit pas toujours une **récurrence hebdomadaire** : modules intensifs sur 2 semaines, séminaires de 3 jours, séances de soutenances étalées sur un mois, ateliers ponctuels animés par des intervenants extérieurs. Pour ces cas, le **mode calendrier** Omniscol est plus naturel qu'une grille hebdomadaire truffée d'exceptions. #### Quand préférer le mode calendrier Indicateurs : - les séances ont **des dates précises** plutôt qu'un créneau hebdomadaire répété, - les **intervenants varient** d'une séance à l'autre, - les **lieux varient** (sortie sur site, visite d'entreprise, visioconférence), - le **rythme** n'est pas hebdomadaire (un coup 3 séances en 2 jours, un coup rien pendant 3 semaines). Si vous décririez le module avec un calendrier plutôt qu'avec une grille hebdomadaire, le mode calendrier est fait pour vous. #### Cas d'usage typiques en supérieur - **Modules intensifs** — un séminaire de 3 jours pleins ou un intensif sur 2 semaines. - **Formation continue** — sessions ponctuelles non reconductibles dans une grille annuelle. - **Séminaires de recherche** — séances ponctuelles avec des invités différents chaque semaine. - **Soutenances et jurys** — étalés sur quelques semaines, dates précises, salles précises. - **Travaux de terrain / projets** — phases courtes, lieux variables. #### Modélisation Vous définissez **une liste ordonnée de séances datées**, sans passer par une grille hebdomadaire : - **date et heure** précises, - **durée** (libre), - **lieu**, - **intervenant** (peut varier d'une séance à l'autre), - **public** : classe(s), groupe(s), groupes de groupes. Le mode calendrier consomme la même structure de classes / groupes que le mode hebdomadaire — vous ne perdez aucun outil organisationnel. La [génération automatique](#page-timetables.generation) fonctionne aussi en mode calendrier : le solveur place les séances dans une fenêtre de dates cible et peut compacter les journées de cours en début ou en fin de période. Voir [Mode calendrier](#page-timetables.calendar-mode). #### Combinaison avec un EDT hebdomadaire Vous pouvez avoir **un EDT hebdomadaire** pour le tronc commun récurrent le matin et **un EDT calendrier** pour les séances ponctuelles l'après-midi, les deux publiés en parallèle pour les mêmes classes ; ou les premières années en hebdomadaire, et les classes de spécialisation en dernière année en calendrier (voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables)). #### Disponibilités des intervenants en mode calendrier La saisie des [disponibilités en mode calendrier](#page-timetables.calendar-wishes) est particulièrement utile ici : les vacataires saisissent leur disponibilité sur les dates exactes, pas sur un rythme hebdomadaire. #### Voir aussi - [Mode calendrier — vue produit](#page-timetables.calendar-mode) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Intervenants externes](#page-higher-ed.external-faculty) - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) - [Disponibilités en mode calendrier](#page-timetables.calendar-wishes) ### 13.7 Liens de visioconférence par cours *Source: `help/fr/higher-ed/videoconference-links.md` · id: higher-ed.videoconference-links · Audience: admin · Plan: premium · Updated: 2026-06-13* > **Premium** > _Premium_ En supérieur, beaucoup de cours sont **à distance** ou **hybrides** (certains étudiants en présentiel, d'autres connectés). Chaque séance a alors un **lien de visioconférence** (Zoom, Teams, Google Meet, Jitsi) qui doit apparaître dans l'EDT pour que tout le monde sache où cliquer. #### Comment attacher un lien Sur une séance de cours ou un évènement, le champ Lien de visioconférence accepte une URL. Pour une séance, il se renseigne dans la fenêtre de sélection de salle. Une fois renseigné, l'EDT affiche le lien avec une icône [video] ; le lien s'ouvre dans un nouvel onglet. Le lien apparaît : - dans le portail étudiant et professeur sur la séance, - dans l'export iCal via les propriétés de conférence ou d'URL lorsque le lien est présent, - dans l'API JSON. #### Cours à distance ou hybride Le champ **[Modalité](#page-glossary.lesson-modality)** de la séance qualifie son format : **En présentiel**, **À distance**, **Hybride** ou **Travail autonome**. Il se renseigne dans la même fenêtre que la salle et le lien de visioconférence. Pour un cours **intégralement à distance**, choisissez la modalité **À distance**, renseignez le lien de visioconférence et ne forcez pas de salle physique si le cours n'en mobilise pas. Pour un cours **hybride** (présentiel + visio en parallèle), choisissez **Hybride**, gardez la salle physique et renseignez aussi le lien. #### Liens permanents vs liens par séance Selon votre outil de visio : - **Lien permanent** — Zoom personnel, réunion Teams récurrente. Le même lien sert pour toutes les séances d'un cours. Saisissez-le une seule fois sur le cours (toutes ses séances en héritent), ou directement sur la classe pour appliquer un lien par défaut à toutes ses séances. - **Lien par séance** — chaque séance a sa propre URL, saisie sur la séance (dans la même fenêtre que la salle). Réservez ce cas aux séances dont le lien change à chaque fois (réunion Zoom générée à la volée, par exemple). #### Sécurité Quelques bonnes pratiques : - **Pas de lien public sur cours sensibles** — pour un cours privé / examen surveillé, configurez la salle visio en accès authentifié (et non par lien direct). - **Lien dans iCal** — l'iCal est consultable par toute personne qui a le lien de partage. Un lien visio placé sur la séance se diffuse donc via iCal — vérifiez que c'est bien ce que vous voulez. - **Renouvellement** — si un lien permanent est compromis, renouvelez-le côté Zoom / Teams et propagez la mise à jour dans Omniscol (le cours ou la classe, pas chaque séance). #### Voir aussi - [Modalité](#page-glossary.lesson-modality) - [Types de cours](#page-admin.lesson-types) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [FAQ — cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) ### 13.8 Multi-sites en enseignement supérieur *Source: `help/fr/higher-ed/multi-site.md` · id: higher-ed.multi-site · Audience: admin · Updated: 2026-06-13* Le multi-sites est une capacité **disponible dès le plan Standard** (désactivé seulement en Lite) ; les principes généraux sont décrits dans [Sites, salles, ressources, multi-salles](#page-core-concepts.sites-rooms-resources). Cette page liste les **spécificités fréquentes en enseignement supérieur** où le multi-sites est quasi la norme : écoles d'ingénieurs sur plusieurs campus, business schools en région, universités multi-sites. Attention, dans Omniscol, le [campus](#page-glossary.campus) est une notion organisationnelle distincte du [site](#page-glossary.site). Les deux se recoupent souvent (un campus par site, avec ses classes dédiées). Quand il faut gérer une grille horaire, des salles ou des temps de trajet, modélisez le lieu comme un site. > Ces cas de figure valent aussi dans le scolaire quand l'établissement est > géographiquement distribué (collège + lycée séparés, école avec > annexe maternelle, etc.). #### Cas typique : un site principal + antennes en région Cas fréquent en école d'ingénieurs ou de commerce : - 1 **site principal** (typiquement le siège), - 1 à N **antennes en région** où des promotions délocalisées suivent une partie du cursus, - des **intervenants** qui font la navette entre les sites. Modélisation Omniscol : un site par lieu, temps de trajet déclarés par paire (les TGV / vols / déplacements en voiture entre les sites). Voir [Politique multi-sites](#page-core-concepts.sites-rooms-resources) pour la mécanique exacte (contraintes bloquantes à la minute près, pause déjeuner réduite du trajet, etc.). #### EDT séparé par site ou EDT global Deux philosophies selon l'organisation interne : - **EDT global consolidé** — un seul EDT couvre tous les sites. Adapté quand les équipes planning sont centralisées et que les intervenants circulent beaucoup. Le diagnostic croise tout en une seule passe. - **Un EDT par site** — grâce aux [plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables), inclus dans le plan Premium. Chaque site a son équipe locale, son propre EDT actif sur les mêmes semaines ; à la consultation, les vues sont fusionnées dynamiquement pour les étudiants ou intervenants qui touchent à plusieurs sites. #### Sites virtuels et cours à distance Cas particulier : un cours **retransmis en visio** d'un site principal vers une promotion entièrement à distance. Modélisation possible : - créer un **site virtuel** « Distanciel » sans temps de trajet avec le site de retransmission, ce qui lève toute contrainte temporelle de déplacement, - y placer une salle « Visio » par cohorte distante, - attacher cette salle à la séance en multi-salles avec l'amphithéâtre d'origine. > Cette modélisation reste limitée si vous avez **beaucoup de > cohortes distantes** : multiplier les salles virtuelles > « Visio » devient lourd à maintenir et la gestion de leur capacité > n'a pas vraiment de sens. Dans ce cas, documentez le besoin comme > spécifique et privilégiez le lien de visioconférence directement sur la > séance (ou, en Premium, par défaut sur la classe), sans créer une salle > virtuelle par cohorte. Voir [Examens multi-salles](#page-higher-ed.multi-room-exams) pour la mécanique multi-salles, et [Liens de visioconférence par cours](#page-higher-ed.videoconference-links) pour les liens Zoom / Teams / Meet associés. #### Filtres et statistiques par site Les écrans Omniscol exposent des filtres **par site**, pour isoler un lieu physique. Utile pour : - afficher l'EDT d'un lieu précis, - piloter l'occupation salles d'une antenne séparément, - générer des statistiques par site (heures enseignées, taux d'occupation). #### Panneaux d'affichage par site Un [panneau d'affichage](#page-panels.lobby-panel) peut filtrer sur un site précis, ce qui correspond généralement à un panneau installé **dans le hall** d'un site. Voir [Configurer un panneau pour un hall ou un couloir](#page-panels.lobby-panel). #### Voir aussi - [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) - [Site](#page-glossary.site) - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) - [Examens multi-salles](#page-higher-ed.multi-room-exams) - [Liens de visioconférence par cours](#page-higher-ed.videoconference-links) - [Modalité](#page-glossary.lesson-modality) - [Configurer un panneau d'affichage](#page-panels.lobby-panel) - [Vue d'ensemble enseignement supérieur](#page-higher-ed.overview) --- ## 14. Spécificités primaire / secondaire (scolaire) ### 14.1 Spécificités primaire / secondaire — vue d'ensemble *Source: `help/fr/k12/overview.md` · id: k12.overview · Updated: 2026-06-13* Cette section rassemble les pages qui couvrent les spécificités du primaire et du secondaire (école élémentaire, collège, lycée). #### Caractéristiques typiques - **EDT [hebdomadaire](#page-glossary.weekly-timetable)** — la semaine type récurrente est la norme, avec ou sans [semaines alternées](#page-glossary.alternate-lessons) (A/B). - **Salles dédiées par classe** — beaucoup d'écoles fonctionnent avec une salle attachée à chaque classe ; ce sont les professeurs qui se déplacent. - **Demi-classes / groupes d'option** — gérés via [partitions](#page-core-concepts.class-divisions) au sein d'une même classe. - **Latinistes / hellénistes / spécialités lycée** — gérés via [alignements](#page-core-concepts.alignments) inter-classes. - **Génération automatique** — le solveur fonctionne, et c'est le cœur de la valeur dans le scolaire. - **Permanences / études** — plages où les élèves sont à l'école sans cours assigné. Voir [Permanences et études](#page-k12.study-halls). - **Classes multi-niveaux** — typique des petites écoles rurales. Voir [Classes multi-niveaux](#page-k12.multi-grade-classes). #### Recommandations de configuration - **Compte standard** suffit pour la majorité des cas (le palier Premium n'est pas nécessaire dans le scolaire standard). - **Mode hebdomadaire** par défaut. - **Activer la saisie des disponibilités des professeurs** en hebdomadaire ; la saisie peut être faite ou revue par l'administration. - **Une salle dédiée par classe** quand c'est applicable — saisi sur la classe. - **Soin sur les niveaux** dans le module **Administration**, via **Créer** (CP, CE1, CE2, …, 6e, 5e, …, Seconde, Première, Terminale, etc.). - **Vacances officielles du pays** — à la création de l'année scolaire, Omniscol propose d'importer les vacances communes du pays. Voir [Année scolaire et vacances](#page-admin.school-year). #### Cas d'usage scolaire La base historique d'Omniscol est le secondaire (collège-lycée) : beaucoup de conventions par défaut viennent de là. Les scénarios pas à pas applicables au scolaire sont regroupés dans les [scénarios de cas d'usage](#page-use-cases.overview) et la [FAQ création d'EDT](#page-faq.timetables). #### Voir aussi - [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Demi-classes et options en partition](#page-k12.half-classes-and-options) - [Permanences et études](#page-k12.study-halls) - [Classes multi-niveaux](#page-k12.multi-grade-classes) ### 14.2 Demi-classes et options en partition *Source: `help/fr/k12/half-classes-and-options.md` · id: k12.half-classes-and-options · Audience: admin · Updated: 2026-06-13* Dans le scolaire, la gestion d'une classe se complique vite avec les **demi-classes** (TP / laboratoire en effectif réduit) et les **options** qui répartissent les élèves d'une même classe en plusieurs sous-groupes simultanés. Le concept Omniscol qui structure cela est la **partition** : des sous-groupes qui doivent avoir cours en même temps mais avec des contenus différents. #### Demi-classes pour les TP Cas typique en sixième-cinquième : 28 élèves en classe entière la plupart du temps, scindés en 2 groupes de 14 pour les TP de sciences. Les deux demi-groupes doivent avoir TP en même temps (sinon ils ne pourraient pas avoir d'autre cours en parallèle), chacun avec son professeur et sa salle. Modélisation dans Omniscol : - créer deux **groupes** `6A-TP1` et `6A-TP2` dans la classe `6A`, - les déclarer en **partition** : Omniscol garantit qu'ils sont occupés simultanément, - créer **deux cours TP de sciences** avec chacun son groupe, son professeur, sa salle, sur le même créneau hebdomadaire. L'algorithme honore la partition : impossible que `6A-TP1` ait sciences pendant que `6A-TP2` est en français. #### Options en partition Cas typique en quatrième-troisième : sur un même créneau, certains élèves font Latin, d'autres Allemand renforcé, d'autres ne prennent rien (étude). Trois groupes simultanés au sein d'une même classe. Modélisation : - groupes `4A-Latin`, `4A-Allemand`, `4A-Étude` dans la classe `4A`, - déclarés en **partition** (les trois sont simultanés), - un cours par groupe sur le même créneau, avec professeur / salle propres. #### Élèves qui changent d'option en cours d'année Une option peut évoluer en cours d'année (un élève abandonne le latin pour rejoindre l'étude, par exemple). L'affectation aux groupes se gère **semaine par semaine** dans la fiche de l'élève : les semaines déjà écoulées conservent l'ancienne affectation, les semaines suivantes prennent la nouvelle. #### Partition + alignement Pour les langues qui se font en **multi-classes** (par exemple latin ouvert aux 4A, 4B, 4C), combinez : - une **partition** par classe (4A-Latin / 4A-Autre, 4B-Latin / 4B-Autre, etc.), - un **alignement** entre les trois groupes Latin pour qu'ils soient sur le même créneau, dans la même salle, avec le même professeur. Voir [Alignements de groupes](#page-core-concepts.alignments). #### Procédure — Créer un créneau Latin/Allemand/Étude pour une 4e 1. **Le cas typique 4e-3e** : sur un même créneau, certains font Latin, d'autres Allemand, d'autres rien (étude). Trois groupes simultanés. La partition Omniscol gère ça sans douleur. 2. **Créez trois groupes** dans la classe `4A` : `4A-Latin`, `4A-Allemand`, `4A-Étude`. Affectez chaque élève à son groupe selon son choix d'option. 3. **Déclarez la partition** `(4A-Latin, 4A-Allemand, 4A-Étude)` : les trois groupes sont **exclusifs et simultanés**. Omniscol garantira qu'ils sont occupés sur le même créneau. 4. **Créez trois cours** sur le même créneau hebdomadaire : - Latin pour `4A-Latin` avec professeur Latin et salle adaptée ; - Allemand pour `4A-Allemand` avec professeur Allemand ; - Étude pour `4A-Étude` avec surveillant (ou laisser sans professeur selon votre politique). Le solveur respecte la partition : les trois auront forcément le même créneau. 5. **Pour les options ouvertes à plusieurs classes** (Latin en 4A + 4B + 4C avec un seul professeur et une seule salle) : combinez **partition par classe** (`4A-Latin` exclusif des autres groupes 4A, idem 4B, 4C) **+ alignement** entre les trois groupes Latin. Voir [Alignements de groupes](#page-core-concepts.alignments). 6. **Changements en cours d'année** (un élève abandonne le latin pour rejoindre l'étude) : modifiez son appartenance de groupe dans sa fiche élève, à partir de la semaine du changement. Les semaines passées conservent l'ancienne affectation. #### Voir aussi - [Partitions de classe](#page-core-concepts.class-divisions) - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Alignements de groupes](#page-core-concepts.alignments) - [Classes multi-niveaux](#page-k12.multi-grade-classes) ### 14.3 Permanences et études (scolaire) *Source: `help/fr/k12/study-halls.md` · id: k12.study-halls · Audience: admin/staff · Updated: 2026-06-13* Les **permanences** (ou **études**) sont des plages pendant lesquelles les élèves sans cours sont accueillis en salle d'étude sous surveillance. C'est une institution typique des collèges et lycées français : les élèves dont l'option ne tombe pas, ceux qui sont exempts d'EPS, ceux dont le professeur est absent. #### Pourquoi pas juste un cours classique ? Une permanence ne se gère pas exactement comme un cours : - **pas de matière** au sens classique, - **public variable** d'un créneau à l'autre (qui n'a pas cours), - **surveillance plutôt qu'enseignement** — l'encadrant n'enseigne pas, il surveille, - **demande forte d'équité** : la charge de surveillance doit être répartie entre les professeurs (et les CPE / surveillants) selon une règle d'équité. C'est pourquoi Omniscol propose le **Service du personnel** dédié à ce type de gestion. Voir [Vue d'ensemble du Service du personnel](#page-staffing.overview). Ce module est une **option** du compte : sans lui, modélisez les permanences par un **groupe d'étude** (section ci-dessous) ; la grille de surveillance, elle, relève du module. #### Modélisation avec le **Service du personnel** Les permanences se traduisent en grilles de service : - une **grille hebdomadaire** des créneaux où des élèves peuvent être en permanence, - pour chaque créneau, un ou plusieurs **postes** de surveillance (selon le nombre d'élèves attendus et le ratio surveillant / élèves voulu), - **affectation** des surveillants (assistants d'éducation, ou professeurs disposant du rôle **Personnel**) sur chaque poste. Voir [Construire une grille de service](#page-staffing.building-grids) et [Affecter le personnel](#page-staffing.planner). #### Lien avec les EDT élèves Quand un élève n'a pas cours sur un créneau (sa classe est en option ou la moitié de classe est en TP), son EDT individuel montre simplement un **créneau libre** : Omniscol n'y affiche pas automatiquement une séance « Permanence ». Pour faire apparaître l'étude dans l'EDT des élèves concernés, créez un **cours d'étude** pour le groupe qui n'a pas cours sur le créneau, avec la salle d'étude — c'est le schéma du groupe `4A-Étude` décrit dans [Demi-classes et options en partition](#page-k12.half-classes-and-options). La couverture de la surveillance, elle, se pilote côté **Service du personnel** — voir [Vue d'ensemble du Service du personnel](#page-staffing.overview). #### Études surveillées vs études libres Distinction utile : - **Étude surveillée** — un encadrant est présent, les élèves travaillent en silence. Cas classique du **Service du personnel**. - **Étude libre** (foyer, espace de travail autonome) — pas d'encadrant dédié, simplement un lieu où les élèves peuvent attendre. Pas besoin du **Service du personnel** : modélisez-la comme une salle dédiée ; une **spécialisation de salle** peut, au besoin, empêcher les cours ordinaires d'y être placés (sans pour autant réserver la salle pour l'étude elle-même, qui n'a pas de matière). Voir [Spécialisations de salles](#page-core-concepts.classroom-specializations). #### Voir aussi - [Vue d'ensemble du Service du personnel](#page-staffing.overview) - [Construire une grille de service](#page-staffing.building-grids) - [Affecter le personnel](#page-staffing.planner) - [Demi-classes et options en partition](#page-k12.half-classes-and-options) ### 14.4 Classes multi-niveaux *Source: `help/fr/k12/multi-grade-classes.md` · id: k12.multi-grade-classes · Audience: admin · Updated: 2026-06-13* Les **classes multi-niveaux** regroupent des élèves de plusieurs niveaux dans la même salle, sous la responsabilité d'un même professeur. C'est la réalité des **petites écoles rurales** en primaire, parfois des **écoles spécialisées** ou des **écoles internationales** à effectif réduit. #### Pourquoi Omniscol gère ces cas Le modèle Omniscol — qui sépare classe (administrative) et groupes (sous-ensembles pédagogiques) — couvre nativement le multi-niveaux. La même classe administrative `CE1-CE2` peut porter deux groupes `CE1` et `CE2`, avec parfois cours commun, parfois cours séparés par niveau. #### Modélisation Deux approches selon la nature des cours dispensés : ##### Approche A — une classe administrative, deux groupes pédagogiques - Classe administrative : `CE1-CE2` (pour la gestion des élèves, la liste des parents, la salle). - Groupes pédagogiques : `CE1` et `CE2`. - Les **cours communs** (musique, sport, vie de classe) sont attribués à la classe entière `CE1-CE2`. - Les **cours séparés** (lecture / math au niveau de chaque groupe) utilisent les groupes `CE1` et `CE2`, déclarés en **partition** pour qu'ils se déroulent simultanément (le maître unique enseigne à l'un pendant que l'autre travaille en autonomie). ##### Approche B — deux classes administratives, professeur unique - Classes administratives séparées : `CE1` et `CE2`. - Le professeur unique est affecté aux cours des deux classes. - Comme un professeur ne peut pas tenir deux séances en même temps, Omniscol signale un conflit si ses séances CE1 et CE2 sont placées sur le même créneau. L'approche B est plus rare car elle complique la gestion administrative (deux classes distinctes pour ce qui est en pratique un même groupe d'élèves) et elle n'offre pas de mécanisme aussi direct que la partition pour organiser l'alternance entre niveaux. #### Triple-niveau et au-delà Le mécanisme s'étend à trois niveaux ou plus (cas des très petites écoles : CP-CE1-CE2-CM1-CM2 dans la même salle). Omniscol n'impose pas de limite numérique — la complexité vient de l'organisation pédagogique, pas de la modélisation. #### Permanences et étude Quand le professeur unique est avec un niveau, l'autre niveau travaille en autonomie dans la même salle. Pas besoin de modéliser cela comme une permanence — c'est intrinsèque au fonctionnement de la classe multi-niveaux et ce n'est pas une charge de surveillance distincte. #### Procédure — Modéliser une classe CE1-CE2 multi-niveaux 1. **Le cas type de l'école rurale** : une classe `CE1-CE2` avec un maître unique qui alterne entre les deux niveaux. Approche A (recommandée) : une classe administrative, deux groupes pédagogiques. 2. **Créez la classe administrative** `CE1-CE2` dans **Classes**. C'est elle qui porte la liste des élèves, les parents, la salle, les communications. Niveau : assignez le niveau le plus représentatif ou créez un niveau dédié `Multi-niveaux primaire`. 3. **Créez les deux groupes pédagogiques** `CE1` et `CE2` au sein de la classe. Affectez les élèves à leur groupe respectif. Les deux groupes ensemble = la classe entière. 4. **Déclarez les groupes en partition** `(CE1, CE2)` : la partition **autorise** leur placement **simultané** (elle lève le conflit qui l'interdirait autrement) et le solveur **cherche** à poser les cours du CE1 et du CE2 sur les mêmes créneaux. La salle et le professeur restent affectés cours par cours. Voir [Partitions de classe](#page-core-concepts.class-divisions). 5. **Cours communs** (musique, sport, vie de classe) : assignez-les à la classe entière `CE1-CE2`. Tous les élèves les suivent ensemble. 6. **Cours séparés par niveau** (lecture, maths) : créez un cours par groupe `CE1` et `CE2`, sur le même créneau (partition oblige). Affectez le maître au cours qu'il anime et laissez l'autre cours sans professeur (travail en autonomie) : un même professeur affecté à deux séances simultanées déclencherait un conflit. Pas besoin de modéliser une permanence, l'autonomie est intrinsèque au fonctionnement multi-niveaux. 7. **Pour les très petites écoles** (CP-CE1-CE2-CM1-CM2 dans la même salle), le mécanisme s'étend sans limite. Vous créez autant de groupes que de niveaux, déclarés en partition. La complexité vient de l'organisation pédagogique, pas de la modélisation Omniscol. #### Voir aussi - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) - [Partitions de classe](#page-core-concepts.class-divisions) - [Demi-classes et options en partition](#page-k12.half-classes-and-options) --- ## 15. Scénarios de cas d'usage ### 15.1 Scénarios de cas d'usage — vue d'ensemble *Source: `help/fr/use-cases/overview.md` · id: use-cases.overview · Updated: 2026-06-13* Cette section répond à une demande récurrente des grands établissements : disposer d'une **liste de scénarios opérationnels** au format *user story*, avec une explication concrète du « comment on fait dans Omniscol ». Chaque scénario disponible renvoie vers une page de référence ou une visite guidée existante ; les scénarios encore à l'étude sont suivis séparément et ne figurent pas dans cette liste. Les scénarios sont issus des retours réels de clients et prospects (écoles de commerce, écoles d'ingénieurs, universités, formation continue), anonymisés et formulés de manière générique. #### Format Chaque scénario suit le format Agile classique : > **En tant que** *(rôle utilisateur)* > **je veux** *(action)* > **afin de** *(objectif métier)* Suivi d'une **solution Omniscol** : texte court, lien vers la page de référence détaillée, et visite interactive uniquement lorsqu’une visite guidée fiable existe déjà. #### Statuts Chaque scénario porte un statut d'implémentation : | Statut | Signification | | --- | --- | | ✓ **Disponible** | Fonctionnalité en production, testée et validée. | | ◐ **Partiel** | Couverture incomplète ; un contournement existe ou la fonctionnalité s'applique sur certains modes seulement. | | △ **Roadmap** | Non disponible dans l'interface actuelle ; besoin identifié ou plan produit séparé. | | — **Hors-périmètre** | Pris en charge par un autre outil de l'écosystème, ou en-dehors du périmètre fonctionnel d'Omniscol. | #### Sommaire thématique - [Création et génération d'EDT](#page-use-cases.creation-and-generation) - [Placement et modification au quotidien](#page-use-cases.placement-and-modification) - [Multi-groupes, multi-salles, multi-intervenants](#page-use-cases.multi-entities) - [Opérations en masse](#page-use-cases.mass-operations) - [Examens et évènements](#page-use-cases.exams-and-events) - [Absences et remplacements (scénarios)](#page-use-cases.absences-and-substitutions) - [Reporting et statistiques](#page-use-cases.reporting-and-stats) - [Diffusion et partage](#page-use-cases.diffusion-and-sharing) #### Visites et vidéos Quand un scénario contient une visite guidée validée, le même contenu peut alimenter plusieurs surfaces : - de **popover dans le panneau d'aide** (mode interactif, l'utilisateur clique étape par étape), - de **sous-titre incrusté dans la vidéo** (mode passif, lecture linéaire), - de **fichier WebVTT** associé si une vidéo est produite. Les sous-titres sont synchronisés sur le déroulé des étapes : une seule source produit les trois formats. Un scénario sans étapes vérifiées reste une simple page de référence, sans visite guidée ni vidéo associée. #### Comment lire un scénario Une page de scénario type contient : ```markdown ## Nom court du scénario > **En tant que** **, **je veux** **, **afin de** > **. **Statut** : ✓ Disponible **Solution dans Omniscol.** Texte explicatif, court, opérationnel. [Lien vers la page de référence détaillée](id:timetables.publication) `` ``` Les scénarios statut ✓ ou ◐ sont **utilisables aujourd'hui**. Les scénarios statut △ Roadmap sont suivis séparément et ne sont pas listés ici. #### Voir aussi - [FAQ — cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) - [FAQ — cas particuliers et configurations avancées](#page-faq.edge-cases) - [Spécificités enseignement supérieur — vue d'ensemble](#page-higher-ed.overview) ### 15.2 Scénarios — Création et génération d'EDT *Source: `help/fr/use-cases/creation-and-generation.md` · id: use-cases.creation-and-generation · Updated: 2026-06-13* Création initiale, génération automatique, bac à sable, et duplication d'EDT pour tests et comparaisons. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Lancer une génération automatique d’emploi du temps > **En tant que** planificateur, **je veux** lancer une génération automatique d’emploi du temps, **afin de** produire rapidement une première base exploitable. **Statut** : ✓ Disponible **Solution dans Omniscol.** La génération automatique est disponible pour les trois types d'EDT — hebdomadaire, cyclique et calendrier. Le solveur place les séances créées et non positionnées, et peut repositionner des séances déjà placées si cela améliore le résultat, à l'exception des séances verrouillées. Si aucune solution complète n'existe, Omniscol renvoie le meilleur EDT calculé et laisse les séances restantes dans la liste des post-it non positionnés. [Génération automatique](#page-timetables.generation) #### Relancer une génération après modification de contraintes > **En tant que** planificateur, **je veux** relancer une génération après modification de contraintes, **afin de** tester différentes configurations sans repartir de zéro. **Statut** : ✓ Disponible **Solution dans Omniscol.** Ajustez les disponibilités, les contraintes ou les verrous, puis relancez la génération depuis le même écran. Les séances verrouillées conservent leur position ; les autres peuvent être repositionnées si cela améliore le résultat. Pour comparer plusieurs configurations, travaillez sur des copies de l'EDT (« Travailler sur une copie (bac à sable) d'un planning »). [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) #### Travailler sur une copie (bac à sable) d’un planning > **En tant que** planificateur, **je veux** travailler sur une copie (bac à sable) d’un planning, **afin de** faire des essais sans impacter la version officielle. **Statut** : ✓ Disponible **Solution dans Omniscol.** Dupliquez l'EDT depuis le module **Gestion des EDT** et travaillez sur la copie : tant qu'elle n'est pas activée, la version officielle reste celle que voient les utilisateurs. Activez la copie lorsqu'elle est prête. [Visualiser, dupliquer, réorganiser](#page-timetables.visualize-duplicate), [Publier (activer) un emploi du temps](#page-timetables.publication) #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) - [Génération automatique](#page-timetables.generation) - [Solveur](#page-glossary.solver) ### 15.3 Scénarios — Placement et modification au quotidien *Source: `help/fr/use-cases/placement-and-modification.md` · id: use-cases.placement-and-modification · Updated: 2026-06-13* Recherche de salles et de professeurs disponibles, positionnement et modification de séances, détection des conflits et oublis. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Trouver une salle disponible adaptée à un cours (capacité, type, site) et l'affecter > **En tant que** planificateur, **je veux** trouver une salle disponible adaptée à un cours (capacité, type, site) et l'affecter à une intervention, **afin de** positionner rapidement une séance sans conflit. **Statut** : ✓ Disponible **Solution dans Omniscol.** Le sélecteur de salle accepte une recherche textuelle et des filtres de capacité (`>20`, `<=50`, `=30`, `20-30`). Plusieurs critères séparés par un espace sont interprétés comme un ET logique ; plusieurs valeurs séparées par une virgule comme un OU logique. La même recherche accepte "ok" (vs "ko") pour ne garder que les salles libres sur le créneau. #### Trouver un professeur disponible enseignant la matière > **En tant que** planificateur, **je veux** trouver un professeur disponible enseignant la matière, **afin de** remplacer ou compléter une affectation facilement. **Statut** : ✓ Disponible **Solution dans Omniscol.** La sélection d'un professeur tient compte de la matière enseignée et de ses disponibilités. Selon l'écran, le remplacement se fait directement depuis la séance ou depuis la liste des cours. #### Identifier les créneaux disponibles pour une classe ou un groupe > **En tant que** planificateur, **je veux** identifier les créneaux disponibles pour une classe ou un groupe, **afin de** placer une séance manuellement efficacement. **Statut** : ◐ Partiel **Solution dans Omniscol.** Superposez les EDT de la classe ou du groupe dans les vues de consultation multi-entités pour repérer les créneaux libres (voir « Visualiser les emplois du temps »). #### Modifier rapidement une séance (salle, professeur, horaire) > **En tant que** planificateur, **je veux** modifier rapidement une séance (salle, professeur, horaire), **afin de** ajuster le planning en temps réel. **Statut** : ✓ Disponible **Solution dans Omniscol.** Ouvrez la séance pour changer la salle, le professeur ou l'horaire dans sa fenêtre de modification, ou repositionnez-la via son bouton punaise [thumbtack] (clic sur un créneau coloré) dans la vue planning. Une **sélection multiple** (Maj+clic sur plusieurs séances) ouvre la même fenêtre en mode groupé : repositionner, défiger ou supprimer toutes les séances retenues en une seule opération. [Modifications ponctuelles](#page-schedules.ad-hoc-changes) #### Détecter les séances sans professeur ou sans salle > **En tant que** planificateur, **je veux** détecter les séances sans professeur ou sans salle, **afin de** corriger immédiatement les oublis critiques. **Statut** : ✓ Disponible **Solution dans Omniscol.** Le diagnostic de l'EDT liste explicitement les séances positionnées sans salle et les séances sans professeur ; les vues de planning les signalent également. [Conflits et diagnostic](#page-timetables.conflicts) #### Être alerté en cas d’incohérence (absence de salle, de professeur, conflit) > **En tant que** planificateur, **je veux** être alerté en cas d’incohérence (absence de salle, de professeur, conflit), **afin de** sécuriser la qualité du planning. **Statut** : ◐ Partiel **Solution dans Omniscol.** Les incohérences sont signalées dans les diagnostics et les vues de planning : séance sans salle, sans professeur, conflits de salle, de classe ou de professeur. Le panneau de diagnostic se **filtre finement** — par gravité, par type d'alerte, par entité (classe, professeur, salle), par niveau, site ou campus, et par intervalle de dates en mode calendrier (fonction Premium ; voir [Conflits et diagnostic](#page-timetables.conflicts)). **Contournement (sans Premium).** Utilisez la liste chronologique des alertes et les filtres de consultation disponibles pour isoler les séances concernées. Corrigez les conflits bloquants avant diffusion ou avant réinjection vers un système tiers. #### Visualiser rapidement les conflits restants > **En tant que** planificateur, **je veux** visualiser rapidement les conflits restants, **afin de** finaliser un planning fiable avant diffusion. **Statut** : ✓ Disponible **Solution dans Omniscol.** Le diagnostic de l'EDT et les vues de planning signalent les conflits restants. Traitez en priorité les conflits bloquants avant publication. [Conflits et diagnostic](#page-timetables.conflicts) #### Collecter les disponibilités / préférences intervenants > **En tant que** planificateur, **je veux** collecter les disponibilités / préférences intervenants. **Statut** : ✓ Disponible **Solution dans Omniscol.** Les professeurs saisissent leurs disponibilités et indisponibilités depuis leur espace ; le planificateur peut aussi les saisir pour eux. Ces disponibilités sont visibles pendant le placement manuel et prises en compte par la génération automatique. [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) #### Gérer les créneaux / grilles horaires / hors-grille > **En tant que** planificateur, **je veux** gérer les créneaux / grilles horaires / hors-grille. **Statut** : ✓ Disponible **Solution dans Omniscol.** Les grilles horaires définissent, site par site, les créneaux ouverts au placement, pauses comprises. > _Premium_ Les [séances hors grille](#page-timetables.off-grid-lessons) couvrent les séances qui ne correspondent à aucun créneau de la grille. [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) #### Gérer les pauses / hors-grilles > **En tant que** planificateur, **je veux** gérer les pauses / hors-grilles. **Statut** : ✓ Disponible **Solution dans Omniscol.** Voir « Gérer les créneaux / grilles horaires / hors-grille » : les pauses se définissent dans la grille horaire de chaque site, et le hors-grille couvre les séances en dehors des créneaux. #### Visualiser les emplois du temps (sélection multiple, vues personnalisées, superposition) > **En tant que** planificateur, **je veux** visualiser les emplois du temps (sélection multiple, vues personnalisées, superposition, visibilité, export). **Statut** : ✓ Disponible **Solution dans Omniscol.** Les vues de consultation couvrent la vue semaine, jour, mois, liste, vis-à-vis et plusieurs modes de comparaison. La consultation multi-entités permet d'afficher plusieurs EDT côte à côte, par colonne ou en grille selon le contexte. Non disponibles dans l'interface actuelle : info-bulle enrichie avec le code matière, masquage automatique des semaines sans cours, vue fusionnée unique sans colonne distinctive. #### Afficher uniquement les salles disponibles > **En tant que** planificateur, **je veux** afficher uniquement les salles disponibles, **afin de** gagner du temps lors de l'affectation des salles. **Statut** : ✓ Disponible **Solution dans Omniscol.** Utiliser le filtre de disponibilité dans le sélecteur de salle pour masquer les salles déjà occupées sur le créneau (voir aussi « Trouver une salle disponible adaptée à un cours »). #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [Consulter et filtrer](#page-schedules.consult-and-filter) - [Modifications ponctuelles](#page-schedules.ad-hoc-changes) - [Conflits et diagnostic](#page-timetables.conflicts) ### 15.4 Scénarios — Multi-groupes, multi-salles, multi-intervenants *Source: `help/fr/use-cases/multi-entities.md` · id: use-cases.multi-entities · Updated: 2026-06-13* Mutualisation de cours entre plusieurs groupes, plusieurs salles, plusieurs intervenants : co-animation, alignements, groupes de groupes. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Mutualiser des cours (1 cours pour 2 groupes à la même date/heure dans la même salle) > **En tant que** planificateur, **je veux** mutualiser des cours (1 cours pour 2 groupes à la même date/heure dans la même salle). **Statut** : ✓ Disponible **Solution dans Omniscol.** Modélisez la mutualisation avec un [alignement](#page-core-concepts.alignments) ou un [groupe de groupes](#page-core-concepts.groups-of-groups) : la séance commune réunit les groupes sur le même créneau, dans la même salle, avec le même professeur. #### Placer une séance avec plusieurs intervenants (coanimation) > **En tant que** planificateur, **je veux** placer une séance avec plusieurs intervenants (coanimation). **Statut** : ✓ Disponible **Solution dans Omniscol.** Une séance peut porter plusieurs professeurs : ajoutez les co-intervenants dans le sélecteur professeur **Affecter des professeurs** de la fiche de séance. [Co-enseignement](#page-higher-ed.co-teaching) #### Placer une séance avec plusieurs salles > **En tant que** planificateur, **je veux** placer une séance avec plusieurs salles. **Statut** : ✓ Disponible **Solution dans Omniscol.** Affectez plusieurs salles à la même séance depuis le sélecteur de salle **Affecter une salle de classe**. [Examens multi-salles](#page-higher-ed.multi-room-exams) #### Placer une séance avec plusieurs groupes > **En tant que** planificateur, **je veux** placer une séance avec plusieurs groupes. **Statut** : ✓ Disponible **Solution dans Omniscol.** Vous pouvez **associer directement plusieurs groupes** — d'une même classe ou de classes différentes — à une même séance. Pour des regroupements durables ou récurrents, structurez-les plutôt avec un [groupe de groupes](#page-core-concepts.groups-of-groups) ou un [alignement](#page-core-concepts.alignments) selon le cas. #### Pouvoir placer les cours par groupe en masse > **En tant que** planificateur, **je veux** pouvoir placer les cours par groupe en masse, **afin de** pouvoir attribuer les groupes en masse, en un clic. **Statut** : ✓ Disponible **Solution dans Omniscol.** Deux leviers couvrent le placement en masse. - **Sélection multiple, puis punaise.** Sélectionnez plusieurs séances à la fois — en **Maj+clic**, ou via le menu **Étendre la sélection** (par jour, semaine, mois, jour de la semaine, matière ou partition de groupes). La **punaise** affiche alors les créneaux compatibles avec toute la sélection : un seul clic les place ensemble sur le même créneau. - **Génération automatique.** Pour placer d'un coup l'ensemble des séances sur la grille, laissez le solveur les répartir en respectant les contraintes (voir [Génération automatique](#page-timetables.generation)). Pour réunir plusieurs groupes sur une même séance, voir « Placer une séance avec plusieurs groupes » ci-dessus ; pour suivre les volumes placés, appuyez-vous sur la [répartition des heures](#page-timetables.hour-distribution). #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [Multi-salles](#page-glossary.multi-room) - [Co-enseignement](#page-glossary.co-teaching) - [Partitions de classe](#page-core-concepts.class-divisions) - [Alignements de groupes](#page-core-concepts.alignments) - [Groupes de groupes](#page-core-concepts.groups-of-groups) ### 15.5 Scénarios — Opérations en masse *Source: `help/fr/use-cases/mass-operations.md` · id: use-cases.mass-operations · Updated: 2026-06-28* Affectations massives, filtres avancés et automatisations pour gérer rapidement les salles, les capacités et les programmes. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Assigner en masse uniquement les salles non attribuées > **En tant que** planificateur, **je veux** assigner en masse uniquement les salles non attribuées. **Statut** : ✓ Disponible **Solution dans Omniscol.** Dans le mode listing de l'écran **Gestion des EDT**, triez ou filtrez les colonnes pour isoler les séances **en attente de salle**, cochez-les, puis lancez l'attribution automatique des salles sur la sélection. La génération automatique propose aussi un mode limité aux salles : lancée en ignorant les salles déjà assignées, elle complète uniquement les séances qui n'en ont pas, sans recalculer le placement. [Attribution automatique des salles](#page-timetables.auto-room-assignment) #### Assigner en masse toutes les salles >115 places pour les évènements > **En tant que** planificateur, **je veux** assigner en masse toutes les salles >115 places pour les évènements, **afin d'**optimiser la gestion des salles. **Statut** : ✓ Disponible **Solution dans Omniscol.** Repérez les grandes salles dans les statistiques salles, où la recherche accepte les comparateurs de capacité (par exemple `>115`). Sélectionnez ensuite les séances concernées dans le mode listing de l'écran **Gestion des EDT** et lancez l'attribution automatique des salles : dans le sélecteur de salles candidates, ne cochez que les salles voulues, la capacité de chacune étant affichée pour guider le choix. #### Restreindre l'attribution des salles à un bâtiment ou un étage > **En tant que** planificateur, **je veux** restreindre l'attribution en masse des salles à un bâtiment ou un étage donné, **afin de** regrouper les cours au même endroit et limiter les déplacements. **Statut** : ✓ Disponible **Solution dans Omniscol.** Dans l'attribution automatique, le sélecteur de salles candidates regroupe les salles par **site** puis par **bâtiment** : cochez un site ou un bâtiment entier pour n'autoriser que ses salles, et l'algorithme choisit parmi elles. Voir [Attribution automatique des salles](#page-timetables.auto-room-assignment). #### Réattribuer les salles selon les effectifs réels > **En tant que** planificateur, **je veux** réattribuer en masse les salles selon les effectifs réels (électifs, langues, groupes), **afin d'**ajuster la taille des salles au nombre d'inscrits. **Statut** : ✓ Disponible **Solution dans Omniscol.** Isolez les séances concernées dans le mode listing (tri et filtres par colonne), puis lancez l'attribution automatique : l'algorithme confronte la **capacité** de chaque salle à l'**effectif** de la séance et retient la plus petite salle qui convient. Voir [Attribution automatique des salles](#page-timetables.auto-room-assignment). #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [Attribution automatique des salles](#page-timetables.auto-room-assignment) - [Statistiques salles](#page-dashboard.classrooms) - [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) - [Modifications ponctuelles](#page-schedules.ad-hoc-changes) ### 15.6 Scénarios — Examens et évènements *Source: `help/fr/use-cases/exams-and-events.md` · id: use-cases.exams-and-events · Updated: 2026-06-13* Création de séances spécifiques : examens (présentiel ou distanciel, configurations particulières), concours, maintenances. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Créer un évènement (concours) > **En tant que** planificateur, **je veux** créer un évènement (concours), **afin de** réserver les salles et de disposer de statistiques. **Statut** : ✓ Disponible **Solution dans Omniscol.** Créez un [évènement ponctuel](#page-schedules.events) daté, avec ses salles, participants et ressources : les occupations concurrentes d'une salle, d'une classe ou d'un professeur sont signalées comme conflits dès lors que l'évènement engage les participants concernés. Les évènements ponctuels relèvent des comptes **Premium**. #### Créer une séance spécifique examen (1 place sur 2, gestion des tiers-temps, etc.) > **En tant que** planificateur, **je veux** créer une séance spécifique examen (1 place sur 2, gestion des tiers-temps, etc.), **afin de** réserver les salles et de disposer de statistiques. **Statut** : ✓ Disponible **Solution dans Omniscol.** Créez une séance ou un évènement dédié avec les salles et la durée adaptées à la configuration de l'épreuve. [Examens multi-salles](#page-higher-ed.multi-room-exams) #### Créer un évènement (maintenance) > **En tant que** planificateur, **je veux** créer un évènement (maintenance), **afin de** réserver les salles et de disposer de statistiques. **Statut** : ✓ Disponible **Solution dans Omniscol.** Créez un [évènement](#page-schedules.events) sur le créneau concerné et ajoutez-y la salle ou la ressource à immobiliser : celle-ci est alors occupée sur le créneau et sort des disponibilités. #### Créer un examen (à distance ou présentiel, 1h30 ou 3h et autres, électif ou cours obligatoire) > **En tant que** planificateur, **je veux** créer un examen (à distance ou présentiel, 1h30 ou 3h et autres, électif ou cours obligatoire), **afin de** planifier les épreuves. **Statut** : ✓ Disponible **Solution dans Omniscol.** Un examen se crée comme une séance de type **examen** (voir [Types de cours](#page-admin.lesson-types)) : durée libre (1 h 30, 3 h…), présentiel ou distanciel selon sa [modalité](#page-glossary.lesson-modality), dans une ou [plusieurs salles](#page-glossary.multi-room). Le caractère électif se modélise via un [groupe](#page-glossary.group) plutôt que la classe entière. #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [Évènements ponctuels](#page-schedules.events) - [Séances hors grille](#page-timetables.off-grid-lessons) ### 15.7 Scénarios — Absences et remplacements *Source: `help/fr/use-cases/absences-and-substitutions.md` · id: use-cases.absences-and-substitutions · Updated: 2026-06-13* Déclaration d'absences et gestion des remplacements de professeurs sur courte ou longue période. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Déclarer une absence d’un professeur > **En tant que** service scolarité, **je veux** déclarer une absence d’un professeur, **afin de** signaler les séances impactées et organiser les remplacements nécessaires. **Statut** : ✓ Disponible **Solution dans Omniscol.** Déclarez l'absence depuis le module **Gestion des absences** (le professeur peut aussi la déclarer lui-même, soumise à validation). Omniscol identifie les séances impactées et vous permet d'organiser les remplacements. [Déclarer une absence](#page-absences.declaring) #### Remplacer un professeur par un autre sur une période donnée > **En tant que** service scolarité, **je veux** remplacer un professeur par un autre sur une période donnée, **afin de** gérer les changements structurels (maladie, départ…). **Statut** : ✓ Disponible **Solution dans Omniscol.** Déclarez une absence pluri-jours avec une date de début et une date de fin : Omniscol calcule les séances concernées, qui peuvent être laissées non remplacées, couvertes par une politique de remplacement ou ajustées par des remplacements ponctuels. [Absences pluri-jours](#page-absences.multi-day), [Politiques de remplacement](#page-absences.substitution-policies) #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [Vue d'ensemble du module Absences](#page-absences.overview) - [Déclarer une absence](#page-absences.declaring) - [Politiques de remplacement](#page-absences.substitution-policies) ### 15.8 Scénarios — Reporting et statistiques *Source: `help/fr/use-cases/reporting-and-stats.md` · id: use-cases.reporting-and-stats · Updated: 2026-06-13* Statistiques d'occupation, contrôle de charge enseignante, ratios distanciel/présentiel, volumes horaires par groupe et matière. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Visualiser les tensions d’occupation des salles > **En tant que** planificateur, **je veux** visualiser les tensions d’occupation des salles, **afin de** anticiper les points de saturation. **Statut** : ✓ Disponible **Solution dans Omniscol.** Les **statistiques salles** du **Tableau de bord** (voir [Statistiques salles](#page-dashboard.classrooms)) donnent les taux d'occupation par salle et par période ; le module **EDT** montre, lui, le planning d'occupation de chaque salle (créneaux occupés). #### Vérifier le nombre d’heures enseignées par un professeur > **En tant que** responsable pédagogique, **je veux** vérifier le nombre d’heures enseignées par un professeur, **afin de** contrôler la charge et la conformité. **Statut** : ◐ Partiel **Solution dans Omniscol.** Lors de l'édition d'un emploi du temps dans le module **Gestion des EDT**, la somme des heures du professeur s'affiche et se met à jour en direct ; le **Tableau de bord** fournit le total des heures sur la période. **Contournement.** Pour contrôler un semestre précis, sélectionnez la plage de dates correspondante dans le **Tableau de bord** : le total des heures se recalcule sur la période choisie, sans soustraction manuelle. #### Extraire des statistiques d’activité (heures, occupation, répartition) > **En tant que** responsable qualité, **je veux** extraire des statistiques d’activité (heures, occupation, répartition), **afin de** répondre aux exigences d'un audit qualité ou de certification. **Statut** : ◐ Partiel **Solution dans Omniscol.** Les exports du **Tableau de bord** et des vues de planning fournissent les volumes disponibles. Ils ne constituent pas, à eux seuls, un rapport de certification complet : le cadrage métier et documentaire reste à la charge de l'établissement. > _Country: FR_ En France, ces exports alimentent notamment le suivi **Qualiopi**. #### Analyser l’occupation des salles et des ressources > **En tant que** direction, **je veux** analyser l’occupation des salles et des ressources, **afin de** optimiser l’utilisation des infrastructures. **Statut** : ✓ Disponible **Solution dans Omniscol.** Le **Tableau de bord** donne l'occupation des salles et des ressources ; les exports reprennent ces volumes. #### Visualiser le taux distanciel / présentiel par programme/promotion > **En tant que** planificateur, **je veux** visualiser le taux distanciel / présentiel par programme/promotion, **afin de** appliquer les règles (max 20% distanciel, min 20% créneaux indésirables samedi). **Statut** : ◐ Partiel > _Premium_ **Solution dans Omniscol.** Le **Tableau de bord** expose des répartitions par **Modalité** sur les classes et les matières lorsque les séances portent une modalité (voir [Édition d'une séance de cours](#page-timetables.lesson-edit)) — **En présentiel**, **À distance**, **Hybride** ou **Travail autonome**. Omniscol ne fournit pas de contrôle réglementaire automatique des seuils (par exemple « 20 % de distanciel maximum »). #### Suivre le volume horaire planifié et restant à planifier > **En tant que** responsable pédagogique, **je veux** suivre le volume horaire planifié et ce qu'il reste à planifier, **afin de** contrôler la cohérence avec la maquette pédagogique. **Statut** : ✓ Disponible **Solution dans Omniscol.** Pendant l'édition, la [répartition des heures](#page-timetables.hour-distribution) affiche en direct, matière par matière, le volume déjà posé et le **temps restant à placer**. Le **Tableau de bord** en donne le suivi a posteriori, par classe, matière et groupe. #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [Tableau de bord](#page-glossary.dashboard) - [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) - [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) ### 15.9 Scénarios — Diffusion et partage *Source: `help/fr/use-cases/diffusion-and-sharing.md` · id: use-cases.diffusion-and-sharing · Updated: 2026-06-13* Export des données, abonnement iCal des intervenants et apprenants, lien public en lecture seule, réservation de ressources. Pour le format de lecture et la légende des statuts, voir [Scénarios — vue d'ensemble](#page-use-cases.overview). #### Exporter les données de planning > **En tant que** service scolarité, **je veux** exporter les données de planning, **afin de** les réutiliser dans d’autres outils (ERP, reporting…). **Statut** : ✓ Disponible **Solution dans Omniscol.** Les vues de planning et le Tableau de bord proposent des exports ; l'API Omniscol permet d'automatiser la récupération des données. [Imprimer et partager](#page-schedules.print-and-export), [API Omniscol](#page-integrations.api-tokens) #### Consulter son emploi du temps via un lien web sécurisé sans authentification > **En tant qu'**professeur, **je veux** consulter mon emploi du temps via un lien web sécurisé sans authentification, **afin de** accéder facilement à mes cours. **Statut** : ✓ Disponible **Solution dans Omniscol.** Le lien de partage est signé et donne un accès en lecture seule, sans connexion ; il peut porter une date d'expiration et reste lié au compte qui l'a créé (désactiver ce compte ou changer son mot de passe invalide le lien). [Partager un EDT par lien public](#page-schedules.share-link) #### S’abonner à son emploi du temps via un flux iCal > **En tant qu'**professeur ou élève, **je veux** m’abonner à mon emploi du temps via un flux iCal, **afin d'**intégrer automatiquement le planning dans mon agenda personnel. **Statut** : ✓ Disponible **Solution dans Omniscol.** Chaque utilisateur peut s'abonner à son EDT via un lien iCal dynamique, compatible avec les agendas usuels (Google Agenda, Outlook, Apple Calendar) ; l'agenda se met à jour au rythme de ses propres synchronisations. [iCal — abonnement et lien dynamique](#page-integrations.ical) #### Exporter l’emploi du temps d’un professeur ou d’un groupe au format Excel > **En tant que** service scolarité, **je veux** exporter l’emploi du temps d’un professeur ou d’un groupe au format Excel, **afin de** partager ou retraiter les données. **Statut** : ✓ Disponible **Solution dans Omniscol.** Voir [Imprimer et partager](#page-schedules.print-and-export). #### Diffuser les emplois du temps via un lien public contrôlé > **En tant qu'**établissement, **je veux** diffuser les emplois du temps via un lien public contrôlé, **afin de** communiquer simplement auprès des intervenants et apprenants. **Statut** : ✓ Disponible **Solution dans Omniscol.** Les liens de partage publics sont signés, en lecture seule et **portent une date d'expiration** (par défaut la fin de l'année scolaire, ou +90 jours, modifiable). Pour une diffusion institutionnelle, portez les liens par un compte de service identifié, responsable du partage, plutôt que par un compte personnel. [Liens de partage publics](#page-portal.share-links) #### Réserver une ressource (salle, intervenant, séance de cours, ou autre) > **En tant qu'**utilisateur, **je veux** réserver une ressource (salle, intervenant, séance de cours, ou autre), **afin de** réserver les salles et de disposer de statistiques. **Statut** : ◐ Partiel **Solution dans Omniscol.** Aucun module de réservation dédié n'existe aujourd'hui. **Contournement (comptes Premium).** Pour bloquer une ressource sur un créneau précis, créez un [évènement](#page-schedules.events) ; pour la rendre indisponible sur toute une **période**, utilisez une [fenêtre de dates](#page-glossary.date-windows). #### Voir aussi - [Scénarios — vue d'ensemble](#page-use-cases.overview) - [iCal — abonnement et lien dynamique](#page-integrations.ical) - [Lien de partage](#page-glossary.share-link) - [Liens de partage publics](#page-portal.share-links) - [Imprimer et partager](#page-schedules.print-and-export) --- ## 16. FAQ — questions fréquentes ### 16.1 FAQ — questions générales *Source: `help/fr/faq/general.md` · id: faq.general · Updated: 2026-06-13* Questions générales les plus fréquemment posées par les prospects et les nouveaux utilisateurs. Pour des questions plus pointues, voir les FAQ spécialisées : [Création d'EDT](#page-faq.timetables), [Import des données](#page-faq.data-import), [Comportement de l'algorithme](#page-faq.solver-behavior), [Affichage et UX](#page-faq.display-and-ux), [Sécurité et hébergement](#page-faq.security-and-hosting), [Tarification et licences](#page-faq.pricing-and-licenses). #### Omniscol fonctionne-t-il avec une connexion internet limitée ? Oui, à condition de disposer d'une connexion suffisante au moment des chargements et des sauvegardes. L'application web met en cache des données déjà consultées dans le navigateur, ce qui rend la consultation plus tolérante aux coupures courtes. Les modifications, imports, exports et opérations d'administration nécessitent en revanche un accès réseau disponible au moment de l'action. #### Quels navigateurs sont supportés ? Chrome est recommandé. Firefox, Safari et Edge fonctionnent également. Internet Explorer n'est pas supporté. #### Faut-il installer un client ? Non. L'ensemble fonctionne dans le navigateur. Aucune installation locale n'est requise. #### Mes données sont-elles sauvegardées ? Oui. Omniscol s'appuie sur des sauvegardes et mécanismes de redondance décrits dans le cadre contractuel et les documents sécurité du compte. Voir [Sécurité et hébergement](#page-faq.security-and-hosting). Pour des sauvegardes manuelles, un **export complet au format JSON** est disponible depuis Import/Export. En cas de problème majeur, ce fichier peut être renvoyé à l'équipe Omniscol pour réinjection. #### Puis-je avoir plusieurs EDT en même temps ? Oui. En compte Standard, sur des plages de semaines disjointes (par exemple semestre 1 vs semestre 2). En compte [Premium](#page-overview.plans-and-options), plusieurs EDT peuvent être publiés **simultanément** sur les mêmes semaines, avec fusion dynamique des vues — c'est inclus de base. Cette possibilité peut aussi être activée contractuellement sur certains comptes Standard (cas exceptionnel, avec cadrage adapté). Voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). #### Combien d'administrateurs peuvent travailler en même temps ? Le nombre de sessions simultanées dépend de votre contrat et de votre usage. Avec l'option Collaboration temps réel, les administrateurs voient la présence des autres utilisateurs connectés (un disque rouge signale un risque de modification simultanée). Les vues métier ne sont pas toujours rafraîchies automatiquement après une sauvegarde faite par un collègue. Voir [Collaboration entre administrateurs](#page-core-concepts.collaboration). #### Comment partager un EDT avec quelqu'un qui n'a pas de compte ? Le bouton Partage sur l'écran de l'EDT génère un [lien de partage](#page-glossary.share-link) en lecture seule, avec date d'expiration obligatoire. Pour un abonnement agenda dynamique (synchronisation automatique), l'option iCal est disponible dans le partage. Voir [iCal — abonnement et lien dynamique](#page-integrations.ical). #### Quelles langues sont supportées ? À ce jour : français, anglais, allemand, espagnol, italien, portugais, néerlandais, polonais, russe, chinois simplifié, arabe, hébreu, kazakh, vietnamien. Les langues écrites de droite à gauche (arabe, hébreu) bénéficient d'une interface adaptée (RTL). #### Mon école est dans un pays non listé. Puis-je utiliser Omniscol ? Oui. Les paramètres pré-renseignés par pays sont une commodité, pas une contrainte. Dans le cas le plus défavorable, vous personnalisez manuellement les niveaux, la grille horaire, les vacances et les matières. #### Comment récupérer mes données si je quitte Omniscol ? Export JSON complet depuis Import/Export. Inclut toutes les données de l'école, dans un format réutilisable. Vous restez propriétaire de vos données, conformément au RGPD. #### Quelle est la différence entre les modules **EDT** et **Gestion des EDT** ? - **Gestion des EDT** sert à **créer, configurer, générer et publier** les emplois du temps. Usage occasionnel (pré-rentrée, modifications structurelles). - **EDT** sert à **consulter et modifier ponctuellement** les EDT publiés. Usage quotidien. Voir [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) et [Consulter et filtrer](#page-schedules.consult-and-filter). #### Voir aussi - [Création d'EDT](#page-faq.timetables) - [Import des données](#page-faq.data-import) - [Comportement de l'algorithme](#page-faq.solver-behavior) - [Sécurité et hébergement](#page-faq.security-and-hosting) - [FAQ — cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) - [FAQ — cas particuliers et configurations avancées](#page-faq.edge-cases) ### 16.2 FAQ — Création d'EDT *Source: `help/fr/faq/timetables.md` · id: faq.timetables · Updated: 2026-06-25* Questions fréquentes sur la création et la configuration des emplois du temps. Pour le détail de chaque étape, voir [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview). #### Quel type d'EDT choisir : hebdomadaire, cyclique ou calendrier ? Le choix dépend du rythme de votre établissement : - **Hebdomadaire** — cours récurrents sur une semaine type. Adapté au primaire et au secondaire. - **Cyclique** — cours récurrents sur un cycle de N jours, différent de la semaine de 5 ou 7 (typique des systèmes nord-américains). - **Calendrier** — séances datées individuellement, sans récurrence (typique du supérieur et de la formation continue). Disponible sur les comptes Premium. La génération automatique fonctionne pour tous les types d'emplois du temps. Voir [Choisir le bon type d'EDT](#page-overview.timetable-modes). #### Peut-on créer plusieurs EDT en parallèle ? Oui. Plusieurs EDT peuvent coexister dans le même compte (brouillons, versions, semestres, périodes). En compte Standard, les publications doivent porter sur des plages de semaines disjointes. En compte Premium, plusieurs EDT peuvent être publiés **simultanément** sur les mêmes semaines, avec fusion dynamique — une activation contractuelle équivalente reste possible sur certains comptes Standard. Voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). #### Quel est l'ordre recommandé pour configurer un EDT ? L'ordre des **étapes** : Général, Sites, Professeurs, Classes (avec leurs groupes), Alignement de groupes, Répartition des heures, Génération, puis Publication. Les sept premières sont les onglets de l'éditeur d'EDT (de gauche à droite) ; la **publication** se fait, elle, depuis l'écran de gestion de l'EDT. Le détail de chaque étape est documenté dans la section « Création d'un emploi du temps » du sommaire. #### La génération automatique a-t-elle des limites ? Le solveur est puissant mais respecte strictement les contraintes qu'on lui donne. Si une configuration est structurellement impossible (disponibilités contradictoires, capacité insuffisante, alignements incohérents), Omniscol renvoie le meilleur EDT calculé, laisse les séances manquantes dans la liste des post-its non positionnés et fournit un diagnostic explicite. Voir [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation). #### Combien de temps prend une génération ? La durée dépend de la taille de l'EDT, du nombre de séances et des contraintes. Chaque génération démarre un environnement de calcul dédié et parallélisé ; l'initialisation prend souvent autour d'une dizaine de secondes avant le calcul effectif. La fenêtre peut être fermée pendant le calcul ; une notification s'affiche à la fin. Pour les ordres de grandeur, voir [Comportement de l'algorithme](#page-faq.solver-behavior). #### Un EDT généré est-il publié automatiquement ? Non. La publication (« distribution ») est une étape distincte qui doit être effectuée explicitement après vérification. Sans publication, l'EDT reste un brouillon non visible des utilisateurs finaux. Voir [Publier (activer) un emploi du temps](#page-timetables.publication). #### Peut-on revenir à un état antérieur d'un EDT ? Oui, sous deux formes : - **Duplication** d'EDT — chaque modification structurelle peut être faite sur une copie, l'original servant de référence (disponible sur tous les paliers). - **Snapshots** — points de sauvegarde restaurables du compte entier, automatisés ou manuels (option Snapshots, selon contrat). Voir [Points de sauvegarde](#page-admin.snapshots). #### Comment gérer les semaines alternées (A/B) ? La fonctionnalité est activée dans les [Paramètres généraux](#page-admin.parameters), section **Semaines alternées** (lettres A/B/C ou chiffres 1/2/3, cadence libre sur autant de semaines que nécessaire). Sur un cours, Ajouter une semaine ajoute une plage pour une nouvelle semaine alternée. Voir [Cours alternés](#page-glossary.alternate-lessons). #### Voir aussi - [Vue d'ensemble du module Gestion des EDT](#page-timetables.overview) - [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Comportement de l'algorithme](#page-faq.solver-behavior) - [FAQ — cas particuliers et configurations avancées](#page-faq.edge-cases) ### 16.3 FAQ — Import des données *Source: `help/fr/faq/data-import.md` · id: faq.data-import · Updated: 2026-05-10* #### Quels formats d'import sont supportés ? CSV et TSV, par copier-coller depuis Excel, Google Sheets, Numbers ou Calc. L'**export JSON** complet du compte est accessible à l'administrateur (sauvegarde) ; la **réimportation** d'un compte JSON complet, elle, est une opération de restauration assurée par Omniscol, pas une action courante de l'écran d'administration. Pour des migrations dédiées, voir [Vue d'ensemble](#page-migration.overview). #### L'identifiant est-il généré par le système ? Oui. À l'import d'élèves, de professeurs ou de classes, Omniscol génère un identifiant interne stable : pour les personnes il dérive du prénom et du nom, pour un groupe il inclut la classe parente (`:`). Le patron de l'**identifiant de connexion** (prénom-nom, nom-prénom ou numéro d'identification) se règle dans les [Paramètres généraux](#page-admin.parameters), champ **Identifiant**. Vous pouvez aussi renseigner votre propre référence via le champ **identifiant externe / matricule** — utile pour la traçabilité avec votre système d'information scolaire et pour distinguer les homonymes. #### Pour les groupes, faut-il toujours référencer la classe ? Oui. Un groupe est toujours une subdivision d'une classe. L'ID d'un groupe inclut la classe parente. Dans les fichiers d'import de cours, les colonnes « classe » et « groupe » fonctionnent conjointement. Voir [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups). #### L'ordre des colonnes du tableau est-il important ? L'écran d'import ouvre un **canevas de colonnes** typées par position (la matière, le professeur, la salle… occupent chacune une colonne attendue). Vous **réorganisez les colonnes du canevas** pour qu'elles correspondent à l'ordre de votre tableur source : le copier-coller reste alors propre, sans réécrire votre fichier. Voir [Import massif des cours via tableur](#page-timetables.mass-import). #### Quels séparateurs pour les listes (multi-professeur, multi-groupe, etc.) ? Les séparateurs courants sont reconnus à l'intérieur d'un même champ : virgule, point-virgule, slash, barre verticale, plus, esperluette ou retour à la ligne. Le moteur d'import détecte la convention employée dans le champ. #### Que se passe-t-il si le tableau contient des matières inconnues ? À l'étape 4 de l'import, Omniscol propose la **création des entités inconnues**. Pour les matières personnalisées et certains professeurs, vous pouvez demander une création côté **Administration** afin de les rendre disponibles dans toute l'école. Les libellés se corrigent à l'étape 3, lors de la désambiguïsation. #### Les cours complexes sont-ils correctement importés ? Partiellement. Le moteur d'import reconnaît bien : - les cours simples (matière + classe + professeur + salle + créneau), - les cours en alternance basique (`A/B`), - les cours multi-professeurs (co-enseignement), - les cours multi-salles. Il reconnaît moins bien, et nécessite donc une finition manuelle : - les cours associés (alternance demi-groupes), - les concaténations complexes, - les groupes de groupes, - les cours hors-grille avec horaires précis. #### Que faire si l'import échoue sur un fichier volumineux ? - Vérifier l'absence de lignes vides ou de cellules fusionnées. - Découper le fichier en sous-ensembles (par classe, par campus, par semestre). - Privilégier un **export complet** du compte source, souvent plus propre qu'un export partiel manuel. #### Voir aussi - [Préparer ses données pour un import massif](#page-getting-started.preparing-data) - [Import massif des cours via tableur](#page-timetables.mass-import) - [Vue d'ensemble](#page-migration.overview) - [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) ### 16.4 FAQ — Comportement de l'algorithme de génération *Source: `help/fr/faq/solver-behavior.md` · id: faq.solver-behavior · Updated: 2026-05-15* Questions fréquentes sur le comportement du moteur de génération automatique. Pour la description du solveur lui-même, voir [Solveur](#page-glossary.solver) ; pour le détail opérationnel, voir [Génération automatique](#page-timetables.generation). #### Sur quels types d'EDT le solveur fonctionne-t-il ? Sur les EDT [hebdomadaires](#page-glossary.weekly-timetable), [cycliques](#page-glossary.cyclic-timetable) et [calendrier](#page-glossary.calendar-mode). En mode calendrier, les séances sont placées sur des dates réelles et les options de génération incluent des bornes de dates. #### Comment fonctionne l'algorithme ? Omniscol lance un traitement de résolution en arrière-plan. Le solveur évalue les séances à placer, les contraintes déclarées et les préférences de génération. Le résultat dépend surtout de la qualité des données : volumes horaires, professeurs, salles, groupes, disponibilités, incompatibilités et contraintes inter-sites. Chaque génération démarre un environnement de calcul dédié et parallélisé. Il n'y a pas de file d'attente à gérer côté école ; l'initialisation prend souvent autour d'une dizaine de secondes avant que le calcul effectif commence. Dans le module **Gestion des EDT**, le bouton **Générer EDT** lance le calcul, suit son état et permet d'inspecter le résultat. Le moteur est une IA d'optimisation **métaheuristique Monte-Carlo neuro-symbolique** : recherche stochastique, contraintes symboliques et optimisation progressive des scores. Ce n'est pas une promesse de réussite sur un jeu de contraintes impossible ; dans ce cas, Omniscol renvoie un diagnostic. #### Combien de temps prend une génération ? La durée dépend de la taille de l'EDT, du nombre de séances, du nombre de contraintes et des options choisies. À titre d'ordre de grandeur, un collège d'environ 550 élèves, 45 professeurs et 16 classes, avec beaucoup de disponibilités, peut obtenir en moins d'une minute un EDT complet, avec très peu ou pas de trous, quand les données sont cohérentes. Un cas plus dense, très contraint ou avec des optimisations coûteuses peut prendre nettement plus longtemps. #### Le solveur respecte-t-il toutes les contraintes ? Les **contraintes dures** sont respectées strictement : - un professeur à un seul endroit au même moment ; - une classe sans double placement, sauf groupes en partition ; - disponibilités et créneaux marqués **indisponibles** ; - salle standard occupée par une seule séance à la fois ; - grande salle utilisée seulement dans ses limites de capacité et de nombre de classes ; - salles spécialisées, capacités, ressources matérielles et trajets inter-sites compatibles ; - séances verrouillées conservées à leur place. Les **contraintes souples** (disponibilités indésirables, préférences, pondération pédagogique, équilibre des journées, nombre de jours de présence, trous dans les EDT) sont optimisées au mieux. Elles créent des malus : le solveur cherche la solution qui en accumule le moins, mais peut en conserver si c'est le meilleur compromis compatible avec les contraintes dures. #### Que faire si la génération échoue ? Quand aucune solution complète n'est trouvée, Omniscol renvoie le meilleur EDT calculé et laisse les séances non positionnées dans la barre des post-its. L'EDT partiel reste consultable pour comprendre ce qui a été placé, puis corriger les contraintes ou repositionner certaines séances manuellement. Les causes les plus fréquentes sont décrites dans la page [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation). #### Peut-on forcer manuellement la position d'une séance ? Oui, via le **verrouillage** d'une séance après positionnement manuel. Le solveur ne déplace pas une séance verrouillée lors d'une nouvelle génération, mais ajuste les autres autour. Utile pour ancrer les séances immuables (interventions extérieures à date fixe, examens datés). #### Pourquoi le solveur ne propose-t-il pas plusieurs solutions ? Le solveur optimise selon les contraintes et préférences déclarées et retourne **la meilleure solution trouvée**. Pour obtenir plusieurs solutions à comparer, dupliquez l'EDT avant chaque génération et ajustez légèrement les contraintes ou pondérations entre deux passes. #### Le solveur tient-il compte des absences déclarées ? Le solveur s'applique sur l'EDT **structurel**, indépendamment des absences. Les absences sont gérées **a posteriori** dans le module **Gestion des absences** (voir [Vue d'ensemble du module Absences](#page-absences.overview)), avec impact sur l'affichage de l'EDT publié et sur les statistiques du [Tableau de bord](#page-glossary.dashboard) (pas sur la structure sous-jacente). #### Conflit volontaire et conflit bloquant Tous les conflits ne sont pas équivalents : - **Conflits non bloquants** — peuvent être laissés en l'état si c'est un choix délibéré (par exemple, une salle dont l'effectif affiché excède la capacité parce qu'on sait que tous les inscrits ne viendront pas). L'alerte reste visible mais ne bloque pas. - **Conflits bloquants** — empêchent la génération automatique de réussir (pas de salle compatible, alignement incohérent, etc.). Le bouton Générer EDT reste désactivé tant que ces conflits subsistent. Voir [Conflit](#page-glossary.conflict). #### Voir aussi - [Solveur](#page-glossary.solver) - [Génération automatique](#page-timetables.generation) - [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) - [Conflit](#page-glossary.conflict) - [Diagnostic](#page-glossary.diagnostic) ### 16.5 FAQ — Affichage et interface *Source: `help/fr/faq/display-and-ux.md` · id: faq.display-and-ux · Updated: 2026-06-25* Questions fréquentes sur l'affichage, les vues, et l'expérience utilisateur de l'interface Omniscol. #### Quelles vues sont disponibles pour consulter un EDT ? Le composant d'affichage combine : - des **modes de rendu** : **grille** (calendrier standard), **liste**, **tableau** type tableur ; - des **variantes de lecture** : **jour**, **mois**, **planning** (et **planning par heures**), **vis-à-vis**. Le planning sert à croiser plusieurs entités ou plusieurs jours dans une même vue ; le planning par heures fait de même sur une échelle horaire. Le tableau est un rendu tabulaire de la vue en cours. Voir [Affichage des EDT](#page-schedules.schedule-display) et [Consulter et filtrer](#page-schedules.consult-and-filter). #### Un affichage vertical d'EDT est-il disponible ? Dans le module **EDT**, le composant d'affichage des EDT ne propose pas de vue verticale. Une vue verticale équivalente existe dans le module **Service du personnel** (cf. [Vue d'ensemble du Service du personnel](#page-staffing.overview)) pour des contextes apparentés (grilles de surveillance). #### L'interface est-elle responsive (mobile, tablette) ? Oui, l'interface s'adapte aux écrans de toutes tailles. Sur smartphone, le swipe horizontal fait défiler la période affichée (la semaine par défaut, le jour en vue Jour). #### Quels paramètres d'affichage des noms sont disponibles ? Les noms passent par une fonction de formatage paramétrée selon la configuration de l'école : - Ordre prénom/nom (selon les conventions du pays). - Mise en gras du principal (variable selon les pays — gestion du *middle name* pour les conventions américaines, vietnamiennes, arabes). - Capitalisation du prénom, du second prénom si actif, et/ou du nom de famille via le paramètre de capitalisation des noms. #### L'interface est-elle accessible aux personnes en situation de handicap ? Un audit d'accessibilité (RGAA, WCAG) est en place. Un rapport de conformité peut être fourni sur demande. Les améliorations identifiées sont traitées en continu. Pour les besoins spécifiques (lecteur d'écran, contraste renforcé, navigation au clavier), contacter le support. #### Les langues écrites de droite à gauche sont-elles supportées ? Oui. Arabe et hébreu disposent d'une interface de droite à gauche adaptée. Les 14 langues prises en charge sont listées dans [Questions générales](#page-faq.general). #### Comment imprimer un EDT ? Le bouton **Imprimer** du module **EDT** lance l'impression. Le rendu est optimisé pour le papier (pas d'éléments interactifs, mise en page adaptée). #### Comment exporter un EDT vers Excel ou un calendrier externe ? - Export Excel / CSV via **Tableau**. - Export / abonnement iCal via **Télécharger** (cf. [iCal — abonnement et lien dynamique](#page-integrations.ical)). - Lien de partage public en lecture seule (cf. [Lien de partage](#page-glossary.share-link)). #### Le mode sombre est-il disponible ? Pas dans l'interface actuelle : Omniscol ne propose pas de thème sombre et ne bascule pas automatiquement avec le réglage sombre du système d'exploitation. L'interface prend en revanche en compte les préférences d'accessibilité du système telles que le contraste renforcé. #### Puis-je personnaliser les couleurs des matières ? Oui. Chaque matière (cf. [Matière](#page-glossary.subject)) peut recevoir une couleur spécifique via **Colorpicker**. Les types de cours restent de simples libellés textuels, sans couleur ni icône associées. #### Voir aussi - [Consulter et filtrer](#page-schedules.consult-and-filter) - [FAQ — cas particuliers et configurations avancées](#page-faq.edge-cases) - [Panneau d'affichage](#page-panels.lobby-panel) - [Imprimer et partager](#page-schedules.print-and-export) ### 16.6 FAQ — cas d'usage enseignement supérieur *Source: `help/fr/faq/higher-ed-cases.md` · id: faq.higher-ed-cases · Updated: 2026-06-13* Questions fréquentes rencontrées dans les établissements d'enseignement supérieur (écoles de commerce, écoles d'ingénieurs, écoles d'art et de design, universités, centres de formation continue). Les réponses sont applicables transversalement à ces typologies ; pour le détail métier voir [Spécificités enseignement supérieur](#page-higher-ed.overview). #### Plusieurs EDT, chaque utilisateur ne voit que le sien **Q.** Comment gérer plusieurs EDT en parallèle de sorte que chaque utilisateur ne voie, dans son calendrier, que les cours qui le concernent ? **R.** Trois mécanismes coopèrent : - Côté administrateur, plusieurs EDT peuvent être publiés en parallèle sur les mêmes semaines, avec fusion dynamique — inclus de base en compte Premium (voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables)). - Chaque utilisateur ne voit, par défaut, que les cours qui le concernent — sa classe, ses groupes, ses cours pour un professeur. Les filtres sont appliqués automatiquement à la connexion selon son rôle. - Pour consulter un autre périmètre (autre classe, autre professeur…), l'utilisateur applique manuellement un filtre, sous réserve que son rôle l'autorise. Les [restrictions de visibilité](#page-admin.visibility-restrictions) permettent par exemple de masquer aux professeurs l'EDT de leurs collègues. #### Synchronisation iCal après modification d'un EDT **Q.** Lorsqu'un cours est modifié dans Omniscol, le flux iCal est-il mis à jour automatiquement ? **R.** Oui, à condition d'utiliser un **lien d'abonnement iCal** (et non un téléchargement statique). Le lien d'abonnement est dynamique ; l'application agenda re-pull le flux à intervalles réguliers, avec un délai qui va de quelques minutes à plusieurs heures selon l'application et sa configuration. C'est l'application agenda qui décide de la cadence de rafraîchissement, pas Omniscol. Voir [iCal](#page-glossary.ical) et [iCal — abonnement et lien dynamique](#page-integrations.ical). #### Notification à chaque modification **Q.** Peut-on envoyer une notification à chaque modification d'EDT ? **R.** Pas de notification automatique à chaque modification : le volume serait ingérable côté destinataires. Approche actuelle : publier les modifications par lot via un e-mail récapitulatif sur la sélection des utilisateurs concernés (Envoyer un mail). #### Salle parmi un macro-type / catégorie de salles **Q.** Comment indiquer qu'un cours doit avoir lieu dans une salle particulière appartenant à un macro-type — selon que l'on veut forcer une salle précise ou laisser le moteur choisir parmi le groupe ? **R.** Via les [**spécialisations de salles**](#page-glossary.classroom-specialization), qui sont des champs libres : - Créez une spécialisation correspondant au macro-type (par exemple « ATELIER », « SALLE-INFO », « LABO-CHIMIE »). - Assignez cette spécialisation aux salles concernées. - Sur le cours, indiquez la spécialisation requise. Omniscol propose prioritairement les salles spécialisées et le solveur en choisit une parmi les disponibles. - Pour **forcer une salle précise**, indiquez-la directement (en plus de la spécialisation, ou à la place). Le solveur respecte le forçage. À l'import en masse, vous pouvez n'indiquer que la spécialisation ; le solveur se charge de l'attribution finale. #### Vérifier l'occupation des salles avant génération **Q.** Existe-t-il un reporting permettant de vérifier, avant la génération, si les heures assignées à une salle ou à un macro-type de salles tiennent dans le total d'heures disponibles ? **R.** L'onglet Génération exécute un diagnostic en amont : contrôles de capacité (nombre de séances à positionner comparé à la capacité de la grille horaire) et contrôles de compatibilité des spécialisations de salles. Un avertissement remonte en cas de surdimensionnement. Le [tableau de bord](#page-glossary.dashboard) post-publication donne le détail effectif (en tenant compte des absences et des remplacements). #### Durée par cours individuel à l'import **Q.** Dans le fichier d'import, la colonne « durée » contient le total horaire d'une activité, qui peut regrouper plusieurs cours. Où indiquer la durée individuelle de chaque cours ? **R.** Une **ligne d'import correspond à un cours**. La durée renseignée est celle de ce cours, pas du module. Pour un module comportant plusieurs cours de durées différentes, il faut donc une ligne d'import par cours. Si la source agrège (« Algèbre = 30 h total »), il faut décomposer avant import — ou utiliser la [distribution automatique](#page-timetables.hour-distribution) pour répartir un volume horaire en cours individuels. #### Cours uniquement sur certaines semaines **Q.** Comment indiquer qu'un cours n'a lieu que sur certaines semaines précises de l'année académique ? **R.** Cela dépend du mode : - En mode [hebdomadaire](#page-glossary.weekly-timetable), les [semaines alternées](#page-glossary.alternate-lessons) couvrent le cas où un cours ne revient qu'une semaine sur N. Pour un cours qui ne tombe que sur quelques semaines précises de l'année, le mode calendrier est plus adapté. - En mode [calendrier](#page-glossary.calendar-mode), chaque séance est positionnée individuellement à sa date : c'est natif. - À l'import, renseignez la **date** de chaque séance dans la colonne prévue (format `AAAA-MM-JJ`), ou laissez-la vide pour une séance à positionner manuellement par la suite. #### Cours inter-classes / inter-promos **Q.** Comment modéliser des cours où, dans le même créneau et la même salle, participent plusieurs groupes d'une même classe ou des classes différentes, parfois pour des matières différentes, parfois sur des campus différents ? **R.** Selon le cas : - **Plusieurs groupes d'une même classe au même créneau, même matière, même professeur, même salle** — un seul cours assigné à un super-groupe. Composition figée → [partition](#page-glossary.class-division) si applicable. Composition évolutive → [groupe de groupes](#page-glossary.groups-of-groups), disponible sur tous les comptes et tous les types d'EDT. - **Plusieurs classes différentes au même créneau, même matière, même professeur, même salle** — un [alignement](#page-glossary.alignment) lorsque la composition est figée, ou un [groupe de groupes](#page-glossary.groups-of-groups) (disponible sur tous les comptes, tous types d'EDT) lorsque le regroupement doit rester évolutif. - **Matières différentes au même créneau et même salle** (cas rare) — il faut deux cours distincts. Chaque étudiant voit, sur son EDT, la matière de son propre groupe. - **Entre deux sites** (deux classes de lieux différents qui partagent un cours) — pris en charge, à condition que la salle commune ou la visioconférence soit modélisée correctement (cf. [sites virtuels](#page-glossary.site)). #### Alternance d'intervenants sur un même créneau **Q.** Comment indiquer que deux professeurs alternent sur le même créneau, le même jour de la semaine, avec la même classe / matière / groupe — l'un une semaine, l'autre la suivante ? **R.** Il s'agit d'une **alternance d'intervenants**, pas d'un [co-enseignement](#page-glossary.co-teaching) au sens strict (qui implique deux professeurs simultanément sur la même séance). Deux implémentations selon la cadence : - **Alternance régulière en mode hebdomadaire** — utilisez les [semaines alternées](#page-glossary.alternate-lessons) avec un professeur différent sur chaque semaine. - **Alternance à dates précises en mode calendrier** — créez un cours par séance avec le professeur correspondant. Plus verbeux mais plus flexible : chaque séance peut être ajustée individuellement. #### Co-animation ponctuelle (visiting professor) **Q.** Comment indiquer que, pour une ou quelques séances seulement, un visiting professor co-anime un cours avec le professeur titulaire ? **R.** En mode [calendrier](#page-glossary.calendar-mode), créez les séances ordinaires avec le seul professeur titulaire, puis pour les séances où le visiting intervient, ajoutez-le en [co-animateur](#page-glossary.co-teaching) sur la séance précise. Chaque professeur est crédité dans ses propres statistiques. #### Lien de visioconférence par cours **Q.** Le lien de visioconférence ne peut-il être attaché qu'à une classe entière, ou peut-on le rattacher à un cours ou une séance précise ? **R.** Un lien de visioconférence peut être défini à trois niveaux : sur la **classe** (il s'applique alors par défaut à toutes ses séances), sur un **cours** précis, ou sur une **séance individuelle** en mode calendrier. C'est adapté aux sessions hybrides où seuls certains cours sont en distanciel. Voir [Liens de visioconférence par cours](#page-higher-ed.videoconference-links). #### Étudiants en redoublement et hors-cursus **Q.** Comment gérer un étudiant qui doit suivre une matière d'une autre année (redoublement, mise à niveau, *fuori corso*, etc.) ? **R.** Un étudiant peut être affecté à plusieurs classes simultanément, et restreint à certains groupes d'une classe. Quatre cas typiques : 1. **Toute une autre classe + un groupe précis d'une troisième** — affecter aux deux et choisir le groupe. 2. **Plusieurs groupes d'une autre classe sans toute la classe** — affecter directement aux groupes. 3. **Une seule matière d'une autre classe via un groupe précis** — créer un groupe dédié dans l'autre classe et affecter l'étudiant à ce seul groupe. 4. **Étudiant hors-cursus refaisant une matière isolée** — même logique avec un groupe dédié. #### ID du SIS comme identifiant unique **Q.** Peut-on utiliser l'identifiant étudiant ou professeur venant de notre SIS comme identifiant unique dans Omniscol, pour éviter les homonymies ? **R.** Oui, via le champ **Matricule / ID externe** sur la fiche utilisateur — c'est sa raison d'être. Renseignez-le à l'import et Omniscol l'utilisera comme clé d'identification. Particulièrement utile pour les synchronisations bidirectionnelles avec votre SIS (voir [la synchronisation avec des systèmes externes](#page-integrations.extsync) pour Aurion / Auriga ou [API Omniscol](#page-integrations.api-tokens) pour une intégration spécifique). #### Plusieurs adresses e-mail par utilisateur **Q.** Peut-on importer deux adresses e-mail pour un même professeur (institutionnelle et personnelle) ? **R.** Pas dans l'interface actuelle : un e-mail principal par utilisateur. Si une seconde adresse doit être conservée à titre informatif, utilisez le champ Commentaire de la fiche utilisateur. Ce champ n'est pas utilisé comme adresse d'envoi. #### Apprenants, étudiants, participants — quelle entité ? **Q.** Notre référentiel distingue **apprenant** (terme général), **étudiant** (formation initiale), **participant** (formation continue). Comment ces nuances se mappent-elles ? **R.** Tous se ramènent à l'entité Omniscol [étudiant](#page-glossary.student) (rôle `student`). La distinction formation initiale / continue est gérée par un attribut optionnel sur la fiche (matricule SIS, statut), pas par des entités séparées. #### Intervenants : permanents, vacataires, experts, visiting **Q.** Notre référentiel distingue **professeur permanent** (CDI, temps réparti), **vacataire** (contrat ponctuel), **expert** (prestataire externe rare), **visiting professor** (universitaire invité). Tous correspondent-ils à la même entité Omniscol ? **R.** Oui, tous se ramènent à l'entité [professeur](#page-glossary.teacher) (rôle `teacher`). Le **marqueur nominatif « externe / vacataire »** qui les distingue des permanents est une option **Premium** (cf. [intervenant externe](#page-glossary.external-teacher)) ; sans Premium, les quatre profils restent une même entité professeur, sans marquage dédié. Les rôles « responsable de cours » et « responsable de programme » sont des **rôles métier** internes à votre établissement. Omniscol ne les modélise pas en tant que tels, mais peut les représenter via les [rôles personnalisés](#page-admin.customroles). #### Programmes, cursus, parcours pédagogiques **Q.** Notre offre se hiérarchise en **programmes** (PGE, MBA, MsC, PhD, etc.), **cours de management** (UE / EC / ECUE), **activités pédagogiques** (séances). Comment cela se mappe-t-il dans Omniscol ? **R.** Mapping recommandé : | Concept métier | Entité Omniscol | | --- | --- | | **Programme** | Une [classe](#page-glossary.class) (ou un ensemble de classes pour les promotions parallèles) | | **Cours / module / UE / EC** | Une [matière](#page-glossary.subject) (avec ou sans [type de cours](#page-glossary.lesson-type)) | | **Séance / activité pédagogique** | Une [séance](#page-glossary.lesson) — occurrence individuelle positionnée d'un cours | Pour les nomenclatures hiérarchiques (UE → EC → ECUE), une convention de nommage sur les matières (« UE3-EC2-ECUE1 Algèbre linéaire ») ou l'utilisation des **familles de matières** permet de représenter le regroupement. #### Mobilité, échanges, double-diplôme **Q.** Comment gérer la mobilité entrante et sortante (échanges académiques, double-diplômes, *free movers*, *study abroad*) ? **R.** Côté EDT, ces apprenants sont des **étudiants ordinaires affectés à des classes spécifiques**. La gestion administrative (conventions, crédits, ECTS, statut) relève du SIS de l'établissement ; Omniscol se concentre sur la question « qui assiste à quel cours, quand, où ». #### Recommandations de configuration pour l'enseignement supérieur Pour un compte enseignement supérieur, considérez : - **Compte Premium** : mode calendrier, disponibilités calendrier et plusieurs EDT actifs y sont inclus de base, tout comme le MCP (connexion d'un assistant IA compatible). À compléter selon le besoin par les options contractuelles : rôles personnalisés, snapshots, collaboration temps réel. (Les **groupes de groupes**, eux, sont disponibles sur tous les comptes.) - **Mode calendrier** pour la majorité des EDT (séances datées individuellement, intervenants au gré des sessions). - **Plusieurs EDT actifs en parallèle** par programme (un EDT par master, fusionnés dynamiquement lorsque des cours sont communs). - **Groupes de groupes** pour les regroupements transversaux évolutifs (tronc commun multi-parcours). - **Multi-salles** pour les examens en amphithéâtres dédoublés ou les CM retransmis. - **Rôles personnalisés** pour modéliser les responsables de cours ou de programme avec des permissions ciblées sur leur périmètre. - **Intégration SIS** ([la synchronisation avec des systèmes externes](#page-integrations.extsync) pour Aurion / Auriga, ou [API Omniscol](#page-integrations.api-tokens) pour une intégration spécifique) pour synchroniser les apprenants. - **OIDC / SSO** sur le fournisseur d'identité de l'établissement (Google Workspace, Microsoft Entra ID, Keycloak, etc.). #### Voir aussi - [Spécificités enseignement supérieur — vue d'ensemble](#page-higher-ed.overview) - [Multi-salles](#page-glossary.multi-room) - [Modalité](#page-glossary.lesson-modality) - [Co-enseignement](#page-glossary.co-teaching) - [Mode calendrier](#page-glossary.calendar-mode) - [Groupes de groupes](#page-core-concepts.groups-of-groups) - [FAQ — Création d'EDT](#page-faq.timetables) - [FAQ — Import des données](#page-faq.data-import) ### 16.7 FAQ — cas particuliers et configurations avancées *Source: `help/fr/faq/edge-cases.md` · id: faq.edge-cases · Updated: 2026-06-13* Questions concernant des configurations atypiques ou des cas particuliers : cours qui ne respectent pas la grille horaire, gestion fine des salles et de leurs spécialisations, conflits non bloquants, affichages spécifiques, traçabilité des incohérences. #### Cours avec horaire personnalisé **Q.** Une partie des cours de notre établissement (environ 20 %) ne respecte pas la grille horaire standard : durée précise d'examen, horaires décalés pour certains TP. Comment placer une séance qui doit commencer à 13h10 sur une grille de pas 10 minutes, et obtenir une heure de fin cohérente ? **R.** Oui. Une séance peut être saisie avec un horaire de début et de fin propres, sans respecter exactement les bornes de la grille standard. Dans la séance positionnée, utilisez le bouton Horaire personnalisé (Horaire personnalisé) puis renseignez le début et la fin. La séance reste prise en compte dans les conflits : professeur, salle, classe, groupe et ressource sont considérés occupés dès que l'horaire personnalisé chevauche un créneau. Pour la génération automatique, cette position est verrouillée. La configuration **Hors grille** d'une classe est un cas différent : elle sert aux classes en mode calendrier configurées hors grille dont toutes les séances doivent être stockées avec des horaires précis. Voir [Séances hors grille](#page-timetables.off-grid-lessons) pour le détail. #### Création de matières avec parent et famille existante **Q.** Lors de la création d'une matière personnalisée, est-il possible de sélectionner une **matière parent** déjà créée et une **famille** existante, sans devoir passer par une réinjection externe ? **R.** Oui. La fenêtre de création ou de modification d'une matière personnalisée permet de sélectionner directement une matière parent existante (champ Matière parent) et une famille existante (champ Famille), sans réinjection externe. Voir [Gérer les matières](#page-admin.subjects). #### Modifier ou supprimer une spécialisation de salle **Q.** Pourquoi la modification ou la suppression directe d'une spécialisation de salle n'est-elle pas disponible (par exemple pour corriger une faute d'orthographe) ? **R.** La liste des spécialisations est calculée **dynamiquement** à partir des salles. Pour faire disparaître une spécialisation : - Retirez-la de toutes les salles qui la portent. Au prochain enregistrement, elle disparaît du référentiel automatiquement. - Pour la **renommer**, créez la nouvelle spécialisation avec le bon libellé, remplacez sur les salles concernées ; l'ancienne disparaît ensuite seule. L'interface ne propose donc pas de bouton de modification ou de suppression directe d'une spécialisation. Voir [Spécialisation de salle](#page-glossary.classroom-specialization). #### Filtre EDT par matière : distinction matière simple / avec type **Q.** Lorsque je filtre les emplois du temps par matière, certains cours n'apparaissent pas alors qu'ils sont bien visibles lorsque je filtre par classe. Quelle est la cause ? **R.** Le couple **(matière, type de cours)** est traité comme une entrée indépendante de la matière seule. Conséquences : - « Algèbre » sans type et « Algèbre — TD » correspondent à **deux entrées différentes** dans l'EDT. - Pour filtrer sur les deux à la fois, ne précisez pas de type dans le filtre. - Si vous devez auditer tous les types d'une même matière, utilisez les filtres disponibles dans la vue puis contrôlez les résultats dans la liste des cours. #### Affichage du nom de famille en majuscule **Q.** Est-il possible d'afficher les noms de famille en majuscule ? Utile notamment lorsque le nom de famille est aussi un prénom courant (par exemple « Martin Pierre » vs « Martin PIERRE »). **R.** Oui. Le paramètre de capitalisation des noms se règle dans les paramètres de l'école. Il peut s'appliquer au prénom, au second prénom si l'option est active, et/ou au nom de famille selon l'ordre des noms configuré pour l'établissement. #### Verrouillage de séance qui n'apparaît pas dans toutes les vues **Q.** Le verrouillage du positionnement d'une séance ne s'affiche pas systématiquement lorsqu'on change de vue (post-it ↔ liste). **R.** Le marqueur de verrouillage dépend de la vue et de la nature de la séance. Dans les vues de répartition et certaines lignes de cours, le verrou est affiché par une icône [lock]. Si une vue ne le montre pas, vérifiez le détail de la séance avant de conclure qu'elle est modifiable par l'algorithme. #### Affectation de salle : site favori et spécialisations prioritaires **Q.** Lors de l'affectation d'une salle, les salles d'un autre site apparaissent en premier alors que le site favori est coché. Pourquoi ? **R.** Le tri prend par défaut le **site rattaché à la classe**, pas le site favori de l'utilisateur. C'est un comportement délibéré : la classe pilote le choix de la salle. Si l'ordre proposé n'est pas celui attendu, vérifiez que la classe est bien rattachée au site souhaité dans Editer. Pour les **spécialisations**, contrôlez les salles proposées et leurs alertes de compatibilité dans le sélecteur. Ne présumez pas d'un tri prioritaire par meilleure compatibilité. #### Capacité totale = somme des salles (multi-salles) **Q.** Lorsque plusieurs salles sont affectées à un même cours, Omniscol calcule-t-il bien la **capacité totale** comme la somme des capacités individuelles, et évite-t-il ainsi les fausses alertes de sur-capacité ? **R.** Oui. La capacité totale est calculée comme la **somme** des capacités des salles affectées. Si le groupe rentre dans la somme, aucune alerte n'est déclenchée. Cette fonctionnalité est disponible **sur tous les types d'EDT** : hebdomadaire, cyclique, calendrier. Si la somme reste inférieure au groupe, le conflit est signalé. L'administrateur peut alors : - ajouter une salle supplémentaire, - réduire le groupe, - accepter le conflit s'il est délibéré (cas typique : on sait que tous les inscrits ne viendront pas). Voir [Multi-salles](#page-glossary.multi-room). #### Détecter les incohérences de groupes en partition **Q.** Omniscol signale « nombre différent de cours pour les groupes en partition » sans préciser dans quelles matières les incohérences se trouvent. Comment investiguer en détail ? **R.** Le panneau de **statistiques avancées** de l'écran de répartition des heures permet l'inspection détaillée, notamment en isolant les groupes qui interagissent sur les créneaux concernés. Pour les établissements où les déséquilibres sont nombreux et intentionnels, une heuristique limite l'affichage des alertes au-delà d'un seuil afin d'éviter une liste ingérable. Il reste possible d'exporter les cours et de filtrer dans un tableur pour un diagnostic exhaustif. #### Plusieurs commentaires avec restrictions différentes **Q.** Sur un même cours, est-il possible d'ajouter deux commentaires avec des restrictions de publication distinctes (l'un pour les administrateurs seulement, l'autre pour les professeurs) ? **R.** Oui. Chaque commentaire possède sa propre restriction de publication : administrateurs, professeurs, ou tous les utilisateurs. Utilisez le bouton Commentaire pour ajouter plusieurs commentaires et définir leur visibilité séparément. #### Affichage vertical d'un EDT (charge hebdomadaire) **Q.** Pour visualiser la charge d'un groupe ou l'occupation d'un type de salles sur une semaine complète, l'affichage horizontal oblige à utiliser le défilement. Un affichage vertical est-il disponible ? **R.** Dans le module **EDT**, l'affichage des EDT se fait à l'horizontale. Une vue verticale équivalente existe dans le module **Service du personnel** pour des contextes apparentés (grilles de surveillance). Voir [Vue d'ensemble du Service du personnel](#page-staffing.overview) et [Affichage et UX](#page-faq.display-and-ux). #### Statistiques : séances positionnées vs cours créés **Q.** Le compteur de l'écran « répartition des heures » indique combien de cours sont créés. Où voir combien d'heures sont effectivement **positionnées** dans l'EDT (vs créées sans positionnement) ? **R.** Deux écrans donnent deux mesures complémentaires : - Le **Tableau de bord** travaille sur l'**EDT opérationnel** (séances réellement positionnées, éventuelle fusion de plusieurs EDT publiés, prise en compte des absences). Les pourcentages affichés sont relatifs (« 93 % des heures de cette classe »), pas un taux de positionnement. - L'écran de **répartition des heures** mesure les cours déclarés et les volumes créés. Si vous avez besoin du taux de positionnement, contrôlez les cours dans la vue de planning ou exportez la liste pour filtrer les séances sans position. #### Vacataire / intervenant externe visible sur l'EDT **Q.** L'icône qui distingue les vacataires des permanents apparaît- elle à côté du nom du professeur dans les vues d'emploi du temps ? **R.** Selon la vue : - **Vue grille** — l'espace est restreint et les noms peuvent y être abrégés ou tronqués en texte simple ; l'icône n'y apparaît pas systématiquement. - **Listes, infobulles et sélecteurs** — partout où le nom complet est rendu, une icône [user-tie] précède le nom des intervenants dont la fiche porte le marqueur Professeur externe. Ce marqueur « externe » est une option **Premium** ; sans lui, aucune icône ne distingue les vacataires. Voir [Vacataire](#page-glossary.external-teacher). > _Premium_ #### Évènements ponctuels : précisions fréquemment demandées Quelques précisions sur l'écran d'évènements (cf. [Évènements ponctuels](#page-schedules.events)) : - **Horaires proposés** — la plage horaire d'un évènement suit les Horaires d'ouverture du site ; si elle est trop courte (évènement en soirée par exemple), élargissez ces horaires dans la fiche du site. - **Modification d'horaire en place** — l'horaire d'un évènement se modifie directement, d'un clic sur l'évènement. - **Participants** — la liste des participants propose les classes et les groupes, ainsi que les professeurs et les élèves individuellement. #### Voir aussi - [Séances hors grille](#page-timetables.off-grid-lessons) - [Évènements ponctuels](#page-schedules.events) - [Multi-salles](#page-glossary.multi-room) - [Spécialisation de salle](#page-glossary.classroom-specialization) - [Affichage et UX](#page-faq.display-and-ux) - [Comportement de l'algorithme](#page-faq.solver-behavior) ### 16.8 FAQ — Sécurité et hébergement *Source: `help/fr/faq/security-and-hosting.md` · id: faq.security-and-hosting · Updated: 2026-05-10* Cette page synthétise les points les plus fréquents en sécurité et hébergement. Pour une description exhaustive, Omniscol fournit sur demande (ou sous NDA selon les cas) les documents officiels : - `SECURITY_OVERVIEW.md` — vue d'ensemble publique, - `SECURITY_ONE_PAGER.md` — synthèse pour CISO / RSSI, - `SECURITY_FULL.md` — documentation complète (gouvernance, infra, contrôles, conformité, incident response), - `ISO27001_MAPPING.md` — mapping aux contrôles ISO 27001, - `SSI_QUESTIONNAIRE_STANDARD.md` — réponses au questionnaire SSI standard. Pour toute question sécurité : **[security@omniscol.com](mailto:security@omniscol.com)**. #### Où sont hébergées mes données ? Les mentions légales indiquent un hébergement dans l'Union européenne, sur AWS Paris et Scaleway. Les engagements précis de redondance, sauvegarde, rétention et disponibilité dépendent du cadre contractuel applicable à votre compte. #### Omniscol est-il conforme RGPD ? Omniscol est conçu pour un usage conforme au RGPD. Conséquences pratiques : - Hébergement exclusif en UE (France). - **Isolation logique** par client : aucun accès croisé possible entre comptes. - Aucun **profilage**, aucune **revente** de données, aucun **usage secondaire** des contenus de votre école. - **Réversibilité** : export complet en JSON depuis **Télécharger**. - Traitement des demandes des personnes concernées selon le cadre contractuel et réglementaire applicable. #### Est-ce qu'Omniscol est certifié ISO 27001 ? Pas certifié à ce jour, mais **les pratiques sont alignées** sur les principes du référentiel et suivent une approche basée sur les risques et continuellement revue. Le détail des contrôles peut être fourni dans le cadre contractuel ou sécurité adapté. #### Comment sont protégés les mots de passe ? Omniscol protège les mots de passe de la manière suivante : - **Pré-hashage côté client** avec **scrypt** — votre mot de passe en clair n'arrive jamais sur les serveurs. - Stockage serveur sous forme de hash salé. - Aucun mot de passe en clair n'est jamais transmis ni stocké. - Aucun administrateur Omniscol ne peut lire, retrouver ou récupérer un mot de passe utilisateur. En cas de doute sur la compromission d'un compte, le changement du mot de passe invalide les accès dérivés qui dépendent de ce secret, notamment les liens de partage liés au mot de passe du créateur. #### Les communications sont-elles chiffrées ? Les accès applicatifs publics passent par HTTPS. La configuration d'exposition réseau dépend du déploiement retenu et doit être vérifiée dans le cadre sécurité ou contractuel du compte concerné. #### Comment fonctionne l'authentification ? Les sessions Omniscol utilisent des jetons signés avec une durée de vie limitée ; l'accès est renouvelé pendant que l'utilisateur travaille dans l'interface. Les liens de partage et les jetons API suivent des règles séparées : - un lien de partage peut avoir une date d'expiration et dépend aussi du compte qui l'a créé ; changer le mot de passe de ce compte ou le désactiver invalide les accès concernés ; - un jeton API dépend d'une clé créée dans l'interface ; supprimer cette clé ou atteindre sa date d'expiration invalide les jetons associés. Voir aussi [Lien de partage](#page-glossary.share-link) et [API Omniscol](#page-integrations.api-tokens). #### API : clés et jetons L'accès API se gère depuis l'interface avec deux objets visibles : 1. **Clé** — créée avec un libellé et, si besoin, une date d'expiration. Cette expiration peut être modifiée plus tard. 2. **Jeton** — généré depuis une clé, avec une liste de points d'accès API autorisés et une expiration propre. Cette expiration ne se modifie pas après génération ; il faut créer un nouveau jeton. Bonne pratique : une clé par intégration, avec un libellé explicite et une expiration adaptée au besoin. En cas de doute, supprimez la clé et créez-en une nouvelle. Voir [API Omniscol](#page-integrations.api-tokens). #### Mes utilisateurs peuvent-ils utiliser leur compte d'entreprise (SSO) ? Oui, via [OIDC / SSO](#page-integrations.oauth2), quand la configuration est activée sur le compte. Omniscol prend en charge Google Workspace, Microsoft Entra ID et les fournisseurs OIDC génériques. Chaque utilisateur se connecte alors avec son identité d'entreprise et conserve les droits configurés dans Omniscol. #### Quelles protections contre les tentatives de connexion abusives ? - Les réponses d'authentification échouée sont volontairement ralenties. - Les écrans d'administration bénéficient de protections renforcées. - Omniscol n'indique pas si l'identifiant existe ou non : le message reste générique. #### Cycle de vie des comptes utilisateurs - **Désactivation sans suppression** — un compte désactivé ne peut plus se connecter, mais ses données associées sont préservées. - **Changement obligatoire au premier accès** — quand un mot de passe est défini manuellement, l'utilisateur doit le changer à la première connexion. - **Réinitialisation** — un administrateur peut déclencher une remise à zéro sans connaître le mot de passe existant. #### Sécurité réseau et exploitation Les documents sécurité fournis sur demande détaillent l'hébergement, la séparation réseau, les règles d'accès aux données et les procédures opérationnelles applicables au compte concerné. #### Existe-t-il un journal d'audit ? Oui lorsque l'option de logs et la rétention correspondante sont activées pour le compte. Le périmètre visible dépend des opérations journalisées et de la profondeur configurée par Omniscol. Voir [Journaux d'activité (logs)](#page-admin.logs). #### OWASP Top 10 Omniscol applique des contrôles alignés avec les risques OWASP Top 10 : contrôle d'accès, chiffrement, validation des entrées, configuration sécurisée, suivi des dépendances, protection des sessions et journalisation. Le périmètre exact peut être détaillé dans les documents sécurité fournis sur demande. #### Tests de sécurité automatisés Des contrôles automatisés sont intégrés au processus de développement et de déploiement d'Omniscol. Leur périmètre évolue avec le produit ; les éléments détaillés peuvent être fournis dans le cadre sécurité adapté. #### Comment effectuer une sauvegarde manuelle ? Le bouton **Télécharger** télécharge un export complet du compte au format JSON. Le fichier doit être conservé avec soin : il contient les hashs de mots de passe et l'ensemble des données personnelles. En cas d'incident majeur, ce fichier peut être renvoyé à l'équipe Omniscol pour réinjection. Si l'option **Snapshots** est activée sur le compte, vous pouvez aussi automatiser la création de points de sauvegarde restaurables. Voir [Points de sauvegarde](#page-admin.snapshots). #### Historique des incidents Au plus récent recensement (février 2026) : - **0 violation de données client** (historique cumulé). - **0 incident de sécurité** en 2025. Ces chiffres sont publiés dans `SECURITY_ONE_PAGER.md`, document revu trimestriellement. #### Voir aussi - [Architecture et rôles](#page-overview.architecture-and-roles) - [Lien de partage](#page-glossary.share-link) - [Jeton API](#page-glossary.api-token) - [API Omniscol](#page-integrations.api-tokens) - [OIDC / SSO](#page-integrations.oauth2) - [Sauvegardes et snapshots](#page-admin.snapshots) - [Journaux d'activité (logs)](#page-admin.logs) ### 16.9 FAQ — Tarification et licences *Source: `help/fr/faq/pricing-and-licenses.md` · id: faq.pricing-and-licenses · Updated: 2026-06-13* Questions fréquentes sur les plans d'abonnement, les fonctions incluses et les options à la carte, ainsi que la facturation. Pour le détail des fonctionnalités par plan / option, voir [Plans et options Omniscol](#page-overview.plans-and-options). #### Quels plans d'abonnement existent ? Trois plans principaux, plus un catalogue d'options à la carte : | Plan | Public cible | | --- | --- | | **Lite** | Très petits établissements, indépendants, formateurs solo, tests — génération d'EDT et impression uniquement (pas de publication ni gestion d'élèves) | | **Standard** | Établissement classique (école, collège, lycée), équipe planning unique, EDT hebdomadaire | | **Premium** | Enseignement supérieur, formation continue, gros volumes, multi-sites complexes | S'y ajoutent **Standard Plus** (Standard complété du module **Service du personnel**) et l'offre autonome **Service du personnel** (gestion de surveillance sans le reste d'Omniscol). Voir [Plans et options Omniscol](#page-overview.plans-and-options) pour le détail des fonctionnalités. #### Quelles fonctions sont incluses en Premium ? Par défaut sur un compte Premium : - Mode calendrier — EDT datés séance par séance ; - Disponibilités calendrier — disponibilités saisies date par date ; - Plusieurs EDT actifs — publications simultanées sur les mêmes semaines. (Les **groupes de groupes** ne sont pas une fonction Premium : ils sont disponibles sur tous les comptes, quel que soit le plan.) #### Quelles options peuvent être souscrites à la carte ? Les options contractuelles restantes sont activables selon le besoin du compte, en complément du plan choisi : - Plusieurs EDT actifs sur compte Standard — cas exceptionnel d'activation contractuelle, avec cadrage et facturation adaptés (la fonction est incluse de base en Premium) ; - Comptes liés — comptes liés et partage d'occupations de ressources, activé sur demande par Omniscol ; - Rôles personnalisés — rôles personnalisés avec matrice de permissions ; - Points de sauvegarde — états du compte restaurables ; - Collaboration — édition collaborative temps réel ; - **Service du personnel** — module de surveillance / encadrement (aussi disponible en offre autonome sans le reste d'Omniscol) ; - Synchronisation avec des systèmes externes — synchronisation avec un ERP / SI externe (Aurion, Auriga, ou connecteur ajouté sur projet) ; - Journaux d'activité — consultation des journaux lorsque la profondeur de conservation est configurée sur le compte ; - Modules complémentaires — modules optionnels supplémentaires, selon module et contrat. #### Existe-t-il une offre « Service du personnel seul » ? Oui. Pour les établissements qui n'ont besoin que de la gestion de surveillance / encadrement, le module **Service du personnel** est aussi commercialisé sans le reste d'Omniscol. Le compte expose alors seulement le module **Service du personnel** et les écrans utilisateurs minimaux. #### Où trouver les tarifs ? Les tarifs ne sont pas affichés dans cette documentation : ils dépendent du contrat avec votre établissement (taille, fonctionnalités, durée, accompagnement). Contactez **[contact@omniscol.com](mailto:contact@omniscol.com)** pour un devis. #### Comment connaître le plan de mon compte ? Le plan actif et les options souscrites ne sont pas exposés dans l'interface d'administration courante (la rubrique correspondante des **Paramètres** est réservée à Omniscol). Pour connaître le plan d'un compte, contactez l'équipe Omniscol. #### Peut-on changer de plan ou ajouter des options en cours d'année ? Oui. L'ajout d'une option est effectif immédiatement, sans interruption de service. Le passage du Standard au Premium suit le même principe. La désactivation d'une option exige que les fonctionnalités correspondantes ne soient plus utilisées sur le compte (par exemple aucun partage de ressources entre comptes si l'on retire les comptes liés, ou plus de publications simultanées si l'on retire plusieurs EDT actifs sur un compte Standard concerné). #### Y a-t-il une période d'essai ? Oui. Une période d'évaluation est généralement proposée pour les nouveaux comptes, avec accompagnement par l'équipe Omniscol pour la configuration initiale. Conditions sur demande. #### Comment fonctionne la facturation ? La facturation est annuelle par défaut, avec engagement sur la durée choisie. Les conditions spécifiques (rythme de facturation, modes de paiement) sont définies dans le contrat. #### Que se passe-t-il à la fin du contrat ? Vos données restent accessibles pendant une période de transition définie contractuellement, durant laquelle l'export JSON complet reste disponible. La réversibilité est garantie par contrat (RGPD). #### Voir aussi - [Plans et options Omniscol](#page-overview.plans-and-options) - [Qu'est-ce qu'Omniscol ?](#page-overview.what-is-omniscol) - [Sécurité et hébergement](#page-faq.security-and-hosting) --- ## Glossaire **Glossaire** — 51 termes - [Absence](#page-glossary.absence) - [Alignement de groupes](#page-glossary.alignment) - [Année scolaire](#page-glossary.school-year) - [Campus](#page-glossary.campus) - [Classe](#page-glossary.class) - [Co-enseignement](#page-glossary.co-teaching) - [Conflit](#page-glossary.conflict) - [Cours](#page-glossary.course) - [Cours alternés / Semaines A-B](#page-glossary.alternate-lessons) - [Cours associés (alternance demi-groupes)](#page-glossary.associated-lessons) - [Cours concaténés](#page-glossary.concatenated-lessons) - [Cours transverse](#page-glossary.transverse-course) - [Diagnostic](#page-glossary.diagnostic) - [Disponibilités des professeurs (vœux)](#page-glossary.wishes) - [EDT cyclique](#page-glossary.cyclic-timetable) - [EDT hebdomadaire](#page-glossary.weekly-timetable) - [Élève / Étudiant / Apprenant](#page-glossary.student) - [Emploi du temps (EDT)](#page-glossary.timetable) - [Fenêtre de dates](#page-glossary.date-windows) - [Grande salle (plusieurs séances simultanées)](#page-glossary.large-room) - [Groupe](#page-glossary.group) - [Groupe de groupes](#page-glossary.groups-of-groups) - [Groupe libre](#page-glossary.free-group) - [iCal (export agenda)](#page-glossary.ical) - [Incompatibilité (entre matières)](#page-glossary.incompatibility) - [Jeton API](#page-glossary.api-token) - [Lien de partage](#page-glossary.share-link) - [Ligne de temps](#page-glossary.timeline) - [Matière](#page-glossary.subject) - [Modalité d'une séance](#page-glossary.lesson-modality) - [Mode calendrier](#page-glossary.calendar-mode) - [Mode d'affichage de l'EDT](#page-glossary.schedule-view-mode) - [Multi-salles (une séance dans plusieurs salles)](#page-glossary.multi-room) - [Niveau](#page-glossary.level) - [Panneau d'affichage](#page-glossary.panel) - [Partition de classe](#page-glossary.class-division) - [Professeur / Intervenant](#page-glossary.teacher) - [Publication / Activation d'un EDT](#page-glossary.publication) - [Remplacement / Suppléance](#page-glossary.substitution) - [Ressource](#page-glossary.resource) - [Salle](#page-glossary.classroom) - [Séance / Leçon](#page-glossary.lesson) - [Service du personnel](#page-glossary.staffing) - [Site](#page-glossary.site) - [Solveur / Algorithme de génération automatique](#page-glossary.solver) - [Spécialisation de salle](#page-glossary.classroom-specialization) - [Statut d'une séance](#page-glossary.lesson-status) - [Tableau de bord](#page-glossary.dashboard) - [Type de cours](#page-glossary.lesson-type) - [Vacances](#page-glossary.holidays) - [Vacataire / Intervenant externe](#page-glossary.external-teacher) ### Absence *Source: `help/fr/glossary/absence.md` · id: glossary.absence · Updated: 2026-05-14* *Aussi appelé : indisponibilité · congé · arrêt · absence ponctuelle* Une **absence** dans Omniscol est la déclaration qu'une entité ne sera pas présente sur une période donnée. Les entités gérées sont les professeurs, les classes, les élèves et, si le Service du personnel est actif, les membres du personnel. Une absence acceptée peut modifier l'affichage des séances de cours : - **professeur absent non remplacé** : séance marquée comme impactée, avec le professeur barré ; - **professeur absent avec [remplaçant](#page-glossary.substitution)** : remplaçant affiché à côté du titulaire barré ; - **classe absente** : séance de la classe retirés de l'affichage sur la période ; - **élève absent** : suivi attaché à l'élève, sans modifier les cours de sa classe. #### Statuts d'une absence - **accepté** : l'absence est validée et prise en compte. - **en attente** : demande déclarée par l'utilisateur concerné, à valider par un administrateur. - **refusé** : demande rejetée. - **abandonné** : demande annulée par son déclarant. Seules les absences au statut **accepté** impactent l'affichage des emplois du temps. #### Champs d'une absence - **Entité** : professeur, classe, élève ou personnel si le Service du personnel est actif. - **Plage de dates** : début et fin. Une absence réellement ouverte doit être suivie explicitement ; la fin de l'année scolaire peut servir de borne technique si aucune fin n'est fournie. - **Plage horaire** : journée entière ou créneaux précis. - **Filtres** : classes, matières ou affectations selon le type d'entité. - **Motif** : choisi dans la liste proposée ; un administrateur peut saisir un motif personnalisé. - **Commentaire** : texte libre court. - **Statut** : accepté, en attente, refusé ou abandonné. #### Voir aussi - [Remplacement / suppléance](#page-glossary.substitution) - [Module Absences — vue d'ensemble](#page-absences.overview) - [Déclarer une absence](#page-absences.declaring) ### Alignement de groupes *Source: `help/fr/glossary/alignment.md` · id: glossary.alignment · Updated: 2026-06-26* *Aussi appelé : regroupement transversal* Un **alignement** regroupe plusieurs [groupes](#page-glossary.group) issus de **classes différentes** qui doivent partager **le même créneau horaire, le même professeur et la même salle**. L'exemple classique : les latinistes de 8A, 8B et 8C suivent ensemble un unique cours de latin. Au lieu de créer trois cours en parallèle (qui se disputeraient professeur et salle), vous créez un **groupe « Latinistes »** dans chacune des trois classes, puis vous les **alignez**. Le solveur place alors un seul cours, lié aux trois groupes simultanément. Cas typiques : - LV1 / LV2 inter-classes (groupes Anglais réunis depuis plusieurs classes), - options inter-classes (Latin, Grec, Sciences PO), - enseignements de spécialité au lycée français (depuis la réforme), - co-modules dans le supérieur (un même cours de tronc commun pour plusieurs parcours). #### Pouvoir et restrictions L'alignement est extrêmement puissant — il évite la duplication, garantit la cohérence des changements (une séance déplacée est déplacée partout), et simplifie la consultation. **Mais il est aussi très restrictif** : - Une fois aligné, un groupe ne peut plus avoir de séance indépendante à ce créneau précis : si une classe parmi les trois a une séance en dérogation, il faut **dupliquer** son groupe et désaligner le clone. - Tous les groupes alignés doivent avoir, dans leurs classes respectives, exactement le même volume horaire et la même configuration. Un déséquilibre produit une alerte de cohérence (cf. l'onglet Génération). - Les changements (rajouter une séance, changer la salle) doivent être faits une seule fois, sur l'alignement — Omniscol propage. Mais éditer la séance via une seule des classes peut produire des effets de bord. #### Différences importantes | Concept | Périmètre | Contrainte | | --- | --- | --- | | [Partition](#page-glossary.class-division) | Groupes d'**une** classe | Même créneau, **différents** professeur/salle | | **Alignement** | Groupes de **plusieurs** classes | Même créneau, **même** professeur, **même** salle | | [Groupe de groupes](#page-glossary.groups-of-groups) | Mêmes que l’alignement | Même créneau, professeur/salle uniques, **édition flexible a posteriori** | #### En mode calendrier Dans un emploi du temps en mode [calendrier](#page-glossary.calendar-mode), on préfère le [groupe de groupes](#page-glossary.groups-of-groups) à l'alignement : plus facile à éditer, on peut ajouter ou retirer un groupe au fur et à mesure sans devoir recréer la structure. #### Voir aussi - [Groupe](#page-glossary.group) - [Partition](#page-glossary.class-division) - [Groupes de groupes](#page-glossary.groups-of-groups) - [Cours transverse](#page-glossary.transverse-course) - [Alignements de groupes](#page-core-concepts.alignments) ### Année scolaire *Source: `help/fr/glossary/school-year.md` · id: glossary.school-year · Updated: 2026-05-10* *Aussi appelé : année universitaire · année académique · exercice* Une **année scolaire** dans Omniscol est la période de référence sur laquelle des emplois du temps sont publiés. C'est un objet déclaré au niveau de l'école dans Années scolaires. #### Pourquoi c'est obligatoire Vous devez avoir au moins **une** année scolaire déclarée pour pouvoir publier un EDT. L'année scolaire matérialise la **ligne de temps** sur laquelle vous activerez ensuite les EDT pour des plages spécifiques. #### Conventions de nommage Pour un affichage propre, nommez vos années par leurs dates : « 2025-2026 » plutôt que « Année en cours ». Vous pouvez ainsi conserver l'historique des années passées et préparer la suivante en parallèle. #### Vacances Vous pouvez renseigner les vacances de l'année scolaire : - **par copier-coller** d'un tableau (depuis Excel, Numbers, etc.), - **par import automatique** des dates pré-renseignées pour votre pays (proposé à la création de l'année si la base de données les connaît), - **en saisissant manuellement** les périodes. Les vacances sont retirées de la ligne de temps — les EDT publiés ne s'appliquent pas dessus. #### Décalages d'alternance Si votre école utilise des [semaines alternées](#page-glossary.alternate-lessons) (A/B), les vacances peuvent perturber l'alternance. Vous pouvez créer un **décalage virtuel** pour gérer ces cas (cliquez sur les semaines concernées dans la ligne de temps). #### Plusieurs années en parallèle À tout moment, vous pouvez avoir plusieurs années scolaires définies : l'année en cours, l'année précédente (historique), et la prochaine en préparation. Le bouton Année scolaire suivante (▶︎) sur la ligne de temps bascule entre années. L'**année courante** est définie dans Année scolaire courante. C'est elle qui détermine ce que voient par défaut les utilisateurs. #### Voir aussi - [Cours alternés / semaines A/B](#page-glossary.alternate-lessons) - [Gérer une année scolaire](#page-admin.school-year) - [Préparer la rentrée suivante](#page-timetables.next-school-year) ### Campus *Source: `help/fr/glossary/campus.md` · id: glossary.campus · Plan: premium · Updated: 2026-06-13* > **Premium** *Aussi appelé : implantation · faculté · pôle* > _Premium_ Un **campus** permet de distinguer plusieurs implantations, facultés ou pôles au sein d'un même compte Omniscol. La notion de campus est **réservée aux comptes Premium** et reste optionnelle : n'en créez que si elle vous aide réellement à refléter votre organisation. La notion est **organisationnelle**. Elle ne remplace pas le [site](#page-glossary.site), qui décrit plutôt une réalité géographique ou physique : lieu, grille horaire, salles, temps de trajet. Le campus devient particulièrement utile quand la notion de site ne recoupe pas votre organisation logique. Exemples : - plusieurs facultés partagent les mêmes bâtiments ; - plusieurs écoles d'un même groupe partagent plusieurs sites, de manière croisée ; - un même site physique accueille plusieurs pôles ou programmes. Même quand campus et site se recoupent largement, la notion peut rester intéressante pour faciliter les filtres et les regroupements. #### À quoi sert un campus Un campus sert principalement à : - regrouper des classes selon une même organisation ; - faciliter certains filtres et regroupements, notamment dans le diagnostic des conflits. Le campus ne définit pas à lui seul une grille horaire, un temps de trajet ou une contrainte de placement stricte. Ces comportements restent portés par les sites, les salles, les ressources et les contraintes de l'EDT. #### Où le configurer Les campus se créent dans les [paramètres généraux](#page-admin.parameters), sous les niveaux de classe. Chaque classe peut ensuite être rattachée à un campus, ce qui alimente les filtres et regroupements correspondants. #### Voir aussi - [Site](#page-glossary.site) - [Salle](#page-glossary.classroom) - [Classe](#page-glossary.class) - [Niveau](#page-glossary.level) - [Détecter et résoudre les conflits](#page-timetables.conflicts) ### Classe *Source: `help/fr/glossary/class.md` · id: glossary.class · Updated: 2026-07-05* *Aussi appelé : promotion · session · cohorte* Dans Omniscol, une **classe** est l'entité principale qui rassemble des élèves suivant un même cursus dans une même école, sur une période donnée. C'est le sujet des cours : un cours s'adresse à une classe (en totalité, ou via un [groupe](#page-glossary.group) qui en est une subdivision), pas l'inverse. Une classe porte : - un **nom** (par exemple « 6A », « FISE2-S3 », « Master 1 Marketing »), - un **niveau** (les niveaux sont définis dans Créer — par exemple 6e/5e/4e/3e en collège, L1/L2/L3 en licence), - éventuellement un **campus** (option Premium ; implantation, faculté, pôle ou autre regroupement organisationnel), - un **site** par défaut (lieu physique et salles utilisées par défaut), - éventuellement une **salle dédiée** dans laquelle les cours auront lieu par défaut, - un **effectif théorique** (nombre d'étudiants attendu ; optionnel mais utile au dimensionnement des salles). #### Vocabulaire selon le contexte Le mot « classe » prend des nuances très différentes selon le type d'établissement. Tous se ramènent à la même entité Omniscol : - **Primaire / secondaire** — « classe » au sens scolaire classique (CM2, 6A, Terminale ES). - **Enseignement supérieur** — souvent « promo », « promotion », « session », « cohorte », parfois « parcours » ou « spécialisation ». Une promotion de 200 étudiants est une classe ; les sous-groupes de TD/TP sont des [groupes](#page-glossary.group), pas des classes. - **Formation continue** — « session », « cohorte », « groupe d'apprenants ». > _Premium_ Dans le supérieur, « classe » désigne ici un groupe stable d'étudiants ou d'élèves partageant le même emploi du temps ou le même parcours global. Cela correspond souvent à une cohorte, à un groupe de formation ou parfois à un parcours. À ne pas confondre avec une UE (unité d'enseignement), un module ou un cours. Quand vous lisez « classe » dans Omniscol, lisez « la cohorte qui suit ce parcours sur cette période », pas « le local physique » (lequel est une [salle](#page-glossary.classroom)). #### Distinction classe vs groupe Un piège classique : confondre une classe et un groupe. Les groupes sont **toujours** des subdivisions d'une classe. Si vous avez besoin de mélanger des étudiants venus de plusieurs classes (par exemple les latinistes de 8A, 8B et 8C qui suivent un même cours de latin), vous ne créez pas une nouvelle classe : vous utilisez un [alignement de groupes](#page-glossary.alignment) ou un [groupe de groupes](#page-glossary.groups-of-groups). #### Voir aussi - [Groupe](#page-glossary.group) - [Niveau](#page-glossary.level) - [Partition de classe](#page-glossary.class-division) - [Alignement de groupes](#page-glossary.alignment) - [Campus](#page-glossary.campus) - [Site](#page-glossary.site) - [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) ### Co-enseignement *Source: `help/fr/glossary/co-teaching.md` · id: glossary.co-teaching · Updated: 2026-05-10* *Aussi appelé : binôme · double intervenant · intervenant principal et secondaire* Le **co-enseignement** désigne une séance assurée simultanément par **deux ou plusieurs professeurs**, dans la même salle, avec le même public d'étudiants. Omniscol modélise simplement ce cas : un cours peut avoir **plusieurs intervenants**. Chacun est crédité de la séance dans ses statistiques et son service horaire. #### Cas typiques - **Encadrement renforcé** — un professeur titulaire + un AED, deux professeurs pour un effectif important. - **Visiting professor ponctuel** — un cours dont la session du jour est co-animée par un intervenant externe (cf. [vacataire / intervenant externe](#page-glossary.external-teacher)). - **Co-titulaires** — module enseigné en binôme tout au long du semestre. - **Double expertise** — un module pluridisciplinaire (par exemple « informatique pour la santé » avec un médecin et un informaticien). #### Différence avec l'alternance Le co-enseignement, c'est **deux professeurs en même temps sur la même séance**. L'**alternance** ([cours alternés](#page-glossary.alternate-lessons)), c'est **deux professeurs sur le même créneau, mais à des semaines différentes**. Si vos deux professeurs alternent toutes les semaines mais ne sont jamais ensemble, ce sont des cours alternés, pas du co-enseignement. Si l'un d'eux n'intervient que pour quelques séances ponctuelles, le plus simple est de créer un cours séparé pour ces dates précises avec le visiting professeur, en plus du cours principal — surtout en mode [calendrier](#page-glossary.calendar-mode). #### Voir aussi - [Séance / Leçon](#page-glossary.lesson) - [Vacataire](#page-glossary.external-teacher) - [Co-enseignement dans le supérieur](#page-higher-ed.co-teaching) ### Conflit *Source: `help/fr/glossary/conflict.md` · id: glossary.conflict · Updated: 2026-06-25* *Aussi appelé : alerte · incompatibilité détectée · chevauchement · collision* Un **conflit** dans Omniscol est une situation où deux contraintes ne peuvent pas être satisfaites simultanément. Exemples : - un professeur affecté à deux séances au même créneau, - une salle réservée par deux séances en même temps, - un groupe d'élèves devant être à deux endroits à la fois, - une séance qui ne respecte pas la spécialisation requise pour sa matière, - une séance dont la capacité totale (somme des salles affectées) est inférieure à l'effectif du groupe, - un alignement où les groupes alignés ont des volumes horaires différents. #### Détection en temps réel Omniscol détecte les conflits **au fil de la saisie**, pas seulement au moment de la génération : - bandeau rouge en haut de l'écran de répartition des heures, - icône [triangle-exclamation] sur les séances et les classes concernées, - liste des conflits cliquable (la « loupe » mène au détail). #### Conflits volontaires Tous les conflits ne doivent pas être résolus. Certains sont volontaires : - même groupe sur un examen + une salle de tiers-temps (la même cohorte d'élèves est attendue dans deux salles selon des conditions), - effectif > capacité de la salle quand vous savez que tous les inscrits ne viendront pas. Vous pouvez **laisser le conflit** ; l'alerte reste affichée mais ne bloque pas le fonctionnement. #### Conflits bloquants Certaines incohérences empêchent la **génération automatique** de réussir : - pas de salle compatible avec une matière + un volume horaire, - disponibilités d'un professeur totalement incompatibles avec ses cours, - alignement structurellement impossible. Ces conflits sont marqués comme **critiques** ; tant qu'ils existent, le bouton Générer EDT reste indisponible. #### Voir aussi - [Diagnostic](#page-glossary.diagnostic) - [Solveur](#page-glossary.solver) - [Détecter et résoudre les conflits](#page-timetables.conflicts) ### Cours *Source: `help/fr/glossary/course.md` · id: glossary.course · Updated: 2026-06-26* *Aussi appelé : matière de classe · cours d'une classe · ligne de cours* Un **cours** est l'enseignement d'une [matière](#page-glossary.subject) à une [classe](#page-glossary.class) (ou à un de ses [groupes](#page-glossary.group)), sur une période donnée. C'est l'unité de base de votre **offre pédagogique** : ce qui doit être enseigné, à qui et en quel volume — indépendamment du moment où cela tombera dans l'emploi du temps. Un cours porte : - une **matière** (la discipline enseignée), - éventuellement un **[type de cours](#page-glossary.lesson-type)** (CM, TD, TP, examen…) — le couple `(matière, type)` forme un cours distinct, - un **volume horaire** visé (heures par semaine, ou nombre de séances), - un ou plusieurs **professeurs** affectés, - éventuellement des **contraintes** : poids pédagogique, salle spécialisée requise, incompatibilités, préférences de placement. #### Cours, matière, séance : ne pas confondre - La [matière](#page-glossary.subject) est la discipline pure (les mathématiques), au catalogue de l'école. - Le **cours** est cette matière *rapportée à une classe*, avec un volume et des attributs : « les mathématiques en 3e A, 4 h par semaine, en TD ». - Les [séances](#page-glossary.lesson) sont les **occurrences** concrètes qui implémentent le cours dans la grille (les quatre créneaux hebdomadaires réellement posés). Un cours donne donc lieu à une ou plusieurs séances ; supprimer une séance ne supprime pas le cours. #### Un concept implicite dans l'interface L'interface ne dit pas « cours » à cet endroit : vous le construisez en **affectant une matière à une classe** (onglet Cours d'une classe), puis en renseignant volume, type et professeurs. La notion reste utile pour raisonner — particulièrement dans l'enseignement supérieur, où l'on distingue nettement le cours (la définition) de ses séances (les occurrences). #### L'ensemble des cours : le programme L'ensemble des cours d'une classe — ou d'une formation — constitue son **programme**. Selon le niveau et le vocabulaire de l'établissement, on parle aussi de **maquette pédagogique**, **plaquette**, **cursus** ou **syllabus**. Omniscol n'impose pas ce vocabulaire : il manipule des cours (des matières de classe, typées) ; leur somme *est* la maquette. #### Voir aussi - [Matière](#page-glossary.subject) - [Séance / Leçon](#page-glossary.lesson) - [Type de cours](#page-glossary.lesson-type) - [Cours, séances, types de cours](#page-core-concepts.lessons-and-types) - [Organisation des données : matières, classes, EDT](#page-core-concepts.data-model) - [Configurer les matières par classe](#page-timetables.creating-classes) ### Cours alternés / Semaines A-B *Source: `help/fr/glossary/alternate-lessons.md` · id: glossary.alternate-lessons · Updated: 2026-05-10* *Aussi appelé : semaines alternées · semaines A/B · semaine paire impaire · alternance hebdomadaire* Les **cours alternés** sont des cours qui ne reviennent pas chaque semaine, mais alternent avec d'autres cours sur le même créneau. Le cas classique : un cours en semaine A, un autre en semaine B, sur le même jour à la même heure. #### Configuration de la cadence L'alternance se configure dans Enregistrer. Trois options : - **Désactivée** — pas d'alternance. - **Lettres** — semaine A, B (et C, D… si vous en mettez plus). - **Chiffres** — semaine 1, 2 (et 3, 4… si vous étendez). Omniscol n'impose pas un cycle de 2 — vous pouvez alterner sur 3, 4 ou plus de semaines. #### Création d'un cours alterné Au moment de configurer la répartition des heures : 1. Positionnez la souris sur la séance à alterner. Une icône [plus] apparaît en haut à droite, cliquez. 2. Une nouvelle plage libre est ajoutée pour la semaine alternée. 3. Créez la séance correspondant à cette nouvelle plage. 4. Positionnez-la avec son bouton punaise [thumbtack], puis cliquez le créneau jour/heure voulu parmi les pastilles colorées. Vous pouvez répéter pour ajouter d'autres semaines alternées au même cours. #### Combinaison avec d'autres complexités Un cours alterné peut être : - **simple** — alternance pure entre deux cours, - **[concaténé](#page-glossary.concatenated-lessons)** — un cours qui alterne et qui est aussi un double-créneau, - **[associé](#page-glossary.associated-lessons)** — cumulé avec des cours associés (permutation de groupes : A en bio puis physique, B en physique puis bio). La permutation de groupes est une complexité **distincte** de l'alternance A/B, mais peut s'y combiner. #### Décalage par les vacances Si vous étiez en semaine A juste avant les vacances et voulez reprendre en semaine B après, créez un **décalage virtuel** sur la ligne de temps des semaines de l'année (cf. [année scolaire](#page-glossary.school-year)). Sans décalage, l'alternance reprend simplement dans son cycle normal. #### Voir aussi - [Séance / Leçon](#page-glossary.lesson) - [Cours complexes](#page-core-concepts.complex-lessons) - [Année scolaire et vacances](#page-glossary.school-year) ### Cours associés (alternance demi-groupes) *Source: `help/fr/glossary/associated-lessons.md` · id: glossary.associated-lessons · Updated: 2026-05-10* *Aussi appelé : alternance groupe a/b · swap* Les **cours associés** sont deux cours simultanés en demi-groupes qui **alternent consécutivement**. Le cas typique : ``` Créneau 1 : groupe A en bio, groupe B en physique Créneau 2 : groupe A en physique, groupe B en bio ``` Les deux groupes ont vu les deux matières au bout des deux créneaux, mais dans un ordre différent. Cette structure est très répandue en sciences expérimentales (TP de bio + TP de physique avec deux professeurs spécialistes qui « tournent »), en arts (un demi-groupe en pratique, l'autre en théorie, puis permutation), etc. #### Création 1. Créez d'abord deux cours [concaténés](#page-glossary.concatenated-lessons) (un sous l'autre). 2. Survolez la frontière entre les deux : un bouton « association » apparaît. 3. Cliquez et désignez les **deux groupes** qui doivent alterner — idéalement déclarés en [partition](#page-glossary.class-division). #### Cohérence avec les groupes Les groupes utilisés dans une association doivent être déclarés en **partition** dans la classe — sinon le solveur émet une alerte de cohérence (un groupe ne peut être à deux endroits en même temps). #### Voir aussi - [Cours concaténés](#page-glossary.concatenated-lessons) - [Partition de classe](#page-glossary.class-division) - [Cours complexes](#page-core-concepts.complex-lessons) ### Cours concaténés *Source: `help/fr/glossary/concatenated-lessons.md` · id: glossary.concatenated-lessons · Updated: 2026-05-10* *Aussi appelé : séances accolées · cours consécutifs · cours doubles · doublons consécutifs* Des **cours concaténés** sont deux séances qui doivent être positionnées **consécutivement** dans la journée. Le solveur garantit qu'ils s'enchaînent sans intercalation. Cas typiques : - **TP de 2h** à partir de deux blocs de 1h, - **CM + TD** à la suite (CM d'introduction puis TD d'application), - **double séance d'examen** de 2h sur un créneau d'1h × 2. #### Création Glissez-déposez une séance sous une autre dans la vue de répartition. Les deux séances apparaissent alors **collées** l'une sous l'autre, formant un bloc unique. #### Détacher Le bouton « ciseaux » qui apparaît au survol entre deux séances concaténées permet de **séparer** la concaténation. Les deux séances redeviennent alors indépendantes. #### Pourquoi pas créer un seul cours plus long ? Bonne question. Deux raisons principales de concaténer plutôt que d'allonger : 1. Les cours peuvent avoir des **types différents** (CM concaténé avec TD), ou des **professeurs différents**, ou des **salles différentes**. 2. Vous voulez compter dans les statistiques deux séances distinctes (deux entrées de cahier de texte) plutôt qu'une. Si tous les attributs sont identiques, allonger un cours unique est plus simple. Concaténer apporte de la souplesse là où il en faut. #### Voir aussi - [Cours associés](#page-glossary.associated-lessons) - [Cours complexes](#page-core-concepts.complex-lessons) ### Cours transverse *Source: `help/fr/glossary/transverse-course.md` · id: glossary.transverse-course · Updated: 2026-06-21* *Aussi appelé : cours transverses · cours mutualisé · cours commun · UE transversale · enseignement transversal · regroupement transversal* Un **cours transverse** réunit des étudiants de **plusieurs classes, parcours ou promotions** autour d'un même cours — tronc commun, mineures, options inter-parcours, conférences inter-promos. Dans Omniscol, on le modélise le plus souvent avec un **[groupe de groupes](#page-glossary.groups-of-groups)** (d'autres logiciels parlent de « regroupement ») : vous agrégez les groupes concernés en une entité unique, sur laquelle vous posez le cours. Il apparaît alors dans toutes les classes parentes et reste **modifiable a posteriori** — on ajoute ou retire un groupe sans toucher à la structure. C'est l'option à privilégier, en particulier dans le supérieur et en mode calendrier. Pour un besoin **ponctuel**, sans créer d'entité nommée, vous pouvez aussi **affecter plusieurs groupes directement à la séance** depuis son sélecteur de groupe. Plus rapide, mais moins lisible et moins réutilisable. Quand les classes sont **parallèles et de structure identique** (mêmes volumes horaires), surtout en emploi du temps hebdomadaire ou cyclique, l'**[alignement](#page-glossary.alignment)** reste pertinent : un seul cours partagé entre les groupes, même créneau, même professeur, même salle — au prix d'une composition figée. #### Voir aussi - [Groupe de groupes](#page-glossary.groups-of-groups) - [Alignement de groupes](#page-glossary.alignment) - [Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups) - [Groupes de groupes](#page-core-concepts.groups-of-groups) ### Diagnostic *Source: `help/fr/glossary/diagnostic.md` · id: glossary.diagnostic · Updated: 2026-06-26* *Aussi appelé : vérification · contrôle · alerte de configuration · alerte de cohérence* Un **diagnostic** dans Omniscol est une vérification de cohérence exécutée en continu par le système, qui pointe les problèmes de configuration de l'EDT avant qu'ils ne fassent échouer la génération ou ne produisent un résultat incorrect. #### Niveaux de gravité - **Critique** (rouge, bloquant) — empêche la génération de réussir : alignement structurellement impossible, capacité totale insuffisante, professeur sans aucun créneau libre… - **Avertissement** (orange) — peut être laissé en l'état mais signale un risque ou une incohérence à valider : déséquilibre dans les volumes alignés, salle légèrement sous-dimensionnée, disponibilité très contraignante. - **Information** (bleu) — note non bloquante : « certaines salles ne sont jamais utilisées », « un professeur a un service très inférieur à ses pairs ». #### Où voir les diagnostics - En **bandeau supérieur** sur l'écran de répartition des heures et la visualisation d'EDT. - À côté du **nom de la classe** ou du professeur concerné dans les listes. - Détaillés dans l'onglet Génération (ou vérification selon le mode de l'EDT) avec une explication contextuelle pour chaque diagnostic. #### Diagnostics fréquents | Diagnostic | Cause typique | Comment résoudre | | --- | --- | --- | | Pas de salle compatible | Spécialisation requise sans salle correspondante | Créer la salle ou lever la spécialisation | | Volume horaire incohérent dans un alignement | Une classe a 2h, l'autre 3h sur le même groupe aligné | Aligner les volumes, ou désaligner | | Capacité insuffisante | Effectif > capacité de la salle | Affecter une salle plus grande, ou plusieurs salles ([multi-salles](#page-glossary.multi-room)) | | Disponibilité sans créneau possible | Tous les créneaux sont marqués impossibles pour ce professeur | Assouplir les disponibilités ou redistribuer les séances | | Séance hors-période d'absence | Séance positionnée dans une plage où le professeur est absent | Déplacer la séance ou retirer l'absence | #### Voir aussi - [Conflit](#page-glossary.conflict) - [Solveur](#page-glossary.solver) - [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) ### Disponibilités des professeurs (vœux) *Source: `help/fr/glossary/wishes.md` · id: glossary.wishes · Updated: 2026-06-21* *Aussi appelé : indisponibilités · préférences · voeux* Les **disponibilités** d'un professeur indiquent au logiciel les créneaux qui sont **impossibles** (noir, contraintes dures), **indésirables** (rouge, contraintes molles) ou **préférés** (vert). On parle aussi de **vœux** dans l'éducation secondaire — c'est le même concept, lorsque le professeur renseigne ses disponibilités théoriques hebdomadaires et que l'établissement en dispose pour la génération de l'emploi du temps (possiblement en les ayant modifiées ou pondérées). Le solveur respecte **strictement** les impossibilités et tente au mieux de respecter les indésirables / préférés en fonction des autres contraintes. #### Deux modes selon le type d'EDT - **EDT hebdomadaire** — disponibilités saisies sur la semaine type, validées par l'administration avant la génération. Une modification ultérieure est signalée mais n'interfère pas. - **EDT calendrier** (sur les comptes Premium) — disponibilités saisies date par date, consolidées en temps réel. Les conflits sont détectés au fur et à mesure. #### Saisie par le professeur lui-même Les professeurs peuvent saisir leurs propres disponibilités depuis leur compte ([portail professeur](#page-portal.teacher-portal)) — gain de temps majeur pour l'administration. Ils peuvent aussi recevoir un **lien de partage direct vers l'écran des disponibilités** (sans devoir se connecter), généré depuis Télécharger avec une date d'expiration. #### Voir aussi - [Professeur](#page-glossary.teacher) - [Solveur](#page-glossary.solver) - [Disponibilités et contraintes horaires des professeurs](#page-core-concepts.wishes-and-availability) - [Disponibilités en mode calendrier](#page-timetables.calendar-wishes) ### EDT cyclique *Source: `help/fr/glossary/cyclic-timetable.md` · id: glossary.cyclic-timetable · Updated: 2026-05-10* *Aussi appelé : emploi du temps cyclique · cycle · jours numérotés* Un **EDT cyclique** définit des cours récurrents sur un nombre arbitraire de jours (Day 1, Day 2, … Day 6, etc.), pas nécessairement aligné sur la semaine de 5 ou 7 jours. C'est typiquement utilisé dans les **systèmes nord-américains** (cycles de 6 ou 8 jours), dans certaines écoles internationales, et plus rarement en Europe. #### Différence avec l'hebdomadaire | Aspect | Hebdomadaire | Cyclique | | --- | --- | --- | | Unité de répétition | Semaine (5-7 jours) | Cycle de N jours | | Numérotation | Lundi, mardi… | Day 1, Day 2… | | À la publication | On choisit les semaines actives | On choisit les jours de semaine où le cycle s'applique | | Génération auto | Oui | Oui | #### Quand l'utiliser Si votre établissement fonctionne sur un cycle de 6 jours (par exemple Day 1 lundi, Day 2 mardi, Day 3 mercredi, Day 4 jeudi, Day 5 vendredi, Day 6 lundi suivant, Day 1 mardi suivant…), le mode hebdomadaire ne convient pas — le cyclique est fait pour ce cas. Si vous êtes en Europe avec un cycle 5 jours strictement aligné sur la semaine, restez en hebdomadaire — c'est plus simple à configurer et à publier. #### Voir aussi - [Emploi du temps](#page-glossary.timetable) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) ### EDT hebdomadaire *Source: `help/fr/glossary/weekly-timetable.md` · id: glossary.weekly-timetable · Updated: 2026-05-15* *Aussi appelé : emploi du temps hebdomadaire · semaine type · récurrent · planning hebdomadaire* Un **EDT hebdomadaire** repose sur une **semaine type** : les cours sont définis comme récurrents sur les jours de la semaine. À la publication, on choisit les **plages de semaines** de l'année où la semaine type s'applique. C'est le mode utilisé en : - enseignement primaire et secondaire (écoles, collèges, lycées), - premier cycle universitaire dans certaines facultés, - centres de formation linguistique avec horaires fixes. #### Génération automatique Le solveur de génération automatique fonctionne sur ce mode. Il cherche le placement optimal des séances dans la semaine type en respectant : - disponibilités des professeurs, - spécialisations de salles requises, - partitions, alignements, incompatibilités, - pondération pédagogique (équilibrage matières sur les jours). Voir [Solveur](#page-glossary.solver). #### Semaines alternées Avec la fonction [semaines alternées](#page-glossary.alternate-lessons), vous pouvez avoir des séances qui n'apparaissent qu'une semaine sur deux (ou une sur trois, etc.) — semaines A/B, 1/2, etc. Configuré dans Enregistrer. #### Vacances et alternance Les vacances scolaires peuvent perturber l'alternance A/B. Si vous étiez en semaine A juste avant les vacances et que vous voulez reprendre en semaine B après, vous pouvez créer un **décalage virtuel** sur la ligne de temps (clic sur les semaines concernées). #### Disponibilités validées a priori Les disponibilités des professeurs sont validées en amont (avant la génération). Toute modification ultérieure d'un professeur est signalée mais n'interfère pas avec l'EDT déjà calculé. C'est différent du mode [calendrier](#page-glossary.calendar-mode), où les disponibilités sont consolidées en temps réel. #### Voir aussi - [Emploi du temps](#page-glossary.timetable) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Génération automatique](#page-glossary.solver) - [Cours alternés](#page-glossary.alternate-lessons) ### Élève / Étudiant / Apprenant *Source: `help/fr/glossary/student.md` · id: glossary.student · Updated: 2026-05-14* *Aussi appelé : participant · stagiaire* Un **élève** dans Omniscol est un individu inscrit à une [classe](#page-glossary.class), suivant des cours, et éventuellement membre d'un ou plusieurs [groupes](#page-glossary.group) au sein de cette classe. **Élève** est le terme canonique de l'interface ; selon le contexte de l'établissement, le vocabulaire courant change : - **Primaire / secondaire** — « élève », - **Supérieur** — « étudiant », - **Formation continue** — « apprenant », « participant », « stagiaire ». Tous renvoient à la même entité Omniscol. #### Les élèves sont **optionnels** Point important : Omniscol fonctionne très bien **sans aucun élève saisi**. Les EDT, les disponibilités des professeurs, la génération, les statistiques de tableau de bord fonctionnent au niveau classe / groupe / professeur. L'intérêt de saisir les élèves individuellement : - **EDT personnalisés** — chaque étudiant voit son propre EDT après connexion, filtré par sa classe et ses groupes. - **Statistiques détaillées** — tableau de bord par étudiant (heures de cours, jours de présence). - **Absences** — un étudiant peut déclarer ses propres absences (avec validation administrative). - **Étudiants en redoublement / hors-cursus** — gestion des étudiants qui doivent suivre des cours d'une autre classe que la leur. Si vous n'avez pas besoin de ces fonctionnalités, ne saisissez pas les étudiants — vous ne perdez rien d'essentiel. #### Affectation à une classe et à des groupes L'affectation d'un étudiant à sa classe et à ses groupes se fait dans Élèves, après publication du premier EDT de l'année. Vous pouvez aussi affecter en masse via l'opération Assigner à une classe sur une sélection multiple. #### Cas du redoublement et du hors-cursus Un étudiant peut être affecté à plusieurs classes (par exemple, un étudiant de 3e année qui doit aussi suivre un module de 2e année) ou n'être affecté qu'à certains groupes d'une classe (un *fuori corso* qui ne refait qu'une matière). Ces cas sont gérés via la sélection multi-classes / multi-groupes de l'écran d'affectation. #### Voir aussi - [Classe](#page-glossary.class) - [Groupe](#page-glossary.group) - [Gérer les étudiants](#page-admin.students) ### Emploi du temps (EDT) *Source: `help/fr/glossary/timetable.md` · id: glossary.timetable · Updated: 2026-06-13* *Aussi appelé : planning hebdomadaire · planning de cours · agenda de cours* Un **emploi du temps** (EDT) dans Omniscol représente l'organisation complète des cours d'une école sur une période. C'est l'objet central du logiciel. Un EDT regroupe : - des [classes](#page-glossary.class) avec leurs [groupes](#page-glossary.group) et leurs [partitions](#page-glossary.class-division), - des [professeurs](#page-glossary.teacher) affectés, - des [sites](#page-glossary.site) avec leurs grilles horaires, salles et ressources, - des contraintes (disponibilités, incompatibilités, alignements), - des [séances](#page-glossary.lesson) (positionnées ou non). #### Trois modes d'EDT Au moment de créer un EDT, vous choisissez son mode : - **[Hebdomadaire](#page-glossary.weekly-timetable)** — les cours suivent une semaine type, récurrente. Typique du primaire et du secondaire. - **[Cyclique](#page-glossary.cyclic-timetable)** — les cours sont récurrents sur un nombre arbitraire de jours (5, 6, 7… selon votre cycle). Typique des systèmes nord-américains. - **[Calendrier](#page-glossary.calendar-mode)** — les cours sont datés individuellement, comme un agenda. Typique du supérieur (écoles d'ingénieurs, formation continue). #### Plusieurs EDT par école Vous pouvez avoir plusieurs EDT en parallèle dans le même compte : - des **brouillons** non publiés, - des EDT pour des **périodes** différentes (S1 vs S2, préparation de la rentrée vs EDT en cours), - en Premium (ou, exceptionnellement, sur un compte Standard avec une activation cadrée par contrat), des EDT **simultanément actifs** sur les mêmes semaines (par exemple un EDT matinal récurrent + un EDT après-midi en mode calendrier) — voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). #### Cycle de vie d'un EDT ``` Création → Configuration → (Génération automatique?) → Visualisation → Publication → Modifications quotidiennes ``` - **Création** — choix du mode, label, paramètres de base. - **Configuration** — sites, salles, professeurs, classes, groupes, matières, cours. - **Génération** — automatique via le solveur (disponible sur les trois modes : hebdomadaire, cyclique, calendrier) ou positionnement manuel. - **Visualisation** — vérification avant publication. - **Publication** — l'EDT devient l'EDT actif sur les semaines choisies de l'année scolaire. Visible dans le module *EDT* par tous les utilisateurs autorisés. - **Modifications quotidiennes** — au fil de l'année (déplacements de séances, changements de salle, gestion des absences) sans repasser par la phase de génération. #### Voir aussi - [Hebdomadaire vs cyclique vs calendrier](#page-overview.timetable-modes) - [Création d'un EDT](#page-timetables.overview) - [Publier un EDT](#page-timetables.publication) ### Fenêtre de dates *Source: `help/fr/glossary/date-windows.md` · id: glossary.date-windows · Plan: premium · Updated: 2026-06-20* > **Premium** *Aussi appelé : fenêtres de dates · fenêtre d'inclusion · fenêtre d'exclusion · calque de dates* > _Premium_ Une **fenêtre de dates** est une période d'**inclusion** ou d'**exclusion** de dates, **réutilisable**, qui restreint quand certaines séances peuvent être planifiées. Définie une fois sur l'écran d'édition d'un EDT calendrier, elle s'applique ensuite comme un **calque** sur les contraintes horaires de plusieurs entités — classes, groupes, matières ou salles. Réservée aux **EDT de type calendrier**, sur les comptes **Premium**. #### Deux types - **Cours autorisés** — les séances ne peuvent être planifiées que pendant ces dates. - **Cours exclus** — les séances ne peuvent pas y être planifiées. Plusieurs fenêtres se cumulent ; en cas de chevauchement, une exclusion l'emporte sur une autorisation. #### Voir aussi - [Fenêtres de dates](#page-timetables.date-windows) - [Mode calendrier](#page-glossary.calendar-mode) ### Grande salle (plusieurs séances simultanées) *Source: `help/fr/glossary/large-room.md` · id: glossary.large-room · Updated: 2026-06-25* *Aussi appelé : nombre maximal de classes · salle d'examen · théâtre · gymnase · piscine · extérieur* Une **grande salle** est une [salle](#page-glossary.classroom) qui peut accueillir **plusieurs séances différentes au même moment**, avec des professeurs différents et des groupes sans relation entre eux. On la déclare en renseignant le champ **Nombre maximal de classes** sur la salle : ce nombre fixe combien de séances distinctes peuvent s'y dérouler en parallèle. Exemples typiques : une **salle d'examen**, un **hall**, un **espace extérieur** (cour, théâtre, terrain de sport, musée...), un **gymnase**, une **piscine** — autant de lieux où plusieurs activités indépendantes cohabitent. #### Réservé aux salles spécialisées Le champ Nombre maximal de classes n'apparaît que sur une salle dotée d'une **[spécialisation](#page-glossary.classroom-specialization)**. Il faut donc d'abord donner une spécialisation à la salle (sport, examen, piscine, extérieur…), puis indiquer son nombre maximal de classes simultanées. C'est cohérent : une grande salle partagée est toujours un espace spécialisé pour une activité particulière, et la spécialisation sert donc aussi à y orienter les bonnes matières. #### Comment Omniscol s'en sert À chaque créneau, le [solveur](#page-glossary.solver) et la détection de conflits autorisent à placer dans la salle autant de séances que le Nombre maximal de classes le permet, tant que la somme de leurs effectifs reste dans la **[capacité](#page-glossary.classroom)** de la salle. Au-delà de l'un ou l'autre de ces plafonds — trop de séances en parallèle, ou capacité dépassée — Omniscol signale un conflit. Une salle laissée sans Nombre maximal de classes se comporte comme une salle ordinaire : une seule séance à la fois. #### Grande salle ou multi-salles ? Les deux notions jouent sur le couple salle ↔ séance, dans deux sens opposés : - une **grande salle** réunit **plusieurs séances dans une même salle** ; - une séance en **[multi-salles](#page-glossary.multi-room)** occupe au contraire **plusieurs salles pour une même séance** (sa capacité est alors la somme des salles affectées). #### Voir aussi - [Salle](#page-glossary.classroom) - [Spécialisation de salle](#page-glossary.classroom-specialization) - [Multi-salles](#page-glossary.multi-room) - [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) ### Groupe *Source: `help/fr/glossary/group.md` · id: glossary.group · Updated: 2026-05-10* *Aussi appelé : sous-groupe · demi-groupe · groupe d'option · td-a · td-b* Dans Omniscol, un **groupe** est une **subdivision d'une classe**. Tous les élèves d'un groupe sont également élèves de la classe parente. On crée un groupe à chaque fois qu'un sous-ensemble d'élèves d'une classe doit suivre un cours différent du reste de la classe — même temporairement, pour une seule séance. Exemples : - demi-groupes de TP (« TP-A », « TP-B »), - groupes d'option (« Latinistes », « Hellénistes », « LV2 Espagnol », « LV2 Allemand »), - groupes de niveau (« Anglais Renforcé », « Anglais Standard »). #### Recommandation forte : un groupe par cours Même si les latinistes et les hellénistes d'une classe sont en pratique les mêmes élèves, **créez deux groupes distincts**. Sinon les [alignements](#page-glossary.alignment) avec d'autres classes deviennent ambigus et les conflits sont difficiles à diagnostiquer. Inversement : pas la peine de créer un groupe « Toute la classe ». Quand un cours s'adresse à toute la classe, on n'attache pas de groupe, le cours est simplement assigné à la classe. #### Effectif théorique Indiquez le nombre d'élèves attendu dans le groupe. Champ optionnel mais recommandé : il sert au [moteur de génération](#page-glossary.solver) pour choisir les [salles](#page-glossary.classroom) de capacité adéquate. #### Pour mélanger des élèves de plusieurs classes Le concept de groupe s'arrête au périmètre d'une classe. Pour mélanger les latinistes de 8A, 8B et 8C qui ont cours ensemble : - créez un groupe « Latinistes » dans chacune des trois classes, - puis créez un [alignement](#page-glossary.alignment) qui associe les trois. Vous pouvez aussi utiliser un [groupe de groupes](#page-glossary.groups-of-groups), plus souple à l'édition quand le regroupement doit évoluer. #### Groupes libres Pour des inscriptions ouvertes (ateliers du soir, options non contraintes par classe), voyez la notion de [groupe libre](#page-glossary.free-group) — la composition n'est pas fixée à l'avance, les élèves peuvent rejoindre ou quitter sans générer de conflit. #### Voir aussi - [Classe](#page-glossary.class) - [Partition de classe](#page-glossary.class-division) - [Alignement de groupes](#page-glossary.alignment) - [Groupes de groupes](#page-glossary.groups-of-groups) - [Groupe libre](#page-glossary.free-group) ### Groupe de groupes *Source: `help/fr/glossary/groups-of-groups.md` · id: glossary.groups-of-groups · Updated: 2026-05-10* *Aussi appelé : supergroupe · regroupement de groupes* Un **groupe de groupes** est un regroupement, plus souple qu'un [alignement](#page-glossary.alignment), de plusieurs [groupes](#page-glossary.group) provenant de la même classe ou de classes différentes. Disponible comme mécanisme de regroupement de base dans Omniscol. #### Différence-clé avec l'alignement L'alignement est **figé à la création** : la liste des groupes alignés est fixée et tout désalignement nécessite de cloner le groupe. Un groupe de groupes, lui, **se modifie a posteriori**. Vous pouvez ajouter ou retirer des groupes sans avoir à recréer la structure. C'est ce qui le rend précieux dans le supérieur, où la composition des regroupements évolue souvent au fil de l'année (un nouveau parcours qui rejoint un cours commun, un sous-groupe qui se détache pour un projet). #### Quand l'utiliser - Cours communs à plusieurs parcours (école d'ingénieurs ou de commerce), - Conférences inter-promos, séminaires transversaux, - Cours de tronc commun en formation continue, - Évènements pédagogiques ouverts (visite, intervention extérieure). Un cours assigné à un groupe de groupes est visible (et éditable) depuis chacune des classes parentes des groupes membres. #### Particularité Le groupe de groupes est surtout utile quand la composition du public évolue au fil de l'année ou quand vous voulez éviter les contraintes de symétrie d'un alignement. #### Voir aussi - [Alignement de groupes](#page-glossary.alignment) - [Cours transverse](#page-glossary.transverse-course) - [Mode calendrier](#page-glossary.calendar-mode) - [Groupes de groupes](#page-core-concepts.groups-of-groups) ### Groupe libre *Source: `help/fr/glossary/free-group.md` · id: glossary.free-group · Updated: 2026-06-13* *Aussi appelé : groupe satellite · groupe semi-autonome · groupe ouvert · groupe à inscriptions* Un **groupe libre** est un **groupe de travail semi-autonome** : une partie de la classe travaille en autonomie, généralement **dans la même salle et avec le même professeur** que le cours principal, en parallèle de celui-ci — une sorte de **groupe satellite** du cours. Le planificateur veut le **faire figurer sur l'EDT** sans monter, en face, une partition de groupes formelle. C'est de là que vient le mot **libre** : comme ce sous-groupe partage la salle et le professeur du cours dont il est issu, un [groupe](#page-glossary.group) classique (même en partition) déclencherait un **conflit de salle et de professeur**. Le groupe libre est le **joker** qui **désactive tous les conflits** — ni avec le reste de la classe, ni avec le professeur, ni avec la salle. Il coexiste donc avec sa séance d'origine. On rencontre notamment ce besoin dans les **écoles d'art** et les **formations en travail social**, où une partie du temps se déroule en **travail encadré autonome** : un sous-groupe avance sur son projet dans un coin de la salle pendant que le reste de la classe suit le cours. Plus largement, le groupe libre modélise tout groupe dont la composition n'est **pas figée**, sans générer de conflit. #### Différence avec un groupe classique Un groupe classique est pris en compte par le solveur : il vérifie que ses élèves ne sont pas double-réservés (deux séances en même temps) et que sa **salle** comme son **professeur** sont libres. C'est exactement ce qui empêcherait le groupe satellite : la salle et le professeur du cours principal sont déjà pris. Un groupe libre **lève ces contrôles**. Sa séance peut donc partager la salle et le professeur du cours dont elle est issue ; et un élève peut appartenir à plusieurs groupes libres qui se chevauchent sans qu'aucune alerte ne se déclenche. #### En pratique : placement manuel La génération automatique **prend en charge** les groupes libres, mais il est recommandé de **ne pas** l'utiliser pour ce cas : **posez et verrouillez à la main** la séance principale et sa séance satellite sur le créneau voulu. Le solveur ne sait pas laquelle est la principale et laquelle est le satellite — livrées à la génération, elles pourraient tomber n'importe où. Vu son caractère très ponctuel et spécifique, le groupe libre relève d'un **usage manuel**. #### Création Au moment de créer le groupe, cocher l'option « groupe libre » sur Ajouter un groupe. Visuellement, ces groupes sont marqués dans l'interface pour ne pas être confondus avec les groupes contraints. > _Premium_ Les groupes libres sont une capacité des comptes Premium. #### Voir aussi - [Groupe](#page-glossary.group) - [Groupes libres](#page-core-concepts.free-groups) ### iCal (export agenda) *Source: `help/fr/glossary/ical.md` · id: glossary.ical · Updated: 2026-05-15* *Aussi appelé : ics · abonnement calendrier · lien ical · export ical* **iCal** (extension `.ics`) est le format standard d'échange de calendriers, lu par toutes les applications agenda du marché : Apple Calendar, Google Calendar, Outlook, Thunderbird, Fastmail, etc. Omniscol propose deux types d'export iCal : #### 1. Téléchargement statique Bouton Télécharger sur un EDT sélectionné. Vous récupérez un fichier `.ics` à importer dans votre agenda. **Snapshot** au moment du téléchargement : pas mis à jour si l'EDT bouge ensuite. Utile pour partager un planning ponctuel par e-mail. #### 2. Lien d'abonnement dynamique Le bouton Télécharger sur un EDT (ou un écran de professeur, etc.) génère une URL d'abonnement iCal. Une fois copiée dans votre application agenda en tant qu'**abonnement**, l'agenda se met à jour automatiquement à mesure que l'EDT évolue dans Omniscol. C'est ainsi que les professeur et les élève synchronisent leur EDT Omniscol avec leur agenda perso, sans devoir re-télécharger un fichier à chaque modification. Les liens iCal Omniscol sont signés, expirables et liés au compte qui les a générés. L'expiration est inscrite dans le jeton de l'URL ; pour la changer, il faut générer un nouveau lien. Un changement de mot de passe, une désactivation ou une suppression du compte porteur invalide les liens associés. #### Synchronisation et mises à jour L'iCal d'abonnement est **rafraîchi par l'application agenda**, à une cadence variable selon le client : - Apple Calendar : 5-15 min en général. - Google Calendar : jusqu'à 24h dans le cas le pire (mais souvent plus rapide). - Outlook : variable. Cette latence est inhérente au protocole iCal et ne dépend pas d'Omniscol — un changement dans l'EDT Omniscol apparaît dans l'agenda abonné dès que celui-ci re-pull le flux. #### Voir aussi - [Lien de partage](#page-glossary.share-link) - [iCal — abonnement et lien dynamique](#page-integrations.ical) ### Incompatibilité (entre matières) *Source: `help/fr/glossary/incompatibility.md` · id: glossary.incompatibility · Updated: 2026-06-13* *Aussi appelé : exclusion · anti-chaînage · interdiction de séquence* Une **incompatibilité** est une contrainte pédagogique qui interdit à une matière d'en **suivre** une autre. C'est une règle **orientée** : on déclare que « la matière A ne doit pas être suivie de la matière B » — le sens compte, A-puis-B et B-puis-A sont deux règles distinctes. Le cas typique : « pas de cours de maths juste après le sport ». Configurée au niveau de la classe dans l'onglet Incompatibilités de l'EDT en cours. #### Portée de l'interdiction Vous choisissez la fenêtre dans laquelle l'interdiction s'applique au moment de créer la règle : - **Consécutif** — pas dans la séance qui suit immédiatement, le même jour. - **Demi-journée** — pas plus tard dans la même demi-journée. - **Journée** — pas plus tard dans la même journée. - **Semaine** — pas plus tard dans la même semaine. - **Toujours** *(EDT cycle ou calendrier)* — jamais après, sur toute la période. C'est l'outil de **séquencement** : finir un module avant d'enchaîner sur celui qui en dépend. À part : l'option **auto-incompatibilité** d'une matière (paramètre global) empêche qu'une même matière revienne deux fois dans la journée pour un élève — souvent plus simple qu'une multitude de règles deux à deux. #### Différence avec les contraintes horaires de matière À ne pas confondre avec les **contraintes horaires** d'une matière ([clock]), qui fixent le placement **absolu** d'une seule matière dans la grille. L'incompatibilité, elle, porte sur l'ordre **relatif** de deux matières. | Contrainte | Porte sur | Exemple | | --- | --- | --- | | **Incompatibilité** | l'**ordre** de deux matières | « pas de maths après le sport » | | Contrainte horaire de matière | le **placement** absolu d'une matière | « pas de maths en première heure » | | Spécialisation | la **salle** requise par une matière | « la chimie exige un laboratoire » | #### Une contrainte d'optimisation, pas un blocage Une incompatibilité n'est pas une contrainte bloquante : le solveur la traite comme un malus qu'il cherche à éliminer, au même titre que les disponibilités indésirables. Si les autres contraintes ne laissent aucune alternative, une incompatibilité peut donc subsister dans l'EDT généré ; le [diagnostic](#page-glossary.diagnostic) la signale alors pour que vous puissiez arbitrer. Évitez l'avalanche d'incompatibilités : chacune réduit la liberté du solveur et allonge le calcul. Pour équilibrer une matière sur la semaine, la pondération pédagogique de la matière est souvent plus efficace. #### Voir aussi - [Matière](#page-glossary.subject) - [Solveur — comment il arbitre les contraintes](#page-glossary.solver) ### Jeton API *Source: `help/fr/glossary/api-token.md` · id: glossary.api-token · Updated: 2026-05-15* *Aussi appelé : token api · clé api · jeton d'authentification* Un **jeton API** (token) permet à un logiciel tiers d'appeler les points d'accès API d'Omniscol au nom de l'école, en lecture et, si des points d'accès API d'écriture sont sélectionnés, en écriture. C'est puissant — donc à manier avec précaution. #### Génération Un jeton est généré dans Partage (Import/Export > Partage). Vous fournissez : - une clé (générée dans Omniscol, avec libellé et expiration éventuelle ; sa date d'expiration peut être modifiée plus tard), - une portée : la liste des points d'accès API que ce jeton pourra appeler (ne donnez que ce qui est strictement nécessaire), - éventuellement une **expiration du jeton**. Cette date est inscrite dans le JWT généré et ne peut pas être modifiée ensuite. Supprimer la clé, ou atteindre son expiration, révoque immédiatement les jetons dérivés. Pour changer l'expiration d'un jeton individuel, générez un nouveau JWT. #### Utilisation Le jeton se transmet dans l'en-tête HTTP `Authorization: Bearer `, ou (moins recommandé pour la production) dans l'URL via `?auth=`. #### Bonnes pratiques - **Une clé par intégration** — facilite la révocation indépendante. - **Scope minimal** — ne cochez que les API nécessaires, pas tout par défaut. - **Expiration au bon niveau** — utilisez l'expiration de la clé pour piloter une intégration dans la durée ; utilisez l'expiration du jeton pour un accès temporaire non modifiable. - **Rotation périodique** — régénérez la clé tous les 6-12 mois. - **Pas dans Git** — le jeton ne doit pas finir versionné dans un repo public. Utilisez les variables d'environnement de votre serveur. #### Différence avec OIDC / SSO Pour connecter des utilisateurs réels avec leur identité institutionnelle, utilisez [OIDC / SSO](#page-integrations.oauth2). Le jeton API est destiné aux intégrations techniques serveur à serveur, pas à la connexion quotidienne des utilisateurs. #### Voir aussi - [Lien de partage](#page-glossary.share-link) - [API Omniscol](#page-integrations.api-tokens) - [MCP — connecter un agent IA externe](#page-integrations.mcp) ### Lien de partage *Source: `help/fr/glossary/share-link.md` · id: glossary.share-link · Updated: 2026-06-13* *Aussi appelé : lien partagé · lien public · partage par jeton* Un **lien de partage** dans Omniscol est une URL signée donnant accès à une ressource sans connexion préalable : - l'EDT d'une classe ou d'un professeur, - un écran de saisie ciblé, par exemple des disponibilités, - le module Gestion des absences en consultation, - une vue spécifique pour une équipe externe (audit, communication). Pour les EDT publics, l'accès est en lecture seule. Certains liens de partage internes peuvent toutefois autoriser une action limitée, comme la saisie d'un formulaire précis. Le cas typique est le lien de saisie des disponibilités des professeurs : l'établissement peut l'envoyer à un professeur avec une date limite, sans lui créer de login Omniscol. #### Sécurité Chaque lien embarque un **JWT** signé. Pour les liens web et API, la signature dépend du compte qui a généré le lien et du hash de son mot de passe. Pour les liens iCal, le hash de vérification est construit sur le même principe. Quatre conséquences : 1. **Date d'expiration obligatoire** — le lien expire automatiquement à la date choisie. C'est un garde-fou important : pas de lien éternel. 2. **Invalidation au changement de mot de passe** — si le compte porteur change son mot de passe (ou le remet à l'identique, ce qui change le sel aléatoire), tous les liens qu'il a générés sont invalidés immédiatement. 3. **Invalidation par le compte porteur** — si ce compte est désactivé ou supprimé, les liens qu'il portait cessent de fonctionner. 4. **Périmètre limité** — le lien n'ouvre que la vue ou l'action prévue. Ne le décrivez pas comme un accès global au compte. Pour une diffusion collective, utilisez un compte de service clairement identifié plutôt qu'un compte personnel. Le compte de service devient le porteur administratif des liens émis et peut être tourné ou désactivé si une campagne de partage doit être invalidée. #### Différence avec un jeton API | Aspect | Lien de partage | [Jeton API](#page-glossary.api-token) | | --- | --- | --- | | Public | Humain dans un navigateur | Logiciel tiers | | Permission | Périmètre borné, souvent lecture seule | Selon endpoints sélectionnés | | Cas d'usage | Diffusion ponctuelle | Intégration logicielle | | Auth | JWT dans l'URL | JWT dans l'en-tête `Authorization` | | Niveau requis | Rôle du créateur | Droits d'administration | #### Création d'un lien Le bouton Partage apparaît sur les écrans partageables (EDT, disponibilités, absences). Cliquez, choisissez une date d'expiration, puis copiez l'URL du format utile. #### Voir aussi - [Jeton API](#page-glossary.api-token) - [Partager un EDT](#page-schedules.share-link) - [Liens de partage publics](#page-portal.share-links) ### Ligne de temps *Source: `help/fr/glossary/timeline.md` · id: glossary.timeline · Updated: 2026-06-29* *Aussi appelé : banderole de semaines · frise de temps* La **ligne de temps** est la bande horizontale présente en haut de tout écran qui affiche un planning ou des statistiques. C'est avec elle qu'on **navigue dans le temps** : choisir l'année scolaire, la période affichée et, selon l'écran, basculer entre une vue semaine, mois ou année. Ses **flèches gauche / droite** font reculer ou avancer d'une année scolaire entière. L'année (ou la période) affichée est nommée en clair au-dessus de la ligne de temps. [Ligne de temps et navigation temporelle](#page-core-concepts.timeline-navigation) ### Matière *Source: `help/fr/glossary/subject.md` · id: glossary.subject · Updated: 2026-05-10* *Aussi appelé : discipline · unité d'enseignement · UE · module* Une **matière** est la discipline enseignée par un [cours](#page-glossary.course) : maths, physique, anglais, droit comptable, machine learning, méthodologie de projet… La matière est la discipline pure ; le cours, c'est cette matière rapportée à une classe précise. Omniscol fournit pour chaque pays un **catalogue de matières communes** (parfois quelques centaines, parfois quelques milliers selon les nomenclatures officielles), pré-rempli au niveau du compte. Si une matière manque, vous créez une **matière personnalisée** dans Créer. #### Vocabulaire dans le supérieur Les nomenclatures pédagogiques du supérieur français utilisent des niveaux d'agrégation différents : - **UE** (unité d'enseignement) — ensemble de cours / modules, - **EC** (élément constitutif) — sous-unité d'une UE, - **ECUE** (élément constitutif d'une UE) — encore plus fin, - **module** — terme générique en formation continue. Tous ces niveaux se ramènent à l'entité Omniscol « matière ». Si vous avez besoin de représenter la hiérarchie pédagogique elle-même (UE → EC → ECUE), faites-le via une convention de nommage (par exemple préfixer les codes : `UE3-EC2-ECUE1 Algèbre linéaire`) ou via les [familles de matières](#page-admin.subjects). #### Matière copiée dans l'EDT Quand vous affectez une matière à une classe dans un EDT, Omniscol fait une **copie interne** de la matière dans la structure de l'EDT. C'est un choix délibéré : si vous supprimez ou renommez la matière au niveau de l'école par la suite, les EDT existants conservent leur version historique. Par conséquent, **soignez l'orthographe** des matières personnalisées avant de les utiliser dans des EDT — un correctif a posteriori ne se propage pas dans les EDT déjà configurés. #### Type de cours associé Au moment d'affecter une matière à une classe, vous pouvez préciser un **[type de cours](#page-glossary.lesson-type)** (TD, TP, examen, magistral…). Le couple `(matière, type)` constitue un identifiant indépendant : par exemple, le « cours de maths » et le « TD de maths » sont deux entrées indépendantes dans la structure de l'EDT. #### Spécialisation de salle requise Une matière peut **requérir une spécialisation de salle** (chimie → laboratoire de chimie, sport → gymnase). Cette contrainte est respectée strictement par le solveur. Voir [spécialisation de salle](#page-glossary.classroom-specialization). #### Pondération pédagogique Vous pouvez définir un **poids pédagogique** sur une matière dans une classe : le solveur cherchera alors à équilibrer la matière sur les jours de la semaine plutôt que de tout concentrer. #### Voir aussi - [Cours](#page-glossary.course) - [Type de cours](#page-glossary.lesson-type) - [Séance / Leçon](#page-glossary.lesson) - [Gérer les matières](#page-admin.subjects) - [Spécialisation de salle](#page-glossary.classroom-specialization) ### Modalité d'une séance *Source: `help/fr/glossary/lesson-modality.md` · id: glossary.lesson-modality · Plan: premium · Updated: 2026-06-25* > **Premium** *Aussi appelé : en présentiel · distanciel · cours à distance · hybride · travail autonome · visioconférence* > _Premium_ Sur les comptes **Premium**, la **Modalité** indique **comment** une [séance](#page-glossary.lesson) se déroule. Elle se choisit dans le sélecteur de salle Affecter une salle de classe, à côté de l'affectation. Quatre valeurs, chacune avec sa propre icône sur la séance : - **En présentiel** — la séance a lieu dans une [salle](#page-glossary.classroom) (le cas par défaut). - **À distance** — la séance se tient à distance (icône [video]) ; aucune salle n'est requise. - **Hybride** — la séance a lieu en salle **et** est retransmise à distance (par exemple un cours magistral diffusé en visioconférence) : elle occupe donc une salle et a besoin d'un lien. - **Travail autonome** — travail mené en autonomie, sans salle requise. C'est équivalent au verrouillage sur l'absence de salle (qui désactive l'alerte si une salle n'est pas attribuée à la séance). #### Effet sur la salle et la génération La modalité a un effet concret sur la planification : une séance **À distance** ou en **Travail autonome** **ne demande pas de salle**. Le [solveur](#page-glossary.solver) ne lui en réserve pas, et l'affectation automatique des salles l'ignore. Les séances **En présentiel** et **Hybride** réclament au contraire une salle. #### Lien de visioconférence Pour les séances à distance ou hybrides, vous pouvez renseigner un **lien de visioconférence** dans le même sélecteur de salle. Un lien peut aussi être défini par défaut sur la classe et s'appliquer alors à ses séances. En cas d'absence de lien, une alerte est affichée. #### Statistiques par modalité Le [diagnostic](#page-glossary.diagnostic) propose un tableau de répartition **par modalité** : il totalise le temps d'enseignement assuré en présentiel, à distance, en hybride et en travail autonome. C'est utile pour mesurer, par exemple, la part de distanciel d'une formation. Quand la modalité n'est pas renseignée explicitement, Omniscol la **déduit** des éléments présents : une salle **et** un lien de visioconférence donnent une séance hybride ; une salle seule, du présentiel ; un lien de visioconférence seul, du distanciel ; une séance explicitement sans salle, du travail autonome. Un choix explicite l'emporte toujours sur cette déduction. #### Voir aussi - [Édition d'une séance de cours](#page-timetables.lesson-edit) - [Statut](#page-glossary.lesson-status) - [Séance / Leçon](#page-glossary.lesson) - [Salle](#page-glossary.classroom) ### Mode calendrier *Source: `help/fr/glossary/calendar-mode.md` · id: glossary.calendar-mode · Plan: premium · Updated: 2026-06-13* > **Premium** *Aussi appelé : mode agenda · planning daté · sans récurrence* > _Premium_ Un emploi du temps en **mode calendrier** organise les séances **par date**, sans semaine type récurrente. Chaque séance est positionnée individuellement sur une date précise, comme dans un agenda. C'est le mode privilégié de : - **l'enseignement supérieur** (écoles d'ingénieurs, écoles de commerce, universités), - **la formation continue** (sessions ponctuelles, programmes courts), - **les centres de formation** où les cours ne reviennent pas chaque semaine. Mode disponible sur les comptes **Premium**. #### Différences avec le mode hebdomadaire | Aspect | Hebdomadaire | Calendrier | | --- | --- | --- | | Récurrence | Semaine type | Date par date | | Génération auto | Oui | Oui (avec fenêtre de dates et compactage des journées) | | Disponibilités | Validées à l'avance | Consolidées en temps réel | | Édition d'une séance | Affecte toutes les semaines actives | Affecte une date précise | | Groupes de groupes | Oui | Oui | | Publication | Sur des plages de semaines | Binaire (publié ou non) | | Affichage par défaut | Vue semaine | Vue semaine ou mois | | Effacement par vacances | Automatique | Aucun (les séances sont déjà datées) | #### Génération automatique en mode calendrier Le solveur fonctionne aussi en mode calendrier : il place les séances non positionnées sur les dates disponibles, en respectant les mêmes contraintes (un professeur ou une classe ne peuvent être à deux endroits à la fois, salles compatibles, disponibilités bloquantes). L'écran de génération expose en plus des réglages propres au calendrier : une **fenêtre de dates cible** pour limiter le calcul à une période, et le **compactage des journées** (regrouper en début ou en fin de fenêtre, ou laisser le solveur décider). L'aide au placement manuel reste disponible en parallèle : conflits détectés en temps réel, propositions de salle filtrées, disponibilités prises en compte instantanément. #### Disponibilités en mode calendrier Sur un EDT calendrier, les disponibilités des intervenants externes peuvent évoluer au fil du temps. Omniscol consolide en temps réel et émet des alertes de conflits à mesure que les disponibilités changent. Voir [Disponibilités en mode calendrier](#page-timetables.calendar-wishes). #### Combiner hebdomadaire + calendrier dans une même école En Premium, vous pouvez **publier simultanément** un EDT hebdomadaire (les cours récurrents du matin, prépa intégrée) et un EDT calendrier (les masterclasses ponctuelles de l'après-midi, cycle grande école) sur les mêmes semaines, grâce à [plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables). Si les deux EDT partagent des entités (professeurs, salles), Omniscol fusionne dynamiquement les vues et détecte leurs conflits croisés. #### Voir aussi - [Emploi du temps](#page-glossary.timetable) - [Choisir le bon type d'EDT](#page-overview.timetable-modes) - [Mode calendrier](#page-timetables.calendar-mode) - [Groupes de groupes](#page-glossary.groups-of-groups) ### Mode d'affichage de l'EDT *Source: `help/fr/glossary/schedule-view-mode.md` · id: glossary.schedule-view-mode · Updated: 2026-06-13* *Aussi appelé : vue grille · vue liste · vue tableau · basculer la vue* Trois représentations interchangeables des mêmes séances sur le même EDT, choisies par les boutons du bandeau de titre : - **Grille** (Vision en grille) : vue calendrier classique, séances positionnées sur une grille jour × heure. Mode par défaut pour la consultation rapide. - **Liste** (Vision en liste) : succession chronologique des séances, une par ligne, avec jour, horaires, durée, classe, groupe, matière, professeurs, site et salle. Pratique pour parcourir séquentiellement. - **Tableau** (Tableau) : rendu type tableur de la vue en cours — jours en colonnes et créneaux horaires en lignes (ou l'inverse), ou une séance par ligne quand la vue liste est active. Utile pour un audit, une copie vers un tableur, ou un export fichier selon l'écran (PDF, CSV, Excel / XLSX). Ce mode est réservé aux administrateurs, sur ordinateur. Les trois modes opèrent sur le **même jeu de données** ; basculer ne modifie ni ne filtre, c'est strictement une présentation différente. Le choix n'est pas enregistré : il vaut pour l'affichage en cours. ### Multi-salles (une séance dans plusieurs salles) *Source: `help/fr/glossary/multi-room.md` · id: glossary.multi-room · Updated: 2026-06-13* *Aussi appelé : salles multiples · dédoublement de salle · dédoublement de cours* Omniscol permet d'affecter **plusieurs salles** à une même séance. Cette fonctionnalité est disponible **sur tous les types d'EDT** : [hebdomadaire](#page-glossary.weekly-timetable), [cyclique](#page-glossary.cyclic-timetable) et [calendrier](#page-glossary.calendar-mode). #### Cas d'usage typiques - **Examens en amphithéâtres dédoublés** — un examen de 200 candidats réparti en trois amphithéâtres (capacité 70 + 60 + 80) avec un seul intervenant responsable. La capacité est calculée comme la somme des salles affectées. - **Cours magistral retransmis** — un CM dans un amphithéâtre principal, retransmis par visio dans une salle satellite (par exemple sur un autre site, voire depuis une promotion entièrement à distance). - **TP dédoublés sans dédoublement de groupe** — quand un TP de 30 étudiants ne tient dans aucune salle informatique unique, mais peut être surveillé simultanément dans deux salles voisines (15 + 15) par le même professeur. #### Capacité totale = somme des salles Quand vous affectez plusieurs salles à une séance, Omniscol additionne leurs capacités pour vérifier que le groupe rentre. Plus de fausse alerte de sur-capacité dès lors que la somme suffit. > **Astuce.** Si vous voyez des alertes de sur-capacité disparaître > après ajout d'une seconde salle, c'est exactement le comportement > attendu : la somme couvre désormais l'effectif. #### Limitation à connaître Si la somme des capacités reste **inférieure** au groupe, Omniscol affiche toujours un conflit — c'est à l'administrateur de décider de le résoudre (en ajoutant une salle, en réduisant le groupe, ou en acceptant le conflit s'il est délibéré, par exemple si on sait que tous les inscrits ne viendront pas). #### Voir aussi - [Salle](#page-glossary.classroom) - [Examens multi-salles dans le supérieur](#page-higher-ed.multi-room-exams) - [Site](#page-glossary.site) ### Niveau *Source: `help/fr/glossary/level.md` · id: glossary.level · Updated: 2026-06-21* *Aussi appelé : niveau de classe · grade* Un **niveau** classe les [classes](#page-glossary.class) par **progression pédagogique** : 6e, 5e, 4e, 3e en collège ; L1, L2, L3 en licence ; Bachelor, Master, année 1, année 2… selon l'établissement. C'est une **étiquette d'organisation**, pas une contrainte de placement : le niveau n'impose rien au solveur. Il sert à **ranger et retrouver** les classes — dans les écrans de classes, dans plusieurs filtres et dans certaines vues de diagnostic. #### Où le configurer Les niveaux font partie des réglages **généraux** du compte. Depuis les [paramètres généraux](#page-admin.parameters), sous **Niveaux**, vous pouvez en créer via Créer, les supprimer, et les **glisser-déposer pour les réordonner** — l'ordre traduit la progression. Chaque classe se voit ensuite attribuer un niveau au moment de sa création (cf. [Créer les classes](#page-timetables.creating-classes)). #### Niveau, campus et site Trois notions voisines à ne pas confondre : - le **niveau** situe la classe dans une **progression** (où en est la classe dans le cursus) ; - le [campus](#page-glossary.campus) la rattache à une **entité organisationnelle** (faculté, pôle, implantation) ; - le [site](#page-glossary.site) en donne le **lieu physique** et les salles utilisées par défaut. Une même classe porte généralement les trois : un niveau, éventuellement un campus, et un site par défaut. #### Voir aussi - [Classe](#page-glossary.class) - [Campus](#page-glossary.campus) - [Site](#page-glossary.site) - [Créer les classes et leurs groupes](#page-timetables.creating-classes) - [Paramètres généraux](#page-admin.parameters) ### Panneau d'affichage *Source: `help/fr/glossary/panel.md` · id: glossary.panel · Updated: 2026-06-13* *Aussi appelé : écran d'accueil · écran d'entrée · écran de hall* Un **panneau** dans Omniscol est un écran d'affichage public, configuré pour montrer en continu un EDT filtré. Cas typiques : - **panneau de hall** — écran à l'entrée de l'école, défile sur les séances du jour pour toutes les classes, - **panneau devant une salle** — écran fixé à côté d'une porte, affichant l'occupation de cette salle dans la journée, - **panneau d'amphithéâtre / laboratoire** — affichage des prochaines séances dans un espace spécialisé. #### URL unique pour chaque panneau Chaque panneau créé a une **URL unique** à ouvrir en plein écran dans un navigateur. Le défilement et le rafraîchissement se font automatiquement. #### Personnalisation Au moment de définir un panneau, vous configurez : - **filtre des séances affichées** : quel(s) niveau(x), quelle(s) classe(s), quel(s) site(s), quelle(s) salle(s), - **plage horaire** affichée, - **taille de police**, - **bandeau d'informations** (texte défilant, logo), - **couleurs et thème**. Pour les déploiements à forte identité visuelle, il est aussi possible de remplacer entièrement la page web qui affiche le panneau, afin de l'intégrer à un dispositif d'affichage dynamique existant. Voir [Personnalisation visuelle](#page-panels.customization). #### Voir aussi - [Panneau de hall](#page-panels.lobby-panel) - [Panneau devant une salle](#page-panels.room-panel) - [Personnalisation visuelle](#page-panels.customization) ### Partition de classe *Source: `help/fr/glossary/class-division.md` · id: glossary.class-division · Updated: 2026-05-10* *Aussi appelé : partition de groupes · division* Une **partition** regroupe plusieurs [groupes](#page-glossary.group) d'**une même classe** qui doivent **partager le même créneau horaire**. Concrètement : les élèves n'étant pas dédoublés (un même élève ne peut pas être à deux endroits en même temps), si vos demi-groupes TP-A et TP-B doivent faire deux TP différents simultanément, le solveur a besoin de savoir qu'ils constituent une partition. Le moteur sait alors : - placer les deux TP au même créneau, - avec deux salles différentes, - avec deux professeurs différents, - sans déclencher d'alerte de conflit. #### Quand créer une partition À chaque fois qu'un même créneau doit héberger des séances différentes pour des sous-ensembles disjoints d'une classe : - demi-groupes de TP (TP-A vs TP-B, demi-classe Maths vs Français, etc.), - groupes de langues (LV2 Espagnol vs LV2 Allemand), - options exclusives (Latin vs Grec moderne), - demi-groupes informatiques (parce qu'on n'a que 15 postes en salle informatique). Le critère de validité : **aucun élève ne doit appartenir à deux groupes de la même partition**. Sinon, vous êtes dans un alignement plutôt que dans une partition (ce qui n'est de toute façon pas possible si les groupes font partie de la même classe). #### Comment créer une partition Sur la page des [groupes d'une classe](#page-core-concepts.classes-and-groups), sélectionnez les groupes concernés et cliquez sur Ajouter une partition. Plusieurs partitions peuvent coexister dans une même classe (une pour les TP de sciences, une pour les langues, une pour les options philo). #### Différence avec un alignement Une **partition** = groupes d'**une seule classe** qui doivent être au même créneau. Un [**alignement**](#page-glossary.alignment) = groupes de **classes différentes** qui doivent être au même créneau, **avec le même professeur et la même salle**. #### Voir aussi - [Groupe](#page-glossary.group) - [Alignement de groupes](#page-glossary.alignment) - [Page complète sur les partitions](#page-core-concepts.class-divisions) ### Professeur / Intervenant *Source: `help/fr/glossary/teacher.md` · id: glossary.teacher · Updated: 2026-05-10* *Aussi appelé : enseignant · formateur · instructeur* Dans Omniscol, **professeur** désigne toute personne qui assure l'animation pédagogique d'un cours. Le terme regroupe : - les **enseignants permanents** (titulaires, faculty), - les **vacataires** (intervenants externes ponctuels), - les **visiting professors** (universitaires invités, conférenciers), - les **formateurs** (formation continue, ateliers), - les **experts** (intervenants ponctuels recrutés pour leur expertise). Selon la culture de votre établissement, vous parlerez de « professeur », d'« enseignant », d'« intervenant », de « formateur » — Omniscol s'adapte à votre vocabulaire via les libellés (cf. paramètres) mais sous le capot ils sont tous représentés par la même entité. #### Création Les professeurs sont créés au niveau de l'école dans Professeurs. Vous renseignez : - prénom, nom, login, mot de passe, - e-mail (utilisé pour l'invitation et pour le « mot de passe oublié »), - éventuellement un identifiant externe (matricule, ID SIS), - les **matières enseignées** (simplifie l'affectation aux cours par la suite), - le **service horaire** (nombre d'heures hebdomadaires prévues, repris par défaut dans les nouveaux EDT). #### Affectation à un emploi du temps Une fois créés au niveau de l'école, les professeurs doivent être **affectés à un EDT** depuis Affecter des professeurs. Cette étape distingue le « personnel disponible » (au niveau école) du « personnel mobilisé sur ce planning » (au niveau EDT). #### Disponibilités Un professeur peut renseigner ses [disponibilités](#page-glossary.wishes) (plages indisponibles, indésirables, préférées). Pour les EDT hebdomadaires, elles nécessitent une validation administrative ; pour les EDT calendriers, elles sont consolidées en temps réel. Dans le secondaire, on parle aussi de **vœux**. #### Vacataires (intervenants externes) Pour les **vacataires**, voir l'entrée dédiée : [Vacataire / intervenant externe](#page-glossary.external-teacher). #### Professeur virtuel Le bouton Virtuel crée un *professeur virtuel* — une fiche provisoire pour un poste à pourvoir, qui apparaît avec un fantôme à côté de son nom. Une fois la personne réelle recrutée, vous transformez la fiche en véritable professeur via le bouton sur sa ligne. Pratique pour préparer la rentrée avant que tous les recrutements soient finalisés. #### Voir aussi - [Vacataire (intervenant externe)](#page-glossary.external-teacher) - [Disponibilités](#page-glossary.wishes) - [Gérer les enseignants](#page-admin.teachers) - [Affecter les professeurs à un EDT](#page-timetables.assigning-teachers) ### Publication / Activation d'un EDT *Source: `help/fr/glossary/publication.md` · id: glossary.publication · Updated: 2026-06-13* *Aussi appelé : mise en service · activer un emploi du temps · semaines actives* **Publier** (ou *activer*) un EDT, c'est le rendre **visible** dans le module EDT consulté par tous, sur les **semaines de l'année scolaire** que vous choisissez. Un EDT généré n'est **pas automatiquement publié**. Tant qu'il n'est pas publié, c'est un brouillon : visible uniquement dans le module Gestion des EDT par les administrateurs. #### Comment publier Sur la page d'accueil du module Gestion des EDT : 1. Sélectionnez l'année scolaire concernée. 2. Cliquez sur Ajouter une période (Répartition des EDT). 3. Sur la grille qui apparaît, choisissez les semaines de chaque EDT. 4. Sauvegardez. #### Une seule publication par semaine (compte standard) Avec un compte standard, **une seule publication** par semaine est permise. Si vous voulez publier deux EDT différents, ils doivent porter sur des plages de semaines disjointes. #### Publications simultanées En Premium — ou, exceptionnellement, sur un compte Standard avec une activation cadrée par contrat — plusieurs EDT peuvent être publiés sur les mêmes semaines et fusionnés à la consultation. Ce cas est détaillé dans [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) et dans la page complète sur la publication. #### EDT calendrier : publication binaire Un EDT en mode [calendrier](#page-glossary.calendar-mode) ne se publie pas par plages de semaines (les séances sont déjà datées individuellement) : la publication est binaire — l'EDT est publié, ou il ne l'est pas. #### Voir aussi - [Emploi du temps](#page-glossary.timetable) - [Année scolaire](#page-glossary.school-year) - [Publier un EDT — page complète](#page-timetables.publication) - [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) ### Remplacement / Suppléance *Source: `help/fr/glossary/substitution.md` · id: glossary.substitution · Updated: 2026-05-14* *Aussi appelé : substitution · remplaçant* Un **remplacement** désigne l'affectation d'un autre professeur à un cours dont le titulaire est [absent](#page-glossary.absence). #### Remplacement ponctuel Pour une séance précise, l'administrateur ouvre la gestion des remplaçants de l'absence et utilise Assigner un remplaçant. Cette affectation vaut uniquement pour la séance choisie et prime sur les règles longues. #### Règle de remplacement Pour une absence longue, l'administrateur crée une ou plusieurs règles avec Assigner un remplaçant. Une règle peut préciser : - le remplaçant ; - des dates de validité ; - des créneaux horaires ; - des matières ; - des classes ; - un commentaire. Les règles s'appliquent dans l'ordre affiché. Si aucune règle ne couvre une séance, celle-ci reste impactée par l'absence du titulaire. #### Affichage des remplacements Sur l'emploi du temps, le professeur remplacé reste visible comme titulaire absent et le remplaçant apparaît sur la séance. Les détails du motif et du commentaire d'absence dépendent des droits de consultation. #### Voir aussi - [Absence](#page-glossary.absence) - [Politiques de remplacement](#page-absences.substitution-policies) - [Remplacement ponctuel d'une séance](#page-absences.single-lesson-replacement) ### Ressource *Source: `help/fr/glossary/resource.md` · id: glossary.resource · Updated: 2026-05-10* *Aussi appelé : matériel · équipement mobile · vidéoprojecteur · valise · kit* Une **ressource** dans Omniscol est un équipement **mobile**, non rattaché à une salle particulière. Chaque ressource porte un **nom** et une **quantité disponible**. Exemples : trois vidéoprojecteurs portables, une valise de 30 tablettes (la valise compte pour 1, pas pour 30 — vous saisissez la quantité de valises, pas la quantité de tablettes), un kit microphones, un cluster de mannequins de secourisme. #### Comment c'est utilisé Au moment de configurer un cours, vous indiquez les ressources qui lui sont nécessaires. Le solveur garantit que **les séances simultanées ne demandent pas plus de ressources qu'il n'en existe** : si vous avez 3 vidéoprojecteurs portables, jamais plus de 3 séances simultanées ne pourront en demander un chacune. #### Différence avec les salles Une [salle](#page-glossary.classroom) est attachée à un [site](#page-glossary.site) et n'en bouge pas. Une ressource n'est attachée à aucune salle (mais elle est rattachée à un site, ce qui empêche d'utiliser une valise du site A pour un cours du site B). #### Cas typiques où on n'utilise pas de ressource Beaucoup de cours n'ont aucune ressource déclarée — c'est le défaut. Ne déclarez une ressource que si elle constitue **une vraie limite** : si vous avez 30 vidéoprojecteurs portables et 4 séances simultanées maximum, inutile de modéliser ; si vous en avez 3 et plusieurs séances qui en demandent, vous voulez que le solveur arbitre. #### Voir aussi - [Site](#page-glossary.site) - [Salle](#page-glossary.classroom) ### Salle *Source: `help/fr/glossary/classroom.md` · id: glossary.classroom · Updated: 2026-06-13* *Aussi appelé : salle de classe · salle de cours · local · room · salle dédiée* Une **salle** dans Omniscol est un local physique dans lequel un cours peut avoir lieu. Chaque salle est rattachée à un [site](#page-glossary.site). Une salle porte : - un **nom** (« A102 », « Amphi Newton », « Lab. Chimie 3 »), - une **capacité** (nombre d'élèves pouvant être accueillis ; champ capital pour le solveur), - éventuellement un Nombre maximal de classes quand c'est une **[grande salle](#page-glossary.large-room)** capable d'accueillir plusieurs séances en même temps (salle d'examen, théâtre, gymnase, piscine, extérieur), - éventuellement une **[spécialisation](#page-glossary.classroom-specialization)** (chimie, informatique, sport, multimédia, etc. — un seul libellé par salle), - éventuellement des **tags** ou commentaires libres (paper board, vidéoprojecteur fixe, prises électriques pour élèves, etc.), - éventuellement un **bâtiment**, - des **horaires d'ouverture** (utile pour les salles partagées avec un autre établissement, ou pour les salles ouvertes seulement certains jours). #### Affectation aux séances Une séance peut avoir une ou [plusieurs salles](#page-glossary.multi-room). Quand vous affectez manuellement une salle, Omniscol : - **pré-filtre** les salles inadéquates (mauvaise spécialisation, capacité insuffisante, indisponibilité, mauvais site) en les affichant en semi-transparence, - **trie** les salles compatibles par adéquation (étoiles : remplissage optimal, etc.), - vous laisse forcer une affectation incohérente, mais émet une alerte. #### Capacité et dimensionnement La capacité est un champ critique. En cas de doute et si vous êtes certain que la salle sera assez grande, mettez un chiffre élevé. Si vous sous-dimensionnez, le solveur refusera des configurations valides ou émettra des alertes. #### Grande salle : plusieurs séances simultanées Le champ **Nombre maximal de classes** transforme une salle en **[grande salle](#page-glossary.large-room)** : elle peut alors accueillir plusieurs séances différentes au même moment (professeurs et groupes distincts), dans la limite de ce nombre et de sa capacité totale — typiquement une salle d'examen, un théâtre, un gymnase, une piscine ou un espace extérieur. Ce réglage n'apparaît que sur une salle dotée d'une **[spécialisation](#page-glossary.classroom-specialization)**. Laissé vide, la salle n'accueille qu'une séance à la fois. #### Spécialisation La **spécialisation** (chimie, informatique, sport, multimédia, salle de devoirs surveillés…) est un libellé libre, unique par salle. Elle sert ensuite à indiquer, lors de l'affectation d'une matière à une classe, qu'une salle portant exactement ce libellé est requise. Le moteur respecte strictement cette contrainte. #### Salle dédiée à une classe Beaucoup de configurations primaire/secondaire associent une salle à chaque classe (les cours s'y déroulent par défaut, seuls les professeurs se déplacent). Vous pouvez le configurer sur la classe (cf. [création de classe](#page-timetables.creating-classes)). #### Salles dans deux sites virtuels Si vous avez créé deux [sites](#page-glossary.site) virtuels pour un même lieu physique (typiquement un collège et un lycée qui partagent les locaux), une salle ne peut appartenir qu'à un seul des deux sites à la fois. Pour la rendre utilisable côté collège **et** côté lycée, dupliquez-la dans les deux sites et **renseignez des horaires d'ouverture exclusifs**. Omniscol ne distingue pas une même salle partagée entre deux sites de deux salles homonymes : il ne recoupe donc pas automatiquement les deux entrées, et c'est à vous d'éviter une double réservation du local physique réel. #### Voir aussi - [Site](#page-glossary.site) - [Campus](#page-glossary.campus) - [Spécialisation de salle](#page-glossary.classroom-specialization) - [Multi-salles](#page-glossary.multi-room) - [Grande salle](#page-glossary.large-room) - [Ressource](#page-glossary.resource) ### Séance / Leçon *Source: `help/fr/glossary/lesson.md` · id: glossary.lesson · Updated: 2026-06-13* *Aussi appelé : créneau · vacation · intervention* Une **séance** (ou *séance de cours*) est l'unité planifiée posée sur la grille d'un emploi du temps : c'est elle que vous placez, déplacez, verrouillez, modifiez, annulez ou remplacez. Une séance porte : - une **classe** ou un [groupe](#page-glossary.group) (le public), - une **matière** ([subject](#page-glossary.subject)), - un ou plusieurs **professeurs** ([co-enseignement](#page-glossary.co-teaching)), - une ou plusieurs **salles** (voir [multi-salles](#page-glossary.multi-room)), - une ou plusieurs **ressources** (vidéoprojecteur mobile, valise tablettes…), - une **durée** (généralement 1 ou 2 unités de temps de la grille du site), - éventuellement un **type** (TD, TP, CM, examen, etc., défini dans Créer), - éventuellement un **mémo** (commentaire libre, avec restriction de publication : administrateurs seulement, administrateurs + professeurs, ou tout le monde). #### Séance ou cours ? L'interface d'Omniscol dit « séance » pour l'unité posée sur la grille. Le **[cours](#page-glossary.course)** reste le mot juste pour l'enseignement lui-même — la matière enseignée à une classe, avec son volume et ses attributs : on parle du cours d'anglais, des heures de cours, des journées de cours, et un même cours donne lieu à une ou plusieurs séances dans l'EDT. Le libellé Type de cours et la notion de [cours complexes](#page-core-concepts.complex-lessons) conservent eux aussi le mot « cours ». #### Vocabulaire selon le contexte - **Séance** — terme de l'interface pour l'unité planifiée, quel que soit le type d'établissement. - **Leçon** — synonyme courant dans le primaire et le secondaire. - **Intervention** — terme usuel de l'enseignement supérieur : l'intervenant réalise une intervention (usage repris par les connecteurs Auriga et Aurion). - **Créneau** — désigne plutôt l'emplacement horaire sur la grille que la séance qui l'occupe. - Une **vacation** désigne une séance assurée par un intervenant vacataire (par opposition à un permanent) ; ce n'est pas un type de cours différent, c'est juste l'intervenant qui change. #### Séances simples, cours complexes Une séance simple = un public, un professeur, une salle, à un créneau. Les **cours complexes** combinent plusieurs séances : - **[Concaténés](#page-glossary.concatenated-lessons)** — deux séances qui se suivent (un TP de 2h = un TP de 1h concaténé avec un autre TP de 1h). - **[Associés](#page-glossary.associated-lessons)** — alternance de groupes sur deux séances consécutives (groupe A en bio puis en physique, groupe B en physique puis en bio). - **[Alternés](#page-glossary.alternate-lessons)** — séances qui ne reviennent qu'une semaine sur deux (semaine A vs semaine B), une semaine sur trois, etc. Configuré dans Enregistrer. #### Séances et classes hors grille horaire Par défaut, les séances s'alignent sur les créneaux de la grille horaire du site. Mais Omniscol gère aussi les séances qui n'y rentrent pas (un examen de 2h commençant à 10h20 sur une grille de pas 50 min). Voir [séances de cours et classes hors grille](#page-timetables.off-grid-lessons). #### Voir aussi - [Cours](#page-glossary.course) - [Type de cours (TD, TP, CM…)](#page-glossary.lesson-type) - [Statut d'une séance](#page-glossary.lesson-status) - [Modalité d'une séance](#page-glossary.lesson-modality) - [Matière](#page-glossary.subject) - [Cours complexes](#page-core-concepts.complex-lessons) - [Multi-salles](#page-glossary.multi-room) ### Service du personnel *Source: `help/fr/glossary/staffing.md` · id: glossary.staffing · Options: staffing · SKU: omniscol/staffing-only · Updated: 2026-06-13* > **Option: Service du personnel** *Aussi appelé : planning de surveillance · grille de surveillance · grille d'encadrement* Le **Service du personnel** planifie le **personnel par tâches** plutôt que par cours. Il a été conçu à l'origine pour la vie scolaire : équipes AED, CPE, surveillants et personnels équivalents qui couvrent au fil de la journée la cour, l'accueil, les couloirs, le CDI, le réfectoire, les sorties EPS, les permanences, etc. Le module gère également : - la **surveillance d'examens** (sessions de partiels, bac, concours), - les **encadrements ponctuels** (sorties, voyages, conseils de classe), - les **pédagogies actives** (Montessori) où les professeurs sont planifiés par activité plutôt que par cours. #### Modèle de données - **Tâches** = besoins à pourvoir, définis par lieu + créneau + nombre de personnes + liste éventuelle du personnel autorisé. - **Grille** = ensemble des tâches sur une plage de dates, avec granularité au quart d'heure typiquement. - **Affectation** = associer un membre du personnel à une case de la grille. - **Tableau de service** = vue par personne de ses tâches. #### Indépendance vis-à-vis des cours Le Service du personnel peut s'utiliser : - en **complément** des EDT pédagogiques (les tâches AED s'ajoutent aux cours dans le compte) ; - en **offre autonome**, sans gestion d'EDT pédagogique. #### Rôle Personnel Le rôle **Personnel** est conçu pour l'équipe de vie scolaire (CPE, AED, surveillants, appariteurs) : accès au Service du personnel, à ses propres absences et à son planning personnel ; pas d'accès à la configuration globale. Il peut être cumulé avec le rôle Professeur quand une même personne est à la fois enseignante et planifiée dans le Service du personnel. Voir [Utilisateurs et rôles](#page-admin.users-and-roles). #### Voir aussi - [Vue d'ensemble du Service du personnel](#page-staffing.overview) - [Construire une grille de service](#page-staffing.building-grids) - [Définir les tâches à couvrir](#page-staffing.assignments) - [Affecter le personnel](#page-staffing.planner) - [Tableaux de service](#page-staffing.roster) ### Site *Source: `help/fr/glossary/site.md` · id: glossary.site · Updated: 2026-05-10* *Aussi appelé : lieu · bâtiment principal · antenne* Un **site** dans Omniscol représente un lieu physique où ont lieu des cours. Un site héberge des [salles](#page-glossary.classroom) et des [ressources](#page-glossary.resource). Ne le confondez pas avec le [campus](#page-glossary.campus), qui est une notion organisationnelle : implantation, faculté, pôle ou regroupement interne. Le site porte les horaires, les salles et les temps de trajet ; le campus sert plutôt à classer et filtrer. Chaque emploi du temps a au moins un site. Si tous vos bâtiments sont au même endroit géographique, un seul site suffit. Si votre établissement est multi-sites avec des intervenants ou des élèves qui se déplacent, créez autant de sites que nécessaire — et **renseignez le temps de trajet entre eux**, sinon le solveur risque de téléporter vos professeurs ou vos élèves. #### Grille horaire au niveau du site Chaque site porte sa propre **grille horaire** (heures de cours, pauses, déjeuner, fermetures). Elle est devinée automatiquement à partir des informations saisies, mais à personnaliser en ajoutant les pauses, la pause méridienne, les fermetures (mercredi après-midi, samedi). #### Cas pratique : deux sites virtuels pour un même lieu Configuration parfois utile (mais rare) : créer deux « sites virtuels » pour un lieu physique unique partagé entre deux entités (collège + lycée) qui n'ont pas la même grille horaire mais ont des professeurs en commun. Le temps de trajet entre les deux sites virtuels est alors zéro. Attention à dupliquer les salles partagées dans les deux sites et à renseigner des horaires d'ouverture exclusifs (cf. [salle](#page-glossary.classroom)). #### Quand préférer deux comptes plutôt que deux sites Si deux établissements distincts n'ont **aucun intervenant en commun** (ou si les rares professeurs communs sont affectés séquentiellement à un site puis à l'autre sur des jours bien définis), il est souvent plus simple d'utiliser deux comptes Omniscol séparés. Les sites multiples s'imposent dès qu'il y a une vraie circulation des intervenants ou des élèves à modéliser. En **Premium**, une autre option est de publier **deux emplois du temps actifs simultanément** sur le même compte (voir [Plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables)), correspondant chacun à un site, plutôt que de configurer deux sites dans un même EDT. Que ce soit avec plusieurs comptes ou plusieurs EDT en parallèle, il est possible de partager les occupations des professeurs et des salles, avec une détection de conflits croisés (qui peut être désactivée par le planificateur). S'il s'agit de plusieurs comptes, il faut se rapprocher de l'équipe d'Omniscol pour configurer le lien entre eux. Seuls les emplois du temps opérationnels, publiés, servent de source pour déterminer les occupations des entités communes. #### Voir aussi - [Salle](#page-glossary.classroom) - [Ressource](#page-glossary.resource) - [Campus](#page-glossary.campus) - [Multi-sites pour le supérieur](#page-higher-ed.multi-site) ### Solveur / Algorithme de génération automatique *Source: `help/fr/glossary/solver.md` · id: glossary.solver · Updated: 2026-06-13* Le **solveur** d'Omniscol calcule automatiquement le placement des séances d'un EDT [hebdomadaire](#page-glossary.weekly-timetable), [cyclique](#page-glossary.cyclic-timetable) ou [calendrier](#page-glossary.calendar-mode). Il place les séances créées qui ne sont pas encore positionnées, peut déplacer les séances déjà positionnées si cela améliore l'EDT, et conserve les séances verrouillées à leur place. #### Comment ça fonctionne Quand vous lancez une génération, Omniscol démarre un environnement de calcul dédié et parallélisé. Il n'y a pas de file d'attente à gérer côté école ; l'initialisation prend souvent autour d'une dizaine de secondes avant les premiers calculs visibles. Le résultat dépend de la qualité des données saisies : sites, salles, professeurs, groupes, volumes horaires, disponibilités et incompatibilités. Plus les contraintes sont nombreuses ou contradictoires, plus la génération peut être longue ou produire un résultat partiel. Le moteur est une IA d'optimisation **métaheuristique Monte-Carlo neuro-symbolique** : il combine recherche stochastique, règles métier symboliques et scoring des contraintes. Le point important est opérationnel : le solveur est conçu pour des cas très contraints, tout en signalant les situations impossibles plutôt que de masquer les conflits. #### Contraintes strictes Le solveur respecte strictement les contraintes qui rendraient l'EDT invalide : - un professeur ne peut pas être à deux endroits en même temps ; - une classe ne peut pas suivre deux séances en même temps, sauf cas prévu par des groupes en partition ; - les disponibilités et contraintes de niveau **indisponible** bloquent le placement ; - une salle standard ne peut pas accueillir deux séances au même moment ; - une grande salle peut accueillir plusieurs séances seulement dans les limites de capacité et de nombre de classes configurées ; - les salles spécialisées, capacités, ressources matérielles et trajets inter-sites doivent rester compatibles ; - une séance verrouillée conserve sa position. #### Contraintes d'optimisation Les contraintes souples servent à noter et améliorer les solutions trouvées. Elles ne sont pas ignorées : elles deviennent des malus que le solveur cherche à réduire. Exemples fréquents : - disponibilités ou contraintes **indésirables** pour un professeur, une salle, une matière, un groupe ou une classe ; - incompatibilités pédagogiques entre matières, par exemple éviter un TP avant le cours correspondant, éviter le sport juste après un cours très dense, ou imposer l'ordre d'une progression ; - éviter d'avoir deux fois la même matière dans la même journée pour une classe ; - minimum ou maximum d'heures de cours par jour ou par semaine ; - équilibre des journées ; - réduction des trous dans les EDT des classes et des professeurs ; - nombre de jours de présence des professeurs, selon les usages de l'établissement ou du pays. La recherche d'une solution valide est la première étape. L'optimisation des malus peut ensuite devenir la partie la plus longue du calcul. #### Disponibilité - **EDT hebdomadaires** — disponible. - **EDT cycliques** — disponible. - **EDT calendriers** — disponible avec des séances datées et une plage de dates. #### Que faire si la génération échoue Si aucune solution complète n'est trouvée, Omniscol conserve le meilleur EDT calculé et laisse les séances impossibles à placer dans la liste des post-its non positionnés. Vous pouvez alors inspecter l'EDT partiel, lire le diagnostic et corriger les contraintes. Causes fréquentes : - disponibilités trop restrictives (un professeur n'a aucun créneau libre compatible), - pas assez de salles, ou pas de salle spécialisée disponible, - alignement incohérent (volumes horaires différents entre les groupes alignés), - incompatibilités trop nombreuses ou trop strictes, - effectif théorique de la classe > capacité de toutes les salles candidates. Voir [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation). #### Forcer le placement d'une séance Vous pouvez **verrouiller** la position d'une séance avant de relancer la génération : le solveur ne la déplace alors plus, mais ajuste les autres autour. Pratique pour ancrer les séances « immuables » (interventions extérieures fixées par contrat, examens datés, etc.). #### Voir aussi - [EDT hebdomadaire](#page-glossary.weekly-timetable) - [Disponibilités](#page-glossary.wishes) - [Diagnostic et conflits](#page-glossary.conflict) - [Génération automatique](#page-timetables.generation) ### Spécialisation de salle *Source: `help/fr/glossary/classroom-specialization.md` · id: glossary.classroom-specialization · Updated: 2026-05-10* *Aussi appelé : type de salle · salle spécialisée · salle dédiée matière* Une **spécialisation de salle** indique qu'une salle est dédiée à un certain type d'activité : laboratoire de chimie, salle informatique, gymnase, salle multimédia, salle de devoirs surveillés, atelier d'art, studio de musique, etc. C'est un champ **libre** — vous créez les spécialisations qu'il vous faut, avec votre propre nomenclature. Pas de liste fermée imposée par Omniscol. #### Comportement du solveur Quand une matière requiert une spécialisation, le solveur n'affecte **que** les salles qui portent cette spécialisation. Une salle de TP de chimie ne sera jamais utilisée pour un cours de littérature si vous avez requis « chimie » sur la matière TP. Forcer une affectation incohérente (donner manuellement à un cours de chimie une salle qui n'a pas la spécialisation chimie) **ne bloque pas** mais affiche une alerte. #### Trier ou supprimer une spécialisation Une spécialisation existe tant qu'elle est utilisée par au moins une salle. Pour la supprimer, retirez-la de toutes les salles qui la portent — au prochain enregistrement, elle disparaît du référentiel. Pour **renommer**, créez la nouvelle spécialisation avec le bon nom, remplacez-la sur les salles, et l'ancienne disparaîtra automatiquement (sous réserve qu'elle ne soit plus référencée nulle part, y compris côté matières). #### Voir aussi - [Salle](#page-glossary.classroom) - [Matière](#page-glossary.subject) - [Spécialisations de salles](#page-core-concepts.classroom-specializations) ### Statut d'une séance *Source: `help/fr/glossary/lesson-status.md` · id: glossary.lesson-status · Plan: premium · Updated: 2026-06-25* > **Premium** *Aussi appelé : statut de séance · statut de cours · planifié · brouillon · séance annulée · séance réalisée* > _Premium_ Sur les comptes **Premium**, le **Statut** indique où en est une [séance](#page-glossary.lesson) dans le cycle de planification. Il se règle séance par séance — depuis l'icône Statut — ou **en masse** depuis le mode listing. Quatre valeurs : - **Planifié** — État standard de la séance positionnée. C'est l'état d'une séance ordinaire, posée sur la grille. - **Brouillon** — séance en préparation, **ignorée par la génération automatique** et les **tableaux de bord**. Pratique pour préparer une séance sans encore l'imposer à l'emploi du temps ni au [solveur](#page-glossary.solver). - **Annulé** — la séance reste **affichée comme annulée** (conservée pour mémoire) mais est elle aussi **ignorée par la génération automatique** et les **tableaux de bord**. - **Réalisé** — la séance est marquée **réalisée**, ce qui l'intègre avec cette précision au **tableau de bord** des professeurs, pour la **facturation**. #### Affichage Lorsqu'elles sont affichées sur la grille de planning, ces séances se reconnaissent à leur rendu : - une séance **Brouillon** porte un **liseré orange en pointillés** et reste légèrement estompée ; - une séance **Annulé** est **barrée** et fortement estompée — elle redevient lisible au survol, ce qui permet de la garder pour mémoire sans encombrer la grille. #### Effet sur la génération Les séances **Brouillon** et **Annulé** sont mises de côté par le [solveur](#page-glossary.solver) : il ne les place pas, et elles ne pèsent pas dans les conflits (occupation des salles, collisions de professeurs, capacités). Les séances **Planifié** restent les séances réelles que la génération positionne. #### « Réalisé » : uniquement en mode calendrier Le statut **Réalisé** n'est proposé que sur les emplois du temps de type **[calendrier](#page-glossary.calendar-mode)** : c'est là, sur des séances datées, que marquer une séance comme effectivement assurée a un sens. Il alimente alors le **suivi des heures réellement faites par les professeurs** (tableau de bord des professeurs) et leur **facturation**. Sur un emploi du temps hebdomadaire ou cyclique, ce statut n'apparaît pas. #### Voir aussi - [Édition d'une séance de cours](#page-timetables.lesson-edit) - [Modalité](#page-glossary.lesson-modality) - [Séance / Leçon](#page-glossary.lesson) - [Mode calendrier](#page-glossary.calendar-mode) ### Tableau de bord *Source: `help/fr/glossary/dashboard.md` · id: glossary.dashboard · Updated: 2026-05-18* *Aussi appelé : dashboard · statistiques · indicateurs* Le module **Tableau de bord** fournit des statistiques calculées sur l'EDT effectif (séances positionnées, absences prises en compte, remplacements appliqués) sur une période choisie : semaine, mois, année scolaire, ou plage de dates personnalisée. #### Indicateurs disponibles Les statistiques sont organisées par axes d'analyse : professeurs, salles, ressources, matières, classes et élèves. La page complète du module détaille les indicateurs disponibles pour chaque axe. #### Cas d'usage - **Reporting RH** — relevé des heures enseignées pour la paie, les certifications, les accréditations. - **Optimisation salles** — détecter les salles sous-utilisées ou surchargées. - **Contrôle ressources** — vérifier l'utilisation effective du matériel mobile. - **Audit pédagogique** — vérifier que tous les volumes prévus ont bien été dispensés. #### Export Le bouton Imprimer ouvre un tableau qu'on peut copier-coller, imprimer, ou exporter en CSV pour un traitement externe (Excel, Power BI, etc.). #### Calcul Important : le Tableau de bord travaille sur l'**EDT opérationnel** (les séances réellement positionnées et publiées, fusionnant [plusieurs EDT actifs en parallèle](#page-timetables.multiple-active-timetables) le cas échéant) et **tient compte des absences validées et des remplacements**. C'est un calcul de réalité, pas de configuration prévisionnelle. #### Voir aussi - [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) - [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) - [Statistiques professeurs](#page-dashboard.teachers) - [Statistiques salles](#page-dashboard.classrooms) - [Statistiques matières](#page-dashboard.subjects) - [Statistiques classes](#page-dashboard.classes) ### Type de cours *Source: `help/fr/glossary/lesson-type.md` · id: glossary.lesson-type · Updated: 2026-05-10* *Aussi appelé : CM · TD · TP · cours magistral · travaux dirigés · travaux pratiques* Un **type de cours** qualifie la modalité pédagogique d'une séance. Exemples canoniques : - **CM** — cours magistral, - **TD** — travaux dirigés, - **TP** — travaux pratiques, - **Examen** — épreuve évaluée, - **Conférence** — invitation extérieure, - **Atelier**, **Séminaire**, **Forum**, **Soutenance**… Les types de cours sont définis au niveau de l'école dans Créer. Vous pouvez en créer autant que votre nomenclature pédagogique l'exige (les écoles supérieures ont parfois 25-30 types). #### Couplage matière + type Un type de cours s'attribue à un cours, en complément de sa [matière](#page-glossary.subject). Le couple `(matière, type)` est traité comme un identifiant indépendant : par exemple, dans les statistiques ou les filtres, le « cours de maths » et le « TD de maths » apparaissent séparément. Si vous voulez requêter sur les deux à la fois (sans distinction de type), utilisez un filtre ouvert ne précisant pas le type. #### Filtrage et affichage - **Filtre dans le module EDT** — sélection d'un type pour ne voir que les TP, ou que les CM. - **Statistiques** — décompte des heures de TD vs TP vs CM par classe ou par professeur. - **Affichage** — couleur ou marqueur visuel par type sur la grille, selon les paramètres d'affichage. #### Voir aussi - [Cours](#page-glossary.course) - [Matière](#page-glossary.subject) - [Séance / Leçon](#page-glossary.lesson) - [Configurer les types de cours](#page-admin.lesson-types) ### Vacances *Source: `help/fr/glossary/holidays.md` · id: glossary.holidays · Updated: 2026-06-26* *Aussi appelé : congés · fériés · vacances scolaires* Les **vacances** sont des périodes de fermeture de l'établissement rattachées à une [année scolaire](#page-glossary.school-year) : vacances scolaires, ponts et jours fériés. Chacune porte un nom, une date de début et une date de fin. À la création d'une année scolaire, Omniscol peut proposer l'import des vacances communes du pays configuré, lorsque des données existent pour la plage choisie. La liste se complète et s'ajuste ensuite manuellement. #### Effet sur l'emploi du temps L'effet d'une période de vacances dépend du type d'emploi du temps : - **EDT récurrent (hebdomadaire ou cyclique)** : à la publication, les vacances annulent les séances des journées concernées — les cours récurrents n'ont pas lieu ces jours-là et les statistiques en tiennent compte. - **EDT calendrier** : une séance peut être positionnée sur un jour de vacances, mais cela crée un conflit ; la génération automatique se réserve alors le droit de repositionner cette séance si elle n'est pas verrouillée. Les vacances décrivent une fermeture **générale** de l'établissement. Pour neutraliser une période sur un périmètre plus restreint : - une [absence de classe](#page-absences.class-and-student-absences) retire une classe sur une période donnée ; - en EDT calendrier, les [fenêtres de dates](#page-glossary.date-windows) restreignent la période d'activité d'un cours précis. #### Où les configurer Les vacances se gèrent par année scolaire, dans les [années scolaires](#page-admin.school-year), une par une ou en tableau. #### Voir aussi - [Année scolaire](#page-glossary.school-year) - [Fenêtre de dates](#page-glossary.date-windows) - [Années scolaires](#page-admin.school-year) ### Vacataire / Intervenant externe *Source: `help/fr/glossary/external-teacher.md` · id: glossary.external-teacher · Updated: 2026-06-13* *Aussi appelé : intervenant occasionnel · prof externe · visiting professor* Un **vacataire** (ou *intervenant externe*, *visiting professor*, *expert* selon les contextes) est un professeur dont la relation contractuelle avec l'établissement est temporaire ou occasionnelle. Du point de vue du solveur, un vacataire est un [professeur](#page-glossary.teacher) comme un autre — mêmes disponibilités, mêmes affectations. La distinction est principalement **administrative** : - contrat court (à l'heure, à la séance, à la mission), - volume d'heures plus restreint que les permanents, - utilisateur souvent pas hébergé sur les mêmes systèmes que les permanents (e-mail différent, pas d'accès aux mêmes outils internes). > _Premium_ Le marqueur dédié Professeur externe, coché sur la fiche de l'utilisateur, est réservé aux comptes Premium. Il sert à identifier explicitement les intervenants externes et alimente l'affichage spécifique décrit ci-dessous. #### Affichage spécifique Une icône [user-tie] distingue les vacataires des permanents dans certains écrans (notamment l'infobulle de séance et la vue liste des EDT). Sur la grille horaire principale, l'affichage par défaut ne distingue pas pour des raisons de place, mais l'information reste lisible dans l'infobulle au survol. #### Cas particulier : visiting professor pour quelques séances Pour une séance ponctuelle où un visiting professor co-anime avec l'intervenant principal sans alterner, voir [co-enseignement](#page-glossary.co-teaching). Pour une alternance hebdomadaire de deux intervenants sur le même créneau, voir [cours alternés](#page-glossary.alternate-lessons). #### Voir aussi - [Professeur](#page-glossary.teacher) - [Co-enseignement](#page-glossary.co-teaching) - [Intervenants externes dans le supérieur](#page-higher-ed.external-faculty) --- ## Index ### A - **Absence** — [Définition](#page-glossary.absence) · [Déclarer une absence](#page-absences.declaring) · [Politiques de remplacement](#page-absences.substitution-policies) · [Statistiques étudiants et ressources](#page-dashboard.students-resources) · [Statistiques professeurs](#page-dashboard.teachers) · [Vue d'ensemble du module Absences](#page-absences.overview) - **Alignement de groupes** — [Définition](#page-glossary.alignment) · [Alignements de groupes](#page-core-concepts.alignments) · [Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) · [Groupes de groupes](#page-core-concepts.groups-of-groups) · [Modèle de données complet](#page-integrations.data-model-full) · [Vue d'ensemble](#page-k12.overview) - **Année scolaire** — [Définition](#page-glossary.school-year) · [Configurer le compte de l'école](#page-getting-started.setup-school) · [Modèle de données complet](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organisation des données](#page-core-concepts.data-model) · [Paramètres généraux](#page-admin.parameters) · [Prérequis](#page-timetables.prerequisites) · [Publier (activer) un emploi du temps](#page-timetables.publication) · [Visite guidée](#page-getting-started.onboarding-tour) ### C - **Campus** — [Définition](#page-glossary.campus) · [Conflits et diagnostic](#page-timetables.conflicts) · [Créer les classes et leurs groupes](#page-timetables.creating-classes) · [Paramètres avancés et personnalisation](#page-admin.advanced-parameters) · [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) · [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) - **Classe** — [Définition](#page-glossary.class) · [Architecture et rôles](#page-overview.architecture-and-roles) · [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) · [Créer les classes et leurs groupes](#page-timetables.creating-classes) · [Modèle de données complet](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organisation des données](#page-core-concepts.data-model) · [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) · [Statistiques classes](#page-dashboard.classes) · [Visite guidée en cinq minutes](#page-overview.quick-tour) - **Co-enseignement** — [Définition](#page-glossary.co-teaching) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Cours complexes](#page-core-concepts.complex-lessons) - **Conflit** — [Définition](#page-glossary.conflict) · [Cas particuliers et configurations avancées](#page-faq.edge-cases) · [Comportement de l'algorithme](#page-faq.solver-behavior) · [Conflits et diagnostic](#page-timetables.conflicts) · [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) · [Génération automatique](#page-timetables.generation) · [Modifications ponctuelles](#page-schedules.ad-hoc-changes) · [Philosophie générale d'Omniscol](#page-overview.philosophy) · [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) · [Verrouiller une séance](#page-timetables.lesson-lock) - **Cours** — [Définition](#page-glossary.course) - **Cours alternés** — [Définition](#page-glossary.alternate-lessons) · [Cours complexes](#page-core-concepts.complex-lessons) · [Paramètres généraux](#page-admin.parameters) · [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) - **Cours associés** — [Définition](#page-glossary.associated-lessons) · [Cours complexes](#page-core-concepts.complex-lessons) · [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) - **Cours concaténés** — [Définition](#page-glossary.concatenated-lessons) · [Cours complexes](#page-core-concepts.complex-lessons) · [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) - **Cours transverse** — [Définition](#page-glossary.transverse-course) ### D - **Diagnostic** — [Définition](#page-glossary.diagnostic) · [Comportement de l'algorithme](#page-faq.solver-behavior) · [Conflits et diagnostic](#page-timetables.conflicts) · [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) · [Génération automatique](#page-timetables.generation) - **Disponibilités des professeurs (vœux)** — [Définition](#page-glossary.wishes) · [Affecter les professeurs](#page-timetables.assigning-teachers) · [Contraintes horaires (système général)](#page-core-concepts.time-constraints) · [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) · [Groupes de groupes](#page-core-concepts.groups-of-groups) · [Modèle de données complet](#page-integrations.data-model-full) ### E - **EDT cyclique** — [Définition](#page-glossary.cyclic-timetable) · [Choisir le bon type d'EDT](#page-overview.timetable-modes) · [Création d'EDT](#page-faq.timetables) - **EDT hebdomadaire** — [Définition](#page-glossary.weekly-timetable) · [Choisir le bon type d'EDT](#page-overview.timetable-modes) · [Comportement de l'algorithme](#page-faq.solver-behavior) · [Création d'EDT](#page-faq.timetables) · [Vue d'ensemble](#page-k12.overview) · [Vue d'ensemble du module](#page-timetables.overview) ### É - **Élève / Étudiant / Apprenant** — [Définition](#page-glossary.student) · [Architecture et rôles](#page-overview.architecture-and-roles) · [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) · [OneRoster](#page-integrations.oneroster) · [Préparer ses données pour un import massif](#page-getting-started.preparing-data) · [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) · [Statistiques étudiants et ressources](#page-dashboard.students-resources) · [Utilisateurs et rôles](#page-admin.users-and-roles) · [Visite guidée](#page-getting-started.onboarding-tour) ### E - **Emploi du temps** — [Définition](#page-glossary.timetable) · [Affichage des EDT](#page-schedules.schedule-display) · [Affichage et UX](#page-faq.display-and-ux) · [Choisir le bon type d'EDT](#page-overview.timetable-modes) · [Consulter et filtrer](#page-schedules.consult-and-filter) · [Création d'EDT](#page-faq.timetables) · [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) · [Paramètres généraux](#page-timetables.general-settings) · [Philosophie générale d'Omniscol](#page-overview.philosophy) · [Publier (activer) un emploi du temps](#page-timetables.publication) · [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) · [Recherche et filtres](#page-core-concepts.search-and-filter) · [Séances hors grille](#page-timetables.off-grid-lessons) · [Statistiques professeurs](#page-dashboard.teachers) · [Statistiques salles](#page-dashboard.classrooms) · [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) · [Visite guidée](#page-getting-started.onboarding-tour) · [Visite guidée en cinq minutes](#page-overview.quick-tour) · [Vue d'ensemble du module](#page-timetables.overview) · [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) ### F - **Fenêtre de dates** — [Définition](#page-glossary.date-windows) ### G - **Grande salle** — [Définition](#page-glossary.large-room) · [Attribution automatique des salles](#page-timetables.auto-room-assignment) · [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) · [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) - **Groupe** — [Définition](#page-glossary.group) · [Alignements de groupes](#page-core-concepts.alignments) · [Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) · [Créer les classes et leurs groupes](#page-timetables.creating-classes) · [Édition d'une séance de cours](#page-timetables.lesson-edit) · [Groupes de groupes](#page-core-concepts.groups-of-groups) · [Groupes libres](#page-core-concepts.free-groups) · [Hiérarchie de groupes](#page-core-concepts.group-hierarchy) · [Modèle de données complet](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Partitions de classe](#page-core-concepts.class-divisions) · [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) · [Séances hors grille](#page-timetables.off-grid-lessons) · [Statistiques classes](#page-dashboard.classes) · [Statistiques étudiants et ressources](#page-dashboard.students-resources) - **Groupe de groupes** — [Définition](#page-glossary.groups-of-groups) · [Alignements de groupes](#page-core-concepts.alignments) · [Alignements et groupes de groupes](#page-timetables.alignments-and-groups-of-groups) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Cas particuliers et configurations avancées](#page-faq.edge-cases) · [Groupes de groupes](#page-core-concepts.groups-of-groups) · [Modèle de données complet](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Plans et options Omniscol](#page-overview.plans-and-options) · [Vue d'ensemble](#page-higher-ed.overview) - **Groupe libre** — [Définition](#page-glossary.free-group) · [Groupes libres](#page-core-concepts.free-groups) · [Modèle de données complet](#page-integrations.data-model-full) ### I - **iCal (export agenda)** — [Définition](#page-glossary.ical) · [Vue d'ensemble des intégrations](#page-integrations.overview) - **Incompatibilité (entre matières)** — [Définition](#page-glossary.incompatibility) · [Contraintes horaires (système général)](#page-core-concepts.time-constraints) ### J - **Jeton API** — [Définition](#page-glossary.api-token) · [Sécurité et hébergement](#page-faq.security-and-hosting) · [Vue d'ensemble des intégrations](#page-integrations.overview) ### L - **Lien de partage** — [Définition](#page-glossary.share-link) · [Architecture et rôles](#page-overview.architecture-and-roles) · [Sécurité et hébergement](#page-faq.security-and-hosting) · [Vue d'ensemble des intégrations](#page-integrations.overview) - **Ligne de temps** — [Définition](#page-glossary.timeline) · [Ligne de temps et navigation temporelle](#page-core-concepts.timeline-navigation) ### M - **Matière** — [Définition](#page-glossary.subject) · [Créer les classes et leurs groupes](#page-timetables.creating-classes) · [Modèle de données complet](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organisation des données](#page-core-concepts.data-model) · [Préparer ses données pour un import massif](#page-getting-started.preparing-data) · [Prérequis](#page-timetables.prerequisites) · [Statistiques classes](#page-dashboard.classes) · [Statistiques matières](#page-dashboard.subjects) · [Visite guidée](#page-getting-started.onboarding-tour) · [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) - **Modalité** — [Définition](#page-glossary.lesson-modality) - **Mode calendrier** — [Définition](#page-glossary.calendar-mode) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Choisir le bon type d'EDT](#page-overview.timetable-modes) · [Création d'EDT](#page-faq.timetables) · [Plans et options Omniscol](#page-overview.plans-and-options) · [Vue d'ensemble](#page-higher-ed.overview) · [Vue d'ensemble du module](#page-timetables.overview) - **Mode d'affichage de l'EDT** — [Définition](#page-glossary.schedule-view-mode) - **Multi-salles** — [Définition](#page-glossary.multi-room) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Cas particuliers et configurations avancées](#page-faq.edge-cases) · [Import massif des cours via tableur](#page-timetables.mass-import) · [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) · [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) · [Vue d'ensemble](#page-higher-ed.overview) ### N - **Niveau** — [Définition](#page-glossary.level) ### P - **Panneau d'affichage** — [Définition](#page-glossary.panel) · [Affichage et UX](#page-faq.display-and-ux) · [Modèle de données complet](#page-integrations.data-model-full) - **Partition de classe** — [Définition](#page-glossary.class-division) · [Alignements de groupes](#page-core-concepts.alignments) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Cas particuliers et configurations avancées](#page-faq.edge-cases) · [Classe, groupe, sous-groupe](#page-core-concepts.classes-and-groups) · [Créer les classes et leurs groupes](#page-timetables.creating-classes) · [Hiérarchie de groupes](#page-core-concepts.group-hierarchy) · [Modèle de données complet](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Partitions de classe](#page-core-concepts.class-divisions) · [Vue d'ensemble](#page-k12.overview) - **Professeur** — [Définition](#page-glossary.teacher) · [Affecter les professeurs](#page-timetables.assigning-teachers) · [Architecture et rôles](#page-overview.architecture-and-roles) · [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) · [Édition d'une séance de cours](#page-timetables.lesson-edit) · [Inviter et activer ses utilisateurs](#page-getting-started.inviting-users) · [Modèle de données complet](#page-integrations.data-model-full) · [OneRoster](#page-integrations.oneroster) · [Organisation des données](#page-core-concepts.data-model) · [Préparer ses données pour un import massif](#page-getting-started.preparing-data) · [Prérequis](#page-timetables.prerequisites) · [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) · [Séances hors grille](#page-timetables.off-grid-lessons) · [Statistiques classes](#page-dashboard.classes) · [Statistiques matières](#page-dashboard.subjects) · [Statistiques professeurs](#page-dashboard.teachers) · [Utilisateurs et rôles](#page-admin.users-and-roles) · [Visite guidée](#page-getting-started.onboarding-tour) · [Visite guidée en cinq minutes](#page-overview.quick-tour) · [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) - **Publication / Activation d'un EDT** — [Définition](#page-glossary.publication) · [Création d'EDT](#page-faq.timetables) · [Publier (activer) un emploi du temps](#page-timetables.publication) · [Visite guidée](#page-getting-started.onboarding-tour) ### R - **Remplacement / Suppléance** — [Définition](#page-glossary.substitution) · [Modèle de données complet](#page-integrations.data-model-full) · [Politiques de remplacement](#page-absences.substitution-policies) · [Statistiques professeurs](#page-dashboard.teachers) · [Vue d'ensemble du module Absences](#page-absences.overview) - **Ressource** — [Définition](#page-glossary.resource) · [Édition d'une séance de cours](#page-timetables.lesson-edit) · [Modèle de données complet](#page-integrations.data-model-full) · [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) · [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) · [Statistiques étudiants et ressources](#page-dashboard.students-resources) ### S - **Salle** — [Définition](#page-glossary.classroom) · [Attribution automatique des salles](#page-timetables.auto-room-assignment) · [Édition d'une séance de cours](#page-timetables.lesson-edit) · [Import massif des cours via tableur](#page-timetables.mass-import) · [Préparer ses données pour un import massif](#page-getting-started.preparing-data) · [Recherche et filtres](#page-core-concepts.search-and-filter) · [Séances hors grille](#page-timetables.off-grid-lessons) · [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) · [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) · [Statistiques matières](#page-dashboard.subjects) · [Statistiques salles](#page-dashboard.classrooms) · [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) - **Séance / Leçon** — [Définition](#page-glossary.lesson) · [Cas particuliers et configurations avancées](#page-faq.edge-cases) · [Consulter et filtrer](#page-schedules.consult-and-filter) · [Édition d'une séance de cours](#page-timetables.lesson-edit) · [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) · [Import massif des cours via tableur](#page-timetables.mass-import) · [Modèle de données complet](#page-integrations.data-model-full) · [Modifications ponctuelles](#page-schedules.ad-hoc-changes) · [Organisation des données](#page-core-concepts.data-model) · [Positionnement manuel](#page-timetables.manual-placement) · [Préparer ses données pour un import massif](#page-getting-started.preparing-data) · [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) · [Répartir les heures et créer les séances de cours](#page-timetables.hour-distribution) · [Séances hors grille](#page-timetables.off-grid-lessons) · [Verrouiller une séance](#page-timetables.lesson-lock) · [Visite guidée en cinq minutes](#page-overview.quick-tour) - **Service du personnel** — [Définition](#page-glossary.staffing) · [Modèle de données complet](#page-integrations.data-model-full) - **Site** — [Définition](#page-glossary.site) · [Attribution automatique des salles](#page-timetables.auto-room-assignment) · [Grille horaire, créneaux et durées](#page-core-concepts.timetable-grid) · [Modèle de données complet](#page-integrations.data-model-full) · [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) · [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) - **Solveur** — [Définition](#page-glossary.solver) · [Comportement de l'algorithme](#page-faq.solver-behavior) · [Contraintes horaires (système général)](#page-core-concepts.time-constraints) · [Création d'EDT](#page-faq.timetables) · [Diagnostiquer une génération qui échoue](#page-timetables.diagnosing-generation) · [Disponibilités des professeurs](#page-core-concepts.wishes-and-availability) · [Génération automatique](#page-timetables.generation) · [Philosophie générale d'Omniscol](#page-overview.philosophy) · [Positionnement manuel](#page-timetables.manual-placement) · [Qu'est-ce qu'Omniscol](#page-overview.what-is-omniscol) · [Verrouiller une séance](#page-timetables.lesson-lock) - **Spécialisation de salle** — [Définition](#page-glossary.classroom-specialization) · [Attribution automatique des salles](#page-timetables.auto-room-assignment) · [Cas particuliers et configurations avancées](#page-faq.edge-cases) · [Modèle de données complet](#page-integrations.data-model-full) · [Sites, grilles horaires, salles, ressources](#page-timetables.sites-rooms) · [Sites, salles, ressources](#page-core-concepts.sites-rooms-resources) - **Statut** — [Définition](#page-glossary.lesson-status) ### T - **Tableau de bord** — [Définition](#page-glossary.dashboard) · [Statistiques classes](#page-dashboard.classes) · [Statistiques étudiants et ressources](#page-dashboard.students-resources) · [Statistiques matières](#page-dashboard.subjects) · [Statistiques professeurs](#page-dashboard.teachers) · [Statistiques salles](#page-dashboard.classrooms) · [Utiliser les tableaux et graphiques](#page-dashboard.tools-and-filters) · [Vue d'ensemble du module Tableau de bord](#page-dashboard.overview) - **Type de cours** — [Définition](#page-glossary.lesson-type) · [Modèle de données complet](#page-integrations.data-model-full) · [Organisation des données](#page-core-concepts.data-model) ### V - **Vacances** — [Définition](#page-glossary.holidays) - **Vacataire** — [Définition](#page-glossary.external-teacher) · [Affecter les professeurs](#page-timetables.assigning-teachers) · [Cas d'usage enseignement supérieur](#page-faq.higher-ed-cases) · [Vue d'ensemble](#page-higher-ed.overview)