Sortie de la bibliothèque Lapin 1.13

À l'EFRITS, é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, puis on les façonne. Et jamais l'on n'hésite à en programmer ou en construire s'ils servent le cursus ou le parcours des élèves.

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 constitue l'un des outils indispensables de notre cursus. Comme la plupart des outils développés par l'EFRITS, c'est un logiciel libre sous licence GNU GPL3.

Ce qu'apporte LibLapin 1.13

  • Compatibilité SFML3 : la bibliothèque tire désormais parti de la version récente de la SFML.
  • Nouvelles capacités réseau : la LibLapin intègre une nouvelle couche de communication permettant la création d'applications en pair-à-pair, tout en continuant de supporter les mécanismes client/serveur. Il devient possible de mélanger les deux styles dans un même programme.
  • Nouveaux formats d'image en mémoire : les élèves peuvent créer des images en mémoire 24 bits, 16 bits, 8 bits, 4 bits, 2 bits et 1 bit, en plus des images 32 bits déjà accessibles et des images 128 bits flottants. Il est également possible d'utiliser une table de couleur ou une organisation en plans de bits.
  • Préparation du 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 en états électroniques. Des changements mineurs préparent l'émergence d'équivalents pour le GPIO d'un Raspberry Pi.

Des projets concrets dès la première année

Quelques projets où les possibilités réseau 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... selon ce qui est décidé 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 : un logiciel de conversation en pair-à-pair disposant tout de même d'un serveur faisant annuaire, mêlant donc TCP et UDP.
  • EfDB : un serveur de base de données hiérarchique fonctionnant comme un système de fichiers distant.
  • Crible : un logiciel permettant d'assurer la communication entre deux points de manière totalement fiable alors que la communication traverse un logiciel chargé de perdre des morceaux, 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 plusieurs ordinateurs via une carte d'interface électronique.

Ces projets confrontent les élèves aux véritables défis du développement 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 de la synchronisation d'états en étant déjà expérimentés 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 ; 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.

À 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 ou d'un désordre de réception.

Pourquoi ? Parce qu'en tant qu'ingénieurs responsables, ils devront demain concevoir, dépanner, sécuriser et 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, c'est un accélérateur d'apprentissage, un socle pédagogique taillé sur mesure pour la formation proposée par l'EFRITS.

  • Elle permet de contrôler les ressources dont disposent les élèves : RAM, CPU, espace disque, et de simuler des défaillances.
  • Elle offre une interface minimaliste aux capacités multimédias de l'ordinateur, sans fournir de facilité excessive, afin que les élèves réalisent eux-mêmes leurs outils.
  • Elle supporte pleinement le programme scolaire en étant complétée 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

La LibLapin illustre l'une des idées centrales de l'EFRITS : une école d'informatique doit fabriquer des outils, pas seulement enseigner à consommer ceux des autres.

Rendez-vous sur le site de la LibLapin : liblapin.org

Le dépôt GitHub est également disponible : github.com/Damdoshi/LibLapin

Source initiale : ancien article WordPress


contact

INFORMATIONS



NOUS RENDRE VISITE


*Champs obligatoires

En cliquant sur le boutton « ENVOYER » ci-dessous, vous autorisez l'entreprise EFRITS SAS à stocker et traiter vos données personnelles renseignées ci-dessus afin de répondre à votre demande. Pour plus d'informations sur la gestion de vos données personnelles et vos droits, consultez notre politique de confidentialité.

CANDIDATER




LISTEZ VOS INTÉRÊTS



*Champs obligatoires

En cliquant sur le boutton « ENVOYER » ci-dessous, vous autorisez l'entreprise EFRITS SAS à stocker et traiter vos données personnelles renseignées ci-dessus afin de répondre à votre demande. Pour plus d'informations sur la gestion de vos données personnelles et vos droits, consultez notre politique de confidentialité.