Jalons et calendrier#

Dans cette section, nous donnons les principaux jalons du programme Candyce. Ces jalons permettent de décrire à gros grain l’avancement prévu du programme. Ils servent de socle pour exprimer les interdépendances fonctionnelles entre tâches: pour l’accomplissement du jalon J, la tâche T devra avoir atteint le niveau M de maturité; ou réciproquement le jalon J devra être atteint pour démarrer la tâche T. Un diagramme de Gantt en fin de section permet de visualiser tâches et jalons.

Trois grands jalons techniques sont identifiés à ce stade : «Candyce MVP», «Candyce V1» et «Candyce pour tous». Ces jalons décrivent le degré de maturité de l’infrastructure Candyce produite par le lot 1 (développement du socle logiciel et déploiement et opération). Ces jalons structurent également, par ce qu’ils permettent, les actions qui seront menées au titre des autres chapitres et constituent donc la colonne vertébrale du projet dans son ensemble.

Trois jalons supplémentaires concernent plus particulièrement la convergence entre Capytale et l’infrastructure Candyce.

Conventions de notation du niveau de maturité :class: dropdown

Nous utiliserons les conventions suivantes pour décrire le niveau de maturité d’un composant, d’une tâche, d’une fonctionnalité:

Lettre

Couleur

Signification générale

F

xxx

Page blanche

E

xxx

Feuille de route

D

xxx

Preuve de concept

C

xxx

Produit Minimal Viable; utilisable par des adopteurs en avance de phase

B

xxx

En production; utilisable largement, mais avec risque d’évolutions non compatibles

A

xxx

Mature; utilisable par tous, sans accompagnement

Jalons techniques#

Diagramme fonctionnel

Un diagramme fonctionnel de l’infrastructure Candyce#

T0+6M: Candyce MVP#

Six mois après le début du projet, un Produit Minimum Viable (MVP) de l’infrastructure Candyce sera disponible; il permettra d’accueillir les premiers utilisateurs afin de répondre aux besoins les plus urgents et d’enclencher un retour terrain rapide pour alimenter la co-construction.

Socle logiciel#

Ce Produit Minimal Viable offrira aux usagers les fonctionalités suivantes:

  • Authentification des utilisateurs via les services d’identification (SSO) comme Educonnect (scolaire), un ENT ou LMS, ou par la Fédération Éducation-Recherche de RENATER (supérieur).

  • Portail d’accueil comportant une interface de gestion de projet, permettant le parcours utilisateur des enseignants et élèves autour du partage de carnets, et autres documents, conçu pour une haute disponibilité (maturité C).

  • Exécution dans le navigateur via JupyterLite (maturité C).

  • Service d’environnements virtuels configurables - pour les environnements « serveur » uniquement (maturité C).

  • Accessibilité: premiers travaux sur l’outillage d’évaluation de l’accessibilité; en dehors de cela, ce MVP reflètera l’état de l’art de l’écosystème de Jupyter.

  • Conception responsable: élaboration des métriques permettant une conception responsable de l’interface - détaillée dans le document principal.

Déploiement et opérations (À compléter / vérifier)#

  • Déploiement Kubernetes dédié chez un hébergeur.

  • Circuit de remontée de boggues et demandes d’évolutions.

T0+18M: Candyce V1#

À mi-parcours de la phase de préfiguration du programme Candyce, l’infrastructure Candyce aura atteint un niveau de maturité permettant la généralisation de son utilisation. Elle offrira une grande partie des fonctionnalités prévues, et incorporera les adaptations suggérées par les premiers retours d’expérience exprimés par les cohortes d’usagers testeurs, dans une logique Pareto 80/20.

Socle logiciel#

  • Portail d’accueil (maturité B).

  • Gestionnaire de devoirs (maturité C), avec correction semi-automatique (maturité D/C).

  • Gestionnaire de ressource (CMS) (maturité C).

  • Collaboration en temps réel (maturité B/C).

  • Premières adaptations de l’interface Jupyter: édition WYSIWYG des cellules de texte, de formules mathématiques; améliorations suggérées par les retours des tests utilisateurs; tableau blanc collaboratif (maturité C).

  • Premier niveau d’accessibilité (WCAG) (maturité B/C).

  • Premiers éléments de télémétrie et premiers tableaux de bord (maturité C).

  • Droits d’accès et vues par rôles (LTI).

  • Optimisation des performances de lancement, notamment via l’optimisation du déploiement des environnements d’exécution configurables.

  • Large gamme de composants disponibles dans les dépôts conda pour WebAssembly, permettant un plus large éventail d’environnements dans le navigateur.

Déploiement et opérations#

(A compléter/confirmer)

  • Plusieurs clusters Kubernetes (ex : OVH), infogérance minimale

  • Support usager basique, aide à l’accès au service (support niveau 2)

  • Démonstrateur de portails adaptés (ex : Capytale)

  • Garantie best effort sur la préservation des données (contenu pédagogique, environnements, projets, traces d’apprentissage, fichiers utilisateur)

  • Gestion de la déprécation (sur environnements standards et mécanisme de freeze)

  • Réutilisation de certaines avancées du socle logiciel (par exemple: collaboration en temps réel, environnements configurables, accessibilité, ou interopérabilité) dans d’autres déploiements de Jupyter: preuve de concept (D) sur quelques mésocentres (X ou Paris-Saclay, …).

T0+36M: Candyce pour tous#

À l’issue de la phase de préfiguration du programme Candyce, l’infrastructure Candyce aura atteint une maturité suffisante pour être utilisable par tous, en termes de fonctionalités, d’accessibilité, d’adaptation de l’interface à un public varié sans accompagnement de la part de l’équipe projet, de qualité de service et de haute disponibilité.

Socle logiciel#

  • L’interface utilisateur sera adaptée aux différents profils d’usagers et au différents terminaux (ordinateur, téléphone, tablette)

  • Accessibilité: ensemble des normes WCAG satisfaites, premières adaptations spécifiques à l’environnement Jupyter

  • Gestionnaire de contenu (maturité: B)

  • Ajout de quelques démonstrateurs de services connexes (traitement de texte, tableur, tableau blanc, visio…)

  • Télémétrie et tableaux de bords individualisés tels que décrits dans la proposition (usage des ressources pédagogiques, suivi des étudiants, suivi de son propre travail, …)

Déploiement et opération#

(A compléter/Confirmer)

  • Scalabilité

  • Qualité de service

  • Haute disponibilité 7j/7, 24h/24

  • Support usager avancé

  • Réutilisation de briques du socle logiciel dans les déploiements des établissements associés (mésocentre Gricad de UGA, X, Paris-Saclay, …), et potentiellement au delà.

  • Réutilisation de certaines avancées du socle logiciel (par exemple: collaboration temps réel, environnements configurables, accessibilité, ou interopérabilité) dans d’autres déploiements de Jupyter d’institutions associées ou non (maturité: B).

Jalons temporels#

Les trois jalons qui suivent sont temporels (point d’étape). TODO: lister ici tous les éléments que l’on souhaiterait jalonner et qui ne le sont pas encore ci-dessus. Une fois qu’on en aura suffisamment, cela suggérera peut-être des possibilités de les regrouper par thèmes donnant des jalons sémantiques plutôt que purement temporels.

T0+6#

Expérimentations#

  • Un certain nombre d’expérimentations auront été initiées

  • Recensement des ressources disponnibles

  • TODO: décrire le degré d’embarquement de la communauté

Généralisation d’usages éprouvés#

  • Recensement des ressources disponnibles

  • TODO: décrire le degré d’embarquement de la communauté

T0+18#

Généralisation d’usages éprouvés#

  • premiers résultats: ressources pédagogiques, applicatifs dédiés, supports de formations, … (maturité: B-C)

  • TODO: décrire le degré d’embarquement de la communauté

Expérimentations#

  • premiers résultats d’expérimentations, incluant des exemples de ressources pédagogiques, et applicatifs dédiés (maturité: D)

  • TODO: décrire le degré d’embarquement de la communauté

T0+36#

Généralisation d’usages éprouvés#

  • ressources pédagogiques, applicatifs dédiés, supports de formations, … (maturité: A)

  • TODO: décrire le degré d’embarquement de la communauté

Expérimentations#

  • ressources pédagogiques, et applicatifs dédiés (maturité: B-C)

Diagramme de Gantt#

%matplotlib inline
_images/Jalons_2_0.png

Diagramme de Gantt#