I2L (2006)

De Wiki Linux62.

La formation I2L de Calais propose à ses étudiants, lors du premier semestre, d'intégrer un projet libre.

Linux62 peut donc proposer des sujets qui pourront être choisis par les étudiants. Ces derniers commenceront le 1er octobre jusqu'à fin mars au rythme d'une (demi-)journée par semaine.

Les équipes seront composées de deux étudiants.

Attention cependant ! Vous ne devez vous engager dans un tutorat à la seule et unique condition d'être certain de pouvoir suivre l'équipe tout au long de leur participation ! N'oubliez pas que vous risquez l'année de vos étudiants.

Quant aux contraintes, elles sont les suivantes :

  • Etre disponible régulièrement
  • Etre un minimum compétent dans le domaine
  • Prévoir des objectifs suffisamment intéressants et riches pour les étudiants (ne pensez même pas à de la maintenance ou du bugtrack à longueur de journées)
  • Etre présent lors de leur soutenances

Sommaire

Sujets proposés

Travaux sur Crystal Entity Layer

proposé par Maurice Doison et Guillaume Libersat

Présentation du logiciel

CEL (Crystal Entity Layer) est une surcouche au moteur 3d Crystalspace qui ajoute la notion d'entité ainsi que diverses notions propres aux environnements de simulation. Il peut par exemple être utilisé pour créer des applications ludiques (ex: un jeu) ou des applications de simulation (ex: simuler un réseau ferroviaire).

Travaux

Les travaux demandés ont pour but d'ajouter un support fiable, modulaire et complet de la notion de réseau à CEL. Le travail d'intégration de réseau dans les autres composants de CEL est quasi terminé car il existait déjà une implémentation.

  • Prendre contact avec la communauté CEL
  • Voir l'état des lieux, regrouper les efforts déjà réalisés (il y en a)
  • Synthétiser le tout, modifier l'interface réseau (et vérifier la compatibilité au niveau licence !)
  • Trouver et comparer les bibliothèques disponibles pour réaliser l'implémentation
  • Créer une implémentation efficace de l'interface réseau (UDP et/ou TCP) à l'aide de la bibliothèque choisie
  • Créer une interface réseau distribuée (P2P)
  • Trouver et comparer les bibliothèques disponibles pour réaliser l'implémentation
  • Créer une implémentation efficace de l'interface distribuée à l'aide de la bibliothèque choisie
  • Créer une interface de conférence vocale
  • Trouver et comparer les bibliothèques disponibles pour réaliser l'implémentation
  • Implémenter un greffon de conférence vocale à l'aide de l'interface réseau distribuée et de la bibliothèque choisie

Extra :

Tous les travaux ne sont pas forcément à réaliser. Cependant, vous devrez essayer d'aller le plus loin possible. Vous devrez aussi programmer tout au long de votre avancement des applications de test pour vérifier que vos implémentations fonctionnent et ne régressent pas.

Compétences requises

  • CEL et CS sont deux outils libres, évolués et utilisables dans le cadre de projets conséquents. C'est pourquoi, ils sont relativement complexes et nécessitent un temps d'adaptation. Vous devez donc dans un premier temps vous familiariser avec ces deux bibliothèques ;
  • Une très bonne connaissance de C/C++/ObjectiveC (au choix) : CEL est écrit en C++ ;
  • Une bonne connaissance du réseau ;
  • Une connaissance basique des systèmes distribués ;
  • Des notions de 3d ;
  • La connaissance de python est appréciée mais pas nécessaire.

Outils utilisés

  • Crystalspace
  • CEL
  • SVN pour le RCS
  • Trac
  • SDL_net
  • libspeex
  • ... (les étudiants devront trouver les bibliothèques pertinentes)

Bénéfice pour les étudiants

Vous découvrirez deux excellents outils que sont CS et CEL, vous apprendrez à utiliser des bibliothèques réseaux pour différents types de communication (ptp, distribué) et vous pourrez vous familiariser avec la création d'applications VOIP.

Bénéfice pour l'association

L'association développe en ce moment un jeu libre nommé Gibraltar dans lequel nous souhaitons avoir un support réseau ainsi que la communication vocale. Implémenter ces fonctionnalités dans CEL nous permettrait donc d'en bénéficier.

Sujets en vracs (à développer)

  • Gozzer
  • Editeur de niveau pour Gibraltar
  • Réécrire/Améliorer l'appli python/gtk de gestion des membres
  • Réécrire un patch propre pour Bind9 pour le support MySQL, PgSQL, etc
  • Soft Web de gestion d'ouverture du local (avec notif par SMS, mail, Jabber, etc).
Outils personnels
Équipes