A l’EFRITS, l’école de l’ingénierie informatique responsable, on ne se contente pas d’utiliser les outils – élèves comme profs. On en découvre d’abord le besoin et ensuite on les façonne et jamais l’on hésite à en programmer ou en construire si c’est pour servir le cursus ou son parcours.
C’est dans cet esprit qu’évolue notre bibliothèque pédagogique interne, la LibLapin, bientôt en version 1.13. Cette bibliothèque est accessible aux élèves dès les premières semaines et est l’un des outils indispensable de notre cursus. Cette bibliothèque, comme la plupart des outils développés par l’EFRITS, est un logiciel libre sous licence GNU GPL3.
Ce qu’apportera LibLapin 1.13 :
Compatibilité SFML3 : la bibliothèque tire désormais parti de la toute dernière version de la SFML.
Nouvelles capacités réseau : la LibLapin intègre une nouvelle couche de communication réseau permettant la création d’applications en pair-à-pair (peer to peer) tout en continuant de supporter les mécanismes clients/serveur. Il devient même possible de mélanger les deux styles au sein d’un même programme.
Nouveaux formats d’image en mémoire : la LibLapin apporte maintenant aux élèves la possibilité de créer des images en mémoire 24 bits, 16 bits, 8 bits, 4 bits, 2 bits et 1 bits en plus des images au format 32 bits déjà accessible ainsi qu’en 128 bits flottants. Il est également possible désormais d’utiliser une table de couleur ou d’utiliser une organisation en plan de bit.
Préparation du terrain pour le support de nouvelles cartes d’interface : la bibliothèque supporte déjà depuis des années la carte Velleman VM110n permettant aux étudiants de transposer des états logiciels à des états électroniques. Des changements mineurs vont permettre l’émergence d’équivalents pour le port GPIO d’un Raspberry PI.
Des projets concrets dès la première année
Quelques projets où les possibilités réseaux offertes par cette nouvelle version sont utilisées :
#LapinPong : un travail pratique consistant à réaliser un jeu de réflexe en réseau – jouable à deux, trois, quatre, cinq… en fonction de ce que vous décidez au lancement de la partie.
#EfDesktop : un environnement de bureau rudimentaire… mais entièrement transportable à distance, à travers une couche réseau conçue maison.
#EfTalk : logiciel de conversation en pair-a-pair disposant tout de même d’un serveur faisant annuaire, mêlant donc TCP et UDP.
#EfDB : serveur de base de données hiérarchique fonctionnant comme un système de fichier distant.
#Crible : logiciel permettant d’assurer la communication entre deux points de manière totalement fiable – alors que la communication traversera un logiciel de l’école chargé de perdre des bouts de la communication, d’en changer le contenu, d’en changer le sens, et cela de manière aléatoire.
#AvantCyclades : création d’une topologie réseau, d’une carte réseau, d’un connecteur, d’un protocole et d’un logiciel permettant de faire communiquer via une carte d’interface électronique plusieurs ordinateurs.
Ces projets confrontent les élèves aux véritables défis du développement en réseau :
Instabilités de connexion
Sécurité des échanges
Transfert de fichiers, synchronisation, collisions
Conception de protocoles minimalistes mais robustes
Ainsi, en deuxième année, ils découvriront les difficultés que la synchronisation d’états implique en étant déjà expérimenté sur la majorité des obstacles. La partie système de la programmation réseau est vue au quatrième trimestre de première année, et la LibLapin se fait alors discrète afin de laisser les élèves 100% en responsabilité.
Apprendre à programmer, c’est bien. Apprendre à penser les contraintes, c’est mieux.
A l’EFRITS, on n’attend pas la troisième année pour parler « bas niveau » ou « problème réseau ». Tout est progressif, mais tout est réel. Dès la première année, rien qu’en programmation réseau, nos étudiants ont déjà :
imaginé puis implémenté des protocoles à différents niveaux
simulé des environnements distribués
compris l’impact d’un buffer plein, d’un paquet perdu, d’un désordre de réception
Pourquoi ? Parce qu’en tant qu’ingénieurs responsables, ils devront demain concevoir, dépanner, sécuriser, parfois remplacer les solutions existantes.
La LibLapin, bien plus qu’une bibliothèque multimédia
La LibLapin n’est pas un outil comme les autres. Au delà des nouvelles fonctionnalités abordées au-dessus, c’est un accélérateur d’apprentissage, un socle pédagogique taillé sur mesure pour la formation que propose l’EFRITS :
Elle permet de contrôler les ressources dont dispose les élèves (RAM, CPU, espace disque) et de simuler des défaillances.
Elle offre aux élèves une interface minimaliste aux capacités multimédias de l’ordinateur, ne fournissant pas la moindre facilité tout en permettant aux élèves de réaliser eux-mêmes leurs outils.
Elle supporte pleinement le programme scolaire en étant complété progressivement par les élèves au fur et à mesure de leur apprentissage de la programmation.
Elle est en évolution constante – selon les besoins pédagogiques et ceux du studio de jeu vidéo indépendant Hanged Bunny Studio, partenaire de l’école.
Et le tout… en C.
Vers une pédagogie radicalement concrète
Rendez-vous sur le site de la LibLapin et son GitHub :
Comments are closed