Table des matières
Évolutions du 03/03/2022
- https://capytale2.ac-paris.fr/web/rest/user/me?_format=json retourne une erreur 403 quand l'utilisateur n'est pas connecté (avant c'était un code 200 avec un contenu vide).
Basthon
- Support de l'audio dans les notebook.
- Les requêtes REST et fichiers sont effectuées en cascade et pas en même temps (c.f. discussion avec Thomas).
- Précision des messages d'erreur (lorsque l'utilisateur n'est pas connecté et en cas d'ipynb corrompu).
- Sécurisation des notebooks (le javascript dans les cellules de sortie n'est pas exécuté à l'ouverture).
API Fichier 17/02/2022
À compléter. Voir Migration des contenus de la DB vers le FS
Évolutions : lot du 16/12/2021
Version Complète
Upgrade de Drupal 8 à Drupal 9
drush pmu userswitch drush pmu user_restrictions sudo rm sites/default/files/translations/user_restrictions-8.x-1.0-rc1.fr.po drush pmu console sudo chmod 666 web/sites/default/*settings.php sudo chmod 666 web/sites/default/*services.yml sudo chmod 777 web/sites/default ** Modifier dans settings.php le paramétrage du dossier staging d'export conf ** ** copier composer.json et composer.lock ** composer install drush cr git fetch origin git checkout drupal9 drush cr drush updb drush cim sudo chmod 444 web/sites/default/*settings.php sudo chmod 444 web/sites/default/*services.yml sudo chmod 555 web/sites/default ** Désactiver le cron drupal (crontab -e du user www-data) ** drush node-access-rebuild-progressive ** Reactiver le cron drupal ** drush cim
- update basthon.tgz
- Reconstruire les droits
- Ajouter la corbeille à tous
- En BDD : consigne → description si pas de description pas nécessaire grâce à twig : (abstract) ? abstract : descritption
- Déplacer /home/nico/capytale_files dans /home/capytale
Romain
- Réécriture complète du kernel de Basthon en TypeScript
- Publication des composantes du noyau de Basthon sur npmjs
- Réécriture complète de la console en TypeScript
- Utilisation de Webpack de bout en bout pour le déploiement
- Mise en production de la nouvelle version de la console
- Corrections suite à MAJ vers Drupal 9
- Réécriture du notebook en TypeScript pour une intégration en Webpack
- Support complet du français dans le notebook
- Mise en production du notebook
- Réécriture de l'intégration à Capytale en TypeScript
- Publication des composantes de l'intégration Basthon-Capytale sur npmjs
- Correction d'un problème de chargement de Folium (dû à une MaJ upstream)
- Refonte du “A propos” dans le notebook.
- Chargement dynamique de tinymce (gain de 400Ko)
- Amélioration du confort de chargement des interfaces (disponibilité rapide de l'interface)
- Sauvegardes dans l'IndexDB avec checkpoints (l'utilisateur retrouve son travail en cas de plantage de l'interface ou de sa machine)
- Support de l'export par l'utilisateur d'une base de donnée (commande .export)
- Tests puis mise en production sur Capytale
Nico
- Retour sur “Mes activités” après modifications dans “Gérer mes services”
- Refonte complète de la page “Mes activités”
- bouton copier le lien de partage fonctionne
- unification de tooltips
- Affichage arborescent des étiquettes
- Traitements en lot (étiquetage, suppression,
- Amélioration des informations
- Francisation des messages de datatables
- Amélioration du système d'étiquettes
- l'arbre des tags s'affiche sur la page /edit pour tous les types d'entités
- pouvoir retirer le tag corbeille
- logo supprimer remplace le logo tag au survol dans la colonne des étiquettes
- correction du bug de décalage pour 'arbre des étiquettes (soulevé par Romain)
- Refonte complète de la page “Bibliothèque”
- Amélioration du temps de chargement
- lignes paires et impaires de couleurs différentes
- Recherche améliorée
- Possibilité d'ordonner par nombre de likes et de copies
- Lien de download prêt à ajouter à la bib
- Bib : abstract ? abstract : descritption
- Pour les admins bugfix affichage cassé en raison des étiquettes trop nombreuses :
- pas d'arbre des étiquettes (étiquettes ET étiquetage)
- No tags_tree sur /edit pour console et notebook
- remplacement des url :
- my2→my
- my→myold
- bibliotheque↔bib
Thomas
- Ajout de PACA
- Ajout d'une route pour télécharger un .ipynb
Version Courte
- Amélioration du système d'étiquettes arborescent (cf. étiquettes)
- Réécriture complète de la page “Mes activités” (cf. Mes activités)
- Affichage des étiquettes
- Traitements en lot (étiquetage, suppression)
- Amélioration des informations sur les activités
- Réécriture complète de la page “Bibliothèque”
- Amélioration du temps de chargement
- Recherche améliorée
- Possibilité d'ordonner par nombre de likes et de copies
- Retour sur “Mes activités” après modifications dans “Gérer mes services”
- Basthon :
- Utilisation de l'écosystème de développement Web côté client (réécriture complète en TypeScript, publication sur npmjs et déploiement avec Webpack)
- Accélération du chargement des interfaces Notebook et Console
- Sauvegardes locales régulières (checkpoints) : l'utilisateur retrouve son travail en cas de plantage de l'interface ou de sa machine
- Support de l'export par l'utilisateur d'une base de donnée (commande .export)
Évolutions : lot du 12/10/2021
- cf message liste Capytale : https://groupes.renater.fr/sympa/arc/capytale/2021-10/msg00020.html
- Test du kernel en 3 versions (vieux, récent et moyen) en 64 bits
- Scripts de synchro nocturnes prod → préprod.
Opérations
- Synchro prod→preprod (fichiers et BDD) : OK
- Mise à jour de Drupal par
composer update
sur préprod + vérif générale : OK - modif capytale_pp/web/.htaccess, lignes 6, suppression de
.*sql|
: OK - Mise à jour de Drupal par
composer update
sur prod + vérif générale : OK - modif capytale_pp/web/.htaccess, lignes 6, suppression de
.*sql|
: OK drush cex
+git commit
puisgit push
depuis capytaledev : OK- préprod : import des modifs de Nico
git pull
: OK- composer require 'drupal/node_access_rebuild_progressive:^2.0' : OK
- composer require 'drupal/taxonomy_manager:^2.0' : OK
- composer require 'drupal/term_reference_tree:^1.0' : OK
drush cr
: OKdrush cim
: OK
- préprod : import des modifs de Thomas
- copie des fichiers modifs à la main : OK
drush cr
: OK- modification config drupal à la main : OK
drush cex
: OKgit add .
git commit
: OK
- vérif complète du fonctionnement de preprod
- Vérifier le formulaire édit (tags perso) : OK
- Il manque des espaces dans la description des notebooks et des activités SQL (voir pièce-jointe). Corrigé
- problème de CSS un peu partout : sur le bouton “enregistrer” des paramètres, sur la flèche du menu “actions”, lors du survol du bouton Go ! Corrigé
- Les fichiers SQL semblent de nouveau interdits sur la prod et la preprod Corrigé
- PROD
- revert changes pour éviter le git merge : OK
git pull
: OK- composer require 'drupal/node_access_rebuild_progressive:^2.0' : OK
- composer require 'drupal/taxonomy_manager:^2.0' : OK
- composer require 'drupal/term_reference_tree:^1.0' : OK
drush cr
: OKdrush cim
: OK- Ajouter la corbeille à tous les tags perso
- vérif complète du fonctionnement
Évolutions : lot rentrée 2021
Les élèves peuvent créer des activités en autonomie
- La page d'accueil d'un élève lui permet de gérer ses services pour ajouter ou supprimer des types d'activités à créer
- Le formulaire de création est simplifié puisqu’un élève n’a pas le droit de partager ni via un code ni dans la bibliothèque.
- L'option “Partager avec mon professeur” lui donne droit à la recherche d'associés mais cette recherche est limitée aux associés avec le rôle teacher.
Indexation renforcée de la bibliothèque
Avec le grand nombre d’activités partagées entre enseignants (plus de 600 début septembre 2021) le système d’indexation a été revu pour être renforcé.
Désormais les champs de description d'une activité sont :
- Résumé (au moins 50 caractères) obligatoire
- Enseignement(s) [Maths, SNT, NSI, …] obligatoire
- Niveau(x) [2e, 1ere Géné, …] obligatoire
- Thème(s) abordé(s) [Boucles, Graphes, …] (avec une base de plus de 110 mots) obligatoire
- Module(s) utilisé(s) (pour les activités Python)
Nouveaux modules Python
Trois nouveaux modules ont été ajoutés pour les script-consoles et les notebooks :
- Module ipythonblocks qui permet de créer des grilles de cases colorées pour visualiser les effets du code représentés de manière colorée et attrayante.
- Module lolviz pour visualiser des structures de données.
- Module binarytree pour travailler sur les arbres binaires de recherche
Système de recette automatique
Un système de recette automatique basé sur une batterie de tests selenium a été créé. Il permet de vérifier en quelques secondes le bon fonctionnement de Capytale, notamment après une mise à jour. TODO : Détailler
Activité SQL
La programmation en langage SQL pour des activités pédagogiques sur les bases de données est disponible.
Mise en place de serveurs
Le workflow de développement de Capytale fonctionne désormais sur trois serveurs :
Préprod et prod sont répliqués à l’identique.