Objet : Liste de discussion du groupe de travail Éducation et logiciels libres de l'April (liste à inscription publique)
Archives de la liste
- From: "Nicolas H." <nh.comm7 AT gmail.com>
- To: educ AT april.org
- Subject: Re: [EDUC] Exerciseur et suivi de niveau
- Date: Fri, 31 May 2019 09:20:07 +0200
- Authentication-results: vip.april.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i= AT gmail.com header.b="LZSSMUKB"; dkim-atps=neutral
Bonjour Ali, et bonjour à tout le monde !
J'ai commencé un tel projet il y a plus de 10 ans, en python. Je ne l'ai
pas encore présenté ici car il ne me semble pas encore mûr pour cela.
Cependant, bien que peu pratique en l'état actuel (fonctionnel mais
encore inachevé), il correspond en partie à ce que tu recherches. Il est
sans doute un peu plus vaste (cherche à couvrir le collège, voire le
lycée, à terme) et donc sans doute un peu plus complexe que ce que tu
recherches.
Le premier conseil qui me vient à l'esprit si tu souhaites t'engager
dans un projet de ce genre c'est qu'il est malheureusement bien plus
colossal que ce à quoi on s'attend et qu'il est indispensable de bien
penser les différentes composantes dès le départ. C'est un peu la tarte
à la crème des conseils à donner quand on commence un projet de
développement :-) Et cette préparation n'est pas évidente à faire car
certains points sont difficiles à anticiper. J'ai par exemple négligé la
complexité de la création des objets mathématiques (expressions
littérales, figures géométriques etc.), le type de fonctionnalités dont
j'aurai besoin en définissant une sorte de langage permettant d'indiquer
au logiciel ce que souhaite l'utilisateur, tout en gardant lisibilité ET
souplesse pour l'utilisateur, la difficulté à dompter le hasard (on ne
veut PAS de nombres choisis au hasard quand on fait une simple feuille
de questions mélangées sur les tables de multiplications). J'ai
également fait certains choix en matière de dépendances qui se sont
avérés mauvais et que j'ai tenté de changer en cours de route :-/ J'ai
écrit des tests dès le départ mais pas de façon assez unitaire... De
bonnes pratiques de programmation sont vraiment importantes pour ne pas
se noyer...
Grosso modo, dans les grandes lignes, je dirais aujourd'hui qu'il y a
besoin :
- de choisir un bon logiciel tiers, ou une bonne dépendance ("bon" = "de
qualité ET viable dans le temps"), qui va permettre de créer facilement
des objets mathématiques (j'ai choisi LaTeX et notamment le paquetage
TikZ pour la géométrie) ;
- de séparer dans une bibliothèque dédiée la création et la manipulation
des objets mathématiques ;
- de consacrer le logiciel principal à la façon dont les données vont
être choisies "au hasard" et à la production des documents complets
(donc il faudrait choisir un format de document et définir un
mini-langage permettant à l'utilisateur de faire des demandes au logiciel) ;
- de gérer le suivi des élèves dans un 3e logiciel, qui devrait pouvoir
se coupler avec les 2 précédents pour faire un projet complet.
C'est à peu près la direction que prend mon projet actuellement.
Je vais essayer de présenter mon projet, sans trop m'étaler : le
logiciel principal, mathmaker, fonctionne uniquement en ligne de
commande sous Linux ou FreeBSD pour le moment. Il sert à créer des
feuilles d'exercices à partir d'un modèle qu'on lui donne (une sorte de
"liste de courses" en yaml). Ton exemple est totalement pris en charge :
"génère moi 4 additions de nombres entre 1 et 20" (ça peut être bien
d'autres choses, et il sait se débrouiller pour éviter les doublons).
Les feuilles d'exercices sont accompagnées d'une correction relativement
détaillée (pas seulement les réponses). Il est possible à chacun de
rédiger ses propres modèles en yaml, langage accessible en soi, mais la
syntaxe des "commandes" est sans doute actuellement peu ergonomique dès
qu'on veut sortir des exemples fournis. Les feuilles sont des documents
LaTeX (LuaLaTeX), éventuellement proposés directement en pdf. mathmaker
peut créer des feuilles d'évaluation, des feuilles d'exercices sur
différents thèmes (pour le moment c'est basique, mais ça couvre la
trigo, les équations, le théorème de Pythagore, celui de Thalès...),
ainsi que des diapositives (pour projeter des questions de calcul mental
en début d'heure).
Je m'en suis servi et m'en sers encore cette année pour mes 6e
essentiellement : j'ai mis en place une progression de calcul mental en
lien avec la progression "spiralée" que je pratique. Cette progression
est séparée en 6 niveaux et lors des évaluations, seuls les élèves ayant
15/20 ou plus passent au niveau supérieur. Cela permet d'ajuster le
rythme de progression à chacun. Je constate que la motivation des élèves
perdure pour la grande majorité jusqu'à la fin de l'année, alors
qu'auparavant je "perdais" bien la moitié ou les trois quarts de la
classe au fur et à mesure de l'année.
Pour gérer ces différents niveaux, j'utilise donc à la fois mathmaker
pour créer les diapos et les évals de calcul mental, mais aussi Cotinga,
un autre logiciel que j'ai développé l'été dernier, précisément afin de
me faciliter le suivi (car plus les évaluations passent, plus le nombre
de niveaux à préparer et suivre est important ; et le suivi des niveaux
de tous les élèves sur papier, à la main, est fastidieux et il est
presque inévitable de commettre quelques erreurs au cours de l'année).
Cotinga fonctionne sous Linux et je n'ai pas pu le tester sous une autre
plate forme. Il est en python, interface graphique GTK3 (= difficulté
pour Windows, mais normalement c'est jouable). On peut gérer des classes
ou groupes, définir la notation employée (chiffrée, ou avec des lettres
ou des mots), les différents niveaux, ajouter/retirer des élèves, faire
un copier/coller de listes de résultats (notes par exemple) etc. Son
installation comporte sans doute une prise de tête pour une certaine
bibliothèque mais ce n'est pas du tout insoluble (je l'ai développé sous
Manjaro, mais installé dans une Ubuntu récente, par pip + quelques
petites manips, cf. la liste des paquetages dans le fichier
https://gitlab.com/nicolas.hainaux/cotinga/blob/dev/appveyor.yml ).
Cotinga est sans doute facilement utilisable, contrairement à mathmaker,
mais pour le moment il ne fait que le suivi des niveaux des élèves. À
terme, j'aimerais pouvoir coupler mathmaker avec Cotinga, afin que
Cotinga serve aussi d'interface graphique à mathmaker. Si cela était
réalisé, seul le 3e point de ton cahier des charges manquerait encore :
il "suffirait" de l'ajouter.
J'ai choisi de me mettre à temps partiel, pendant 3 années scolaires de
2015 à 2018, pour pouvoir avancer sérieusement. J'ai heureusement et
malheureusement beaucoup progressé pendant ces 3 années, ce qui a eu
pour conséquence que le code le plus récent est nettement mieux écrit
que le plus ancien et au final l'ensemble est devenu une sorte de
monstre de Frankenstein qui a besoin d'être réécrit pratiquement de
zéro. (Une partie est déjà réécrite).
J'ai créé un site internet pour mes élèves (notamment pour que mes 6e
puissent s'entraîner pour leur prochaine éval de calcul mental), qui
permet de générer des feuilles créées par mathmaker. J'hésite un peu à
en diffuser l'url car c'est un petit serveur de petite capacité (il est
assez lent...), ça convient pour mes classes, mais c'est pas prévu pour
gérer de trop nombreux clics :-/ enfin c'est ici : http://mr.hainaux.net
; en particulier, voir l'onglet calcul mental qui contient les 5
premiers niveaux pour les 6e (le final de 6e, la ceinture orange, n'est
pas en ligne pour cette année scolaire). En cas de bug à dénoncer, ne
pas écrire sur cette liste, mais à mon adresse "technique" qu'on peut
trouver sur le site.
Les encouragements ou aides du côté Éduc Nat se réduisent à néant (même
les simples encouragements...). Dommage car s'il pouvait être plus
développé (couvrir plus de thèmes, plus de niveaux, devenir plus
ergonomique) je suis convaincu que ce serait un outil des plus utiles.
En fait, en clair, ça n'a pas tellement intéressé l'inspecteur qui est
venu me voir (conclusion sur ce point, dans son rapport : "Début de
réflexion intéressant sur la différenciation, à poursuivre..." :-s ).
Si certains veulent tester, dans tous les cas, je recommande l'install
dans un environnement virtuel python. C'est expliqué dans la doc de
mathmaker, qui me semble encore assez à jour
(https://mathmaker.readthedocs.io/en/dev/dev_doc.html#detailed-version)
La page de mathmaker (branche de dev, la master n'est pas très à
jour...) : https://gitlab.com/nicolas.hainaux/mathmaker/tree/dev
La page de mathmakerlib (c'est la réécriture commencée du "cœur" de
mathmaker, celui qui fabrique les objets mathématiques imprimables, dans
une bibliothèque séparée et qui fonctionne aussi sous Windows) :
https://gitlab.com/nicolas.hainaux/mathmakerlib
La page de Cotinga : https://gitlab.com/nicolas.hainaux/cotinga
Tout cela est pour le moment un peu en pause car je viens juste d'être
papa :-) (aussi, désolé pour ce délai de réaction à ton message
initial). Mais le développement reprendra sans doute tout doucement dans
quelque temps.
Enfin, je profite de ce message pour passer une petite annonce : si
jamais il y avait des développeurs intéressés et motivés pour aider, ils
peuvent me contacter. Cela dit, ils doivent être indispensablement munis
de courage (le code est actuellement un peu "touffu"), de patience (je
vais être vraiment peu disponible les prochains mois), maîtriser
suffisamment l'anglais, git et avoir un bon niveau en python, ou très
envie de s'améliorer en python... si c'est pas trop rebutant, présenté
comme ça :-)
Bon week-end à toi et à tous !
N. Hainaux
Le 21/05/2019 à 11:22, Ali Allaoui a écrit :
> Bonjour,
>
> je cherche un logiciel de création d'exercices/évaluations permettant
> le suivi de niveau des élèves et l'attribution d'exercices en fonction
> de ce niveau. Les exercices sont faits pour être imprimés, je ne
> cherche pas d'exerciseur "numérique" type jlodb. J'ai regardé WIMS,
> mais n'ai pas eu la patience d'explorer la documentation suffisamment
> pour comprendre si ça pouvait convenir...
>
> Les cas d'utilisation basiques seraient :
>
> - création d'un modèle d'exercice (avec parties variables)
>
> - création d'un exercice à partir d'un modèle, soit manuellement soit
> par génération automatique (ex : génère moi 4 additions de nombres
> entre 1 et 20)
>
> - Définition d'une collection de compétences, pouvant être mis en
> relation avec des exercices/contrôles
>
> - Suivi du niveau des élèves sur chacune des compétences (avec 4 à 5
> niveaux d'acquisition) (dans une interface manuelle style tableur)
>
> - Définition de règles permettant d'attribuer de manière
> personnalisée des exercices en fonction des résultats des évaluations
> précédentes
>
>
> Pour information, je cherche un tel logiciel pour ma colocataire
> institutrice qui a mis en place ce système sur papier et qui
> souhaiterait gagner un peu de temps ... Étant moi même développeur de
> webapp Java (mais aussi Qt il y a bien longtemps) je suis en mesure de
> lui coder son appli, mais je voulais m'assurer qu'il n'y avait pas
> d'offre libre répondant à ces besoins. C'est aussi l'occasion de
> recueillir des conseils avant de commencer mes développements.
>
> J'ai bien conscience qu'une webapp poserait de sérieux problèmes quant
> à la protection des données des élèves, j'imaginais l'utiliser, au
> moins dans un premier temps, en auto-hébergement à domicile.
>
> Librement,
>
>
> Ali
>
>
>
> --
> Pour vous désinscrire de cette liste :
> https://listes.april.org/wws/sigrequest/educ
>
> Pour connaître la configuration de la liste, gérer votre abonnement à la
> liste educ et vos informations personnelles :
> https://listes.april.org/wws/info/educ
>
>
- [EDUC] Exerciseur et suivi de niveau, Ali Allaoui, 21/05/2019
- Re: [EDUC] Exerciseur et suivi de niveau, Patrick Celdran, 21/05/2019
- Re: [EDUC] Exerciseur et suivi de niveau, Olivier Gutierrez, 23/05/2019
- Re: [EDUC] Exerciseur et suivi de niveau, Stéphane Croze, 22/05/2019
- Re: [EDUC] Exerciseur et suivi de niveau, Nicolas H., 31/05/2019
- Re: [EDUC] Exerciseur et suivi de niveau, Patrick Celdran, 21/05/2019
Archives gérées par MHonArc 2.6.19+.