logo MoniaSuite

Moniteur d'Initiation à l'Algorithmique

Monia Suite version 0.38.97 - novembre 2012


Rapide historique

Après une quinzaine d'années d'enseignement en BTS Informatique Industrielle et nombre de remises en cause sur la manière de mener les premières semaines d'apprentissage, un constat : Le volume d'heures de travaux pratiques de cette période reste mal exploité, les étudiants doivent passer beaucoup de temps sur des phases d'analyse sans aucun moyen réel de concrétisation de leur travail. Il faut en effet quelques semaines pour apporter le minimum de connaissances qui permettent à l'étudiant de coder son premier vrai programme… On ne parle bien sûr ici que de l'enseignement de la programmation ; d'autres TP peuvent notamment être consacrés à la prise en main des S.E. en tant qu'utilisateur : commandes de base, gestion des fichiers, … Ces séances sont en général productrices dès le début.

Autre constat toujours d'actualité : Les étudiants comprennent en général très vite un raisonnement décrit sous forme de langage parlé, même et surtout lorsque celui-ci est présenté avec une sémantique stricte, mais à condition que cela soit en français… De la même manière, ils appréhendent assez facilement le même raisonnement représenté sous forme graphique (que ce soit par un GNS, qui n'est plus utilisé maintenant, ou par un organigramme).

En 1997, une idée saugrenue : et si on disposait d'un outil permettant d'exécuter et de tester un programme que l'on aurait au préalable décrit avec du langage parlé, si possible en français…

Pas simple ! Mais si le but est aussi et surtout d'inculquer les notions fondamentales de programmation structurée, alors pourquoi ne pas utiliser une sorte de Pascal (langage structuré non permissif), mais francisé ?

De cette idée naît la première version de pl2exe, un programme en ligne de commande écrit en C permettant de fabriquer un exécutable à partir d'un programme source écrit en pseudo-langage (français).

Le petit outil pl2exe permettait ainsi de tester en quelques séances toutes les structures de données et l'ensemble des structures fondamentales ; en glissant cependant rapidement, par traduction au fil de l'eau, vers des versions en langage C des programmes.

En 2002, le BTS II devient BTS I.R.I.S (Informatique et Réseaux pour l'Industrie et les Services techniques).

L'outil a été utilisé pendant plusieurs années, avec quelques évolutions mineures, avant de subir en 2005 une refonte complète pour devenir une application graphique Windows et/ou Linux autonome bénéficiant d'un éditeur avec coloration syntaxique et d'une aide en ligne. L'outil a aussi été renommé Monia-PL (acronyme de Moniteur d'initiation à l'algorithmique en Pseudo-Langage).

Pourquoi ne pas aller encore plus loin en offrant une solution d'analyse graphique ? La première version de MoniaOrg est née en décembre 2008. Ce module complémentaire à MoniaPL (ex Monia-PL) permet la construction graphique d'organigrammes avec contraintes : seules les structures fondamentales sont autorisées !

Ce nouvel outil est capable d'illustrer l'aspect fonctionnel d'une application logicielle simple, mais propose aussi d'en assumer l'aspect informationnel en permettant de définir l'ensemble des données requises par l'application (la définition des données est en effet difficilement représentable graphiquement).

Le résultat d'analyse ainsi créé peut être exporté sous forme de programme source Pseudo-Langage exploitable par l'outil MoniaPL. L'ensemble des deux outils constitue donc une sorte d'AGL (Atelier de Génie Logiciel) trivial permettant d'appréhender la chaîne complète allant de l'analyse initiale jusqu'à l'exécution effective d'un programme…

Il semblait dès lors établi que l'outil aidait à répondre à certains des objectifs de départ en permettant aux étudiants de produire du code dès leur première journée en BTS (ils ne croient pas cela possible au début de la séance !). Tous sont au même niveau face à l'outil, quelle que soit leur origine ; ceux qui n'ont jamais écrit une ligne de code au préalable sont d'ailleurs en général plus à l'aise car ils n'ont pas d'à priori (si ce n'est l'impression d'aborder un domaine réputé obscur, mais cette appréhension disparaît souvent bien vite au profit de la curiosité).

En 2010, après présentation lors de séminaires relatifs au BTS I.R.I.S, le produit est publié pour la première fois sur SourceForge sous l'appellation MoniaSuite, version 0.36.96. Il est aussi validé et référencé par le SIALLE (Service d'Information et d'Analyse des Logiciels Libres Éducatifs).

Courant 2011, suite à la réforme des baccalauréats STI, une expérimentation locale d'utilisation du module MoniaPL sur tablettes Android est menée avec succès avec des sections de première STI2D. MoniaSuite est aussi préconisé par l'auteur dans le nouveau manuel STI2D édité par Hachette.

Ces ouvertures à un plus large public ont bien évidemment entrainé de nombreuses questions et suggestions… jusqu'à forcer l'auteur à proposer une nouvelle version (0.38.97) mise en ligne fin 2012, et à (ré)écrire les présentes pages Web.



Intérêts pédagogiques

Concernant les objectifs

En BTS I.R.I.S, les six à huit premières semaines de formation sont en grande partie consacrées à l'enseignement des notions essentielles liées au développement d'applications informatiques (hors approche orientée objet), et ce selon deux grands axes que sont les données (aspect informationnel) et les algorithmes (aspect fonctionnel) :

Or le public visé provient d'origines très diverses : Bac STI/STI2D, Bac S, Bac Pro, … sans compter que les notions précédentes seront à moyen terme abordées de plus en plus à des niveaux d'enseignement inférieurs (pré-Bac) ; or on constate très rapidement que tous les auditeurs préfèrent en général manipuler un clavier et une souris plutôt qu'un stylo… et sont souvent allergique à la langue de Shakespeare !

Concernant l'attractivité de la formation 

Concernant le langage 

La suite Monia tente de répondre à l'ensemble de ces questions en proposant des moyens d'analyse sous forme d'organigrammes et de codage en Pseudo-Langage francisé par le biais d'outils simples (ludiques ?), ergonomiques et libres…