Portail d'enseignement

E Suong
E Suong

Explorer les ressources

Accueil

Documentation technique

Catalogue et ressources

Fiche de référence du code : fonctionnement, formats et limites. La disponibilité publique dépend de la version publiée.

Sommaire de la fiche

Fichiers sources

Une rubrique contient _rubrique.json, ses ressources, leurs fichiers *.ressource.json et ses sous-rubriques. Le nom du dossier n’écrase pas le titre déclaré dans le JSON.

Exemple minimal de rubrique :

{"id":"exemple","title":"Exemple","type":"page","order":0,"minLevel":0,"description":""}

Types : category, page, group. Un groupe n’est pas proposé dans les menus. Les rubriques de type page peuvent aussi avoir des enfants.

Exemple de ressource :

{"id":"document-exemple","title":"Document","file":"document.pdf","description":"","minLevel":2,"order":0,"tags":["Fractions"],"unlockDate":""}

Définir soit file (nom local sans chemin), soit url (HTTP/HTTPS ou route commençant par /). Ne pas copier les propriétés dérivées de l’index (nodeId, descriptor, signature…) dans les fiches. Garder les champs existants inconnus lors des migrations.

Ajouter, modifier, déplacer

L’administration ajoute des fichiers jusqu’à 50 Mo, des liens et des rubriques. Un nouveau fichier est au minimum réservé aux professeurs ; régler ensuite son accès. Les extensions acceptées sont listées dans allowedExtensions de catalogue.mjs (../src/lib/catalogue.mjs).

Pour renommer un document, utiliser « Renommer » : le champ file et le fichier physique restent cohérents, sans changer l’identifiant. « Remplacer » garde la fiche et sauvegarde l’ancienne version dans backups/versions/. Remplacer directement un fichier de même nom est possible après actualisation, mais ne fournit pas la sauvegarde préalable de l’interface.

Déplacer le document et sa fiche ensemble ; déplacer une rubrique avec son dossier entier. Les duplications doivent recevoir de nouveaux identifiants. Les retraits administratifs vont dans backups/corbeille/.

Le dossier racine Ressources/Import-PDF est exclu du catalogue : c’est une zone de dépôt, pas une publication automatique.

Dates et visibilité

Niveaux : 0 public, 1 élève, 2 professeur, 3 administrateur. Le niveau effectif est au moins celui du parent. Les sources reconnues comme LaTeX sont forcées au niveau 2 minimum. Une date de déblocage est comparée au jour courant en Europe/Paris ; les niveaux 2 et 3 ignorent cette date, mais pas leur niveau requis. unavailable:true interdit l’ouverture à tous.

documentUpdatedAt indique un changement du contenu du fichier, détecté par empreinte ; un renommage ou une modification de description ne la change pas. updatedAt décrit plus largement la ressource et alimente les dates des mosaïques. Ne pas inventer de dates historiques.

Un ancien lien incomplet marqué indisponible peut garder son URL inchangée pendant une édition du titre. Une URL valide rétablit sa disponibilité.

Composition

blocks dans la rubrique accepte :

  • category : categoryId ;
  • resource : resourceId ;
  • heading : title ;
  • text : title, description, tags, subjectId.

Tous ont un id unique dans la page. Un texte sans subjectId est autonome. Sinon il suit l’ouverture du sujet associé ; ne pas l’associer à une source LaTeX. Un titre de section sans contenu visible est masqué. Les ressources/enfants non explicitement placés sont ajoutés à la fin par page-blocks.mjs (../src/lib/page-blocks.mjs).

Descriptions, mathématiques et tags

L’éditeur enregistre soit du texte simple, soit du HTML précédé de <!--description-html-->. description.mjs (../src/lib/description.mjs) autorise paragraphes, listes, emphase et liens ; scripts, iframes et styles arbitraires ne sont pas des descriptions autorisées.

KaTeX rend les formules délimitées par $...$, $$...$$, \(...\), \[...\]. Laisser la formule entière sans formatage HTML interne. Ce n’est pas un compilateur LaTeX complet.

Les tags des ressources sont éditables pour toutes les cartes, affichés entre titre et description ; les doublons et entrées vides sont nettoyés (100 tags maximum, 100 caractères par tag). Les tags des blocs de présentation sont distincts.

Les recasages de développements sont des numéros 100–299 ; filterByRecasages active le filtre par leçons. Les tags génériques n’activent pas automatiquement ce filtre.

Liens externes

Un lien peut répondre tout en visant le mauvais document. Contrôler la destination réelle, le numéro, la variante et le dossier. Pour les évaluations Lycée, privilégier les fichiers actuels des sous-dossiers Sujets, pas _Old. Ne pas déduire un numéro de fichier de l’ancien identifiant de fiche : certaines numérotations ont changé.

Le portail contrôle l’accès à sa redirection, pas les permissions Dropbox/Google une fois l’URL connue. Voir Sécurité (SECURITE.md).

Bibliothèque de jeux

La rubrique Jeux contient trois catégories publiques : Jeux de stratégie (jeux-strategie), Jeux pédagogiques (jeux-pedagogiques) et Défis algorithmiques (jeux-defis-informatiques).

Les sept jeux de stratégie sont jouables et rangés dans Ressources/Jeux/Jeux de strategie. Empilement de caisses et Labyrinthe spirale sont deux ateliers LN disponibles dans Ressources/Jeux/Defis informatiques. Seuls Escape Game et Jeu d’enquête restent des pages d’attente dans Jeux pédagogiques. Voir l’index des jeux (JEUX.md) et les emplacements à venir (outils/PLACEHOLDERS.md).

Le titre public Défis algorithmiques ne renomme ni le dossier Defis informatiques ni l’identifiant jeux-defis-informatiques : conserver les routes et références existantes. Les menus, cartes, mentions en haut des pages et fils d’Ariane suivent les titres du catalogue.

← Retour à la documentation