====== Cycle de vie des espaces cours / Machine à états ====== Depuis la rentrée 2026, la mise à jour des espaces cours sur Ecampus intègre dorénavant la gestion de leur cycle de vie. Ainsi chaque espace cours se voit doté d'un nouveau paramètre (en lecture seule pour les utilisateurs), ''etat'', qui renseigne sur la position de l'espace cours dans son cycle de vie. Ce cycle de vie est décrit avec le diagramme d'état suivant {{ .:pasted:20260918-133629.png }} ===== Principe de fonctionnement ===== Chaque espace cours possède un des états présents dans le diagramme (bulle rose). Certains événements ou certaines actions d'administration vont provoquer une ou des transitions d'états, provoquant ainsi des changements plus ou moins importants pour les espaces cours concernés, ce qui inclut leur changement d'état, pour enregistrer la preuve de ces changements. ===== Liste des états ===== * ''Normal'' c'est l'état par défaut (en cours d'année par exemple) * ''Sauvegardable'' signifie que le cours est terminé (sa date de fin de cours a été dépassée). Pour les cours inutilisés, les cours sont supprimés quand ils sont finis, sans passer par cet état. L'état ''Sauvegardable'' inscrit le cours sur la liste des cours à sauvegarder dans les archives de l'année. * ''Recyclable'' signifie que le cours a bel et bien été sauvegardé et qu'il peut reprendre son cheminement dans son cycle de vie. * ''Reinitialisable'' le cours a été détecté comme toujours présent dans la modélisation de l'année suivante. Avant de l'y intégrer, il faut au préalable réinitialiser toutes les traces étudiantes qu'il contient (pas le contenu pédagogique). Cet état l'inscrit sur la liste des cours à réinitialiser. * ''Embarquable'' signifie que le cours a bien été réinitialisé, et qu'il faut maintenant en modifier certaines caractéristiques pour qu'il puisse être pleinement intégré à l'année suivante (avec l'état ''Normal''). * ''Clone'' quand la date de fin d'un cours n'est pas encore atteinte, mais que sa date de début pour l'année suivante l'a été, cela provoque une situation de "chevauchement" de périodes. Deux instances du cours doivent alors cohabiter temporairement (jusqu'à la date de fin de cours configurée). L'espace cours de l'année courante doit être réinitialisé et embarqué dans l'année suivante pour être disponible pour son commencement, tandis qu'*en parallèle* une copie de l'espace doit être faite pour assurer la continuité d'accès des étudiants de l'année finissante. Cette copie aura l'état ''Clone''. * ''Obsolete'' signifie que le cours a effectué une partie de son cycle de vie (sauvegarde entre autres), mais n'existe plus dans la modélisation de l'année suivante. Il doit donc disparaitre. Pour éviter les catastrophes et permettre une éventuelle réintégration vers l'état ''Reinitialisable'' au cas où il réapparaitrait dans la nouvelle modélisation (disparition accidentelle au niveau de Pégase), le cours va rester à l'état ''Obsolete'' avant d'être définitivement supprimé automatiquement après un délai. * ''Sursis'' signifie que le cours a disparu de la modélisation en cours d'année. Il doit donc disparaitre. Comme pour l'état ''Obsolete'', un délai de sécurité s'applique avant son changement d'état suivant. * ''Archivable'' signifie que la suppression d'un cours en sursis est bien confirmé par le dépassement du délai. Le cours est maintenant inscrit sur la liste des cours à sauvegarder avant sa suppression définitive. * ''Supprimable'' signifie que le cours a bien été sauvegardé, et qu'il peut et doit maintenant être supprimé sans délai.