Surprise ! Après des semaines de silence, le ministère de l’Enseignement supérieur vient d’ouvrir en ce jour férié le code source de la plateforme Parcoursup. Les algorithmes « locaux », qui aident de nombreuses universités à sélectionner leurs étudiants, restent quant à eux secrets.
Bonne nouvelle : le ministère de l’Enseignement supérieur ne se ridiculise plus en envoyant un algorithme imprimé – comme il l’avait fait en 2016 pour Admission Post-Bac. Pour publier le code source de Parcoursup, l’administration a opté pour un dépôt Git (en l’occurrence celui proposé par Framasoft, Framagit).
Sont ainsi accessibles à tous « les algorithmes et le code Java permettant » le calcul :
- De « l'ordre d'appel », c’est-à-dire celui dans lequel les propositions d’admission sont envoyées aux candidats.
- Des « propositions de formations » (pour les candidats retenus par la commission d’examen des vœux).
- Des propositions d'hébergement en internat.
Si les différents fichiers mis en ligne parleront avant tout aux informaticiens chevronnés, le ministère a publié dans le même temps une notice (PDF) décrivant les principaux calculs effectués par la plateforme.
Le tout a été placé sous AGPLv3 (licence avec obligation de réciprocité).
Attention au « coup de com' », prévient l'association Droit des lycéens
« La publication du code permettra à chacun de vérifier que le fonctionnement de la plateforme est conforme au droit », se félicite le ministère au travers d’un communiqué. « Elle favorisera également la pleine compréhension des mécanismes de la nouvelle procédure d'entrée dans l'enseignement supérieur : non hiérarchisation des vœux, absence de contraintes ; délais de réponse qui permettent, lorsque chaque candidat fait son choix, de libérer des places qui seront immédiatement proposées à d'autres candidats. »
Hugo Collin-Hardy, président de l’association Droit des lycéens, estime que cet effort de transparence est effectivement « une très bonne nouvelle ». « Il va néanmoins falloir qu'on se penche sur ce code source pour réagir sur son contenu », explique-t-il, contacté par nos soins. Et pour cause : les fichiers mis en ligne aujourd’hui ne correspondent pas aux algorithmes « locaux » qui aident les établissements de l’enseignement supérieur à trier les différents dossiers des candidats.
Autrement dit, il ne s’agit que d’un élément, plutôt accessoire, de la (lourde) machine Parcoursup. « On espère que le ministère publiera ces algorithmes locaux prochainement, faute de quoi la publication d’aujourd’hui ne serait qu'une opération de com’ », prévient ainsi Hugo Collin-Hardy.
Le coeur de la machine Parcoursup en attente de transparence
Mounir Mahjoubi, le secrétaire d’État au Numérique, avait d’ailleurs promis mi-avril que le code source de Parcoursup serait rendu public, de même que « l’algorithme d’affectation utilisé par chacun des établissements [de l’enseignement supérieur] », comme l’avait souhaité le Parlement. Cela n’a pas empêché l’intéressé de se targuer sur Twitter d’avoir tenu son engagement...
Avec @VidalFrederique, on l’a dit, on le fait ! Aujourd’hui nous rendons public 100% du code source de #Parcoursup et sa documentation scientifique. Notre engagement : garantir la transparence des algorithmes publics 👉 https://t.co/NQtXWfgY1s
— Mounir Mahjoubi (@mounir) 21 mai 2018
Le mois dernier, constatant que le gouvernement ne publiait toujours pas les différents algorithmes de Parcoursup – en dépit de promesses répétées, Next INpact avait pris l’initiative de saisir la Commission d’accès aux documents administratifs (CADA). Puisque l’exécutif n’a pas dévoilé tous les fichiers sollicités, nous maintiendrons naturellement notre demande d’avis auprès de l’autorité indépendante (voir notre article).
Assez curieusement, le gouvernement n’évoque à aucun moment l’éventuelle publication des algorithmes locaux du successeur d’APB. Interrogé à ce sujet, le ministère de l’Enseignement supérieur et le secrétariat d’État au Numérique n'étaient pas revenus vers nous à l'heure où nous publions cet article. Le communiqué de l'exécutif indique simplement que « le travail de pédagogie et de transparence engagé autour de la plateforme se poursuivra tout au long des semaines qui viennent », en « lien étroit » avec le comité éthique et scientifique de Parcoursup.
Les réactions n’ont pas manqué sur les réseaux sociaux, certains félicitant la majorité pour ce pas en avant, d’autres regrettant notamment que les prochains bacheliers n’aient pu avoir ces informations avant de préparer leurs candidatures.
Bravo! Très utile pour les bacheliers de 2019 et après! Pour ceux de 2018 c’est un pied de nez? Sinon évitez la comm: les lycéens se sont inscrits avant que la @CNIL donne son avis, et l’algorithme est connu la veille des réponses aux candidatures... juste de l’incompétence? pic.twitter.com/woPFZVImGi
— jb (@jb_compte_off) 21 mai 2018
Rendre public l'algorithme d'affectation à la fin de la procédure ... un peu comme si on te proposait le contrat d'assurance de ta voiture uniquement APRÈS un accident. #OhWait https://t.co/ebo0yHKKK2
— affordanceinfo (@affordanceinfo) 21 mai 2018
Commentaires (61)
Dommage que vous n’évoquiez pas le rigolo[1] cafouillage de la libération de tout ça :
[1] moi ça m’a fait marrer, mais y en a qui ont pas du trouver ça drôle…
En tout cas, c’est Framasoft qui doit être content, ça fait un bon coup de pub.
J’aurais plutôt imaginer l’EN partir chez les poids lourds genre Github et co.
EDIT : je connais pas le langage mais … c’est si utilisé le PL/SQL ?
J’avoue avoir voulu me cantonner à l’essentiel, mais ça a été assez chaotique c’est vrai… Le ministère avait envoyé un beau communiqué, mais personne ne répond derrière pour le SAV. Et puis une telle publication un lundi de Pentecôte, comment dire… ?
Je vois venir du random() dans les algo locaux…
Pas d’interface, algos plutôt simpliste et sources de données multiples (PlSql et Oracle) :/
Perso, ça me pique un peu les yeux !
Et on est toujours dans le “en même temps…” si cher à macron.
“Je publie le code source et en même temps, je ne publie que la partie accessoire…”
Ça commence à devenir sérieusement lourdingue cette façon de faire.
PL/SQL est le langage pour attaquer le serveur Oracle…
Aïe, petit confusion avec PgSql :/ ça m’apprendra !
La spec semble pas mal complète et utile. C’est la seule livraison qui a un réel intérêt.
Le code par contre est incomplet. Dans les sql il y a des appels à des packages dont les sources ne sont pas fournies.
Et sans la documentation du modèle de données, c’est pas vraiment exploitable.
Donc on publie 100% du code source de Parcoursup, mais ce n’est pas
vraiment 100% ? Il y a les maths, et les maths à la Mounir…
Ceci dit, je préfère qu’ils mettent le code sur Framagit que sur Github, plateforme non libre, appartenant à une boîte US. Ça aurait carrément bien plus râlé 😉
Mais oui, le must aurait été d’héberger ça chez eux.
Y’a que moi que ca pique les yeux de voir du code source en Francais? Voir du “voeuxClasses.add(v)” ca me fait rire. J’ai bien aime les tests qui testent rien
" />
J’ai parcouru vite fait l’ensemble, ca me semble bien leger tout ca. Si l’ensemble de parcoursup tient la dedans, ils se foulent pas vraiment….
Non ca pique pas les yeux.
" />
Ils arrivent souvent que “l’administration” demande que les variables, classes, etc. soient écrit en français dans un soucis de compréhension.
Et puis à quoi bon tout mettre en anglais ? y a des pays qui nous envie ParcourSup ?
J’aimerais savoir combien de personnes qui ont émis un avis (négatif comme toujours) ont les connaissances suffisantes pour analyser à fond le code source ?
Y a déja une issue sur le repo
" />
Le sens de cette remarque ? Qu’une publication un jour férié (ou pendant les fêtes de fin d’années par exemple) n’est en général pas anodine : c’est plus propice à ce que ça fasse moins de bruit.
Et pour avoir travaillé hier, je suis bien évidemment au courant que certaines personnes travaillent le lundi de Pentecôte ;)
Vu qu’en pratique ça fait toujours autant de bruit (avec le bonus “ils ont fait ça pendant les vacances, vous vous rendez-compte”), surtout auprès de ceux que ça intéresse, l’argument me paraît faible.
Ça fait tellement d’années que j’entends ça (“ils ont publié ça à tel moment pour qu’on en parle moins”), et ça ne fonctionne jamais. Dommage que vous teniez aussi ce discours, je ne compte plus le nombre d’articles que vous avez publiés sur les sujets qui nous (et vous) intéressent, indépendamment du jour de publication (semaine, weekend, jour plus ou moins férié, vacances, etc.), jour qui en fait n’a aucun impact sur l’information, surtout quand c’est un sujet attendu.
(et ici, ça aurait été publié aujourd’hui au lieu d’hier, ça aurait changé quoi ? Rien. A part un jour de retard)
Moins de bruits avec les assos étudiantes et certains journaux qui suivent ce marathon pour faire le 20h avec des pauvres étudiants indignés ? Ca aurait pu sortir un dimanche à 2h du mat’ que personne ne l’aurait loupé
" />
oui, on peut remplacer une store proc en PL/SQL par du Java - après tout, Oracle a racheté Java, c’est pas pour rien. Même pour gérer des triggers. Pour ceux qui développent un client, implémenter la couche “base de données” en PL/SQL, il faut juste être masochiste, n’importe quel langage de haut niveau sera plus simple à maintenir, à comprendre, à tester, à gérer. Ne serait-ce que pour les outils fournis à côté du langage (frameworks de tests, outils de build, etc.)
Quant au remplacement d’un code existant en PL/SQL par du Java, je ne l’ai jamais fait moi-même bien qu’ayant bossé sur une appli qui utilisait énormément les possibilités d’Oracle. Mais il me semble que ça avait été tenté sur l’appli et que ce n’était pas suffisamment convainquant pour justifier une migration du code “legacy” vers Java. Au passage, je crois que quand on fait du Java dans Oracle on n’a pas besoin de frameworks d’abstraction type Hibernate, on est déjà dans la base de données. Mais mon expérience du domaine est limitée.
Merci pour ton complément
" />
Je ne répondais pas tant à toi que de façon générale pour ceux qui ne connaissent pas trop le PL/SQL.
L’algorithme n’est pas si accessoire que ça. De ce que je lisais d’une personnequi avait déjà commencé à décortiquer le code, le logiciel va refaire son propre ordre de classement. En effet, il doit y avoir un nombre minimum de boursier et un nombre maximum de non-résident dans chaque formation. Donc on re-trie.
Et, de ce que je lisais de cette même personne, les affectations d’internats ont été plutôt dures à faire.
Mais pour les algorithmes locaux, ben ça parait assez évident que peu de formations ont utilisé des logiciels. Autant parler de critères (et encore, il y avait du tirage au sort).
C’est quoi cette hystérie autour des “algorithmes locaux” ? Dans les filières vraiment sélectives, l’algorithme local, c’est une commission avec de vrais humains dedans.
+1 Surtout que la SNCF profite du pont pour fermer des lignes et avancer dans ses travaux de rénovation. Cela incite à poser sa journée.
" />
Chez moi, la bibliothèque municipale était fermée samedi pour rattrapage du lundi de pentecôte, c’était donc bien un jour férié.
Non en bibliothèque
" />
C’est un standard international de tout faire en anglais, notamment car l’intégralité des mots clés de quasi tous les languages sont en Anglais. Même quand je vivais en France, je n’ai jamais écris de code en Français.
Des lycéens qui découvrent que glander pendant 1 à 3 ans n’était pas une bonne idée
" />
Mwe, je suis pas etonne de trouve cette fierte francaise un peu pueril dans les ministeres qui pousse a ecrire le code en Francais. Si tu ecris en autre chose qu’en anglais, pour moi ca respresente juste une faiblesse, pas une force. C’est un standard de l’industrie au niveau mondial.
A part quelques exemples particulier ou ca peut etre plus claire en Francais, pour la majorite des cas l’anglais est plus pertinenent. Et c’est sans compte l’ecrasante predominance des ressources, training, tuto, exercicses de code qui sont egalement en anglais.
Mais bon chacun voit midi a sa porte, no big deal :)
C’est un logiciel institutionnel français à destination unique de la France, donc l’intérêt de tout mettre en anglais est inexistant. Si l’anglais est un standard de l’industrie mondial pour toi (et c’est vrai dès qu’on commence à sortir de notre voisinage, les espagnols, italiens, etc, ont encore tendance à parler français), le français c’est la langue officielle du pays.
Et sauf erreur de ma part, toute communication issue de l’administration en France doit être rédigée en français. Donc c’est plus une question d’obligation que de petite fierté.
Y a pas aussi WinDev qui est en français ?
" />
Cast3m est conçu pour un domaine très limité. Pour en avoir fait en école d’ingé, c’est rigolo 5 minutes, mais pour un vrai projet on passe sur logiciel de modélisation tout fait.
De la même façon, Parcoursup est créé pour servir une fois par an, en France, donc le coder avec des éléments lisibles en français n’est pas délirant.
Autoriser les accents dans les variables (et même davantage, quasiment tout ce qui est connu par l’unicode), c’est plutôt la norme dans les langages modernes. Dans les langages .NET, par exemple, ou en Swift, tu peux déclarer une variable en idéogramme chinois si ça te chante.
Perso, je n’aime pas coder en franglais, mais qu’une institution française l’exige ne me choque pas.
Tu as bien raison de t’emballe et d’essayer de me persuader a quel point j’ai tords. Malheureusement, c’est un debat d’opinion et ca ne changera rien. La vrai question c’est pourquoi est ce que ca te trigger autant que je dise ca?
Un simple “je respecte ton opinion mais je ne suis pas d’accord” suffisait amplement. Aller, bisous quand meme hein!
J’ai vu passer des commentaires au sujet des noms de variables en français, petit rappel pourquoi on fait pas ça
- C’est en général fait pour un faux probleme : sur toute la code base, y’aura 3-4 mots dont les devs ne connaissaient pas la traduction ou qui sont réellement spécifiques au pays. (Et encore)
Autant l’indentation (Allman, K&R) ça peut se discuter, autant le français dans l’anglais moins je trouve