Fil conducteur

Il est fréquent que des projets de dévelopement confiés aux étudiants en informatique à l'Université consistent à réinventer la roue et s'avérerent relativement inutiles.

Un sujet de projet ayant pour but la réalisation ou l'amélioration d'un projet libre est tout aussi pédagogique qu'un projet visant à refaire un petit jeu de plateau, un manipulateur d'image, ou encore un bot irc en perl

Un tel projet permettrait aux étudiants :

surtout d'apprendre à utiliser les librairies graphiques (e.g. Qt, Gtk)

peuvent être amenés à utiliser (outils de développement, de communication,

     de versionning, de déboguage, de gestion des bugs, de soumission de patchs,
     etc.) 
* dans certains cas, apprendre à chercher ce qui existe déjà, trouver la
     meilleure base, et s'en servir 
* sans doute même de comprendre le code source (même si ce n'est que
     partiellement) du logiciel sur lequel le projet est basé, corriger ou
     rapporter un bug

Pour les enseignants, les difficultés sont la correction de sujets différents et la préparation des sujets. Trouvons quelques idées de sujets pour les projets “classiques” (10 heures en binôme) et pour les projets tutorés (50 heures en binôme ou trinôme).

Le but n'est pas d'imposer ce type de projets. Il s'agit simplement d'avoir de telles propositions en plus de celles par défaut afin de permettre à ceux qui le désirent de se lancer dans cette aventure enrichissante.

Quelques propositions

http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/digikam/digikam3/TODO?rev=HEAD&content-type=text/vnd.viewcvs-markup

  http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/digikam/digikamplugins/TODO?rev=HEAD&content-type=text/vnd.viewcvs-markup
* KDE : http://www.kde.org/jobs/ et http://www.kde.org/mailinglists/   
* moteur de jeu (beaucoup de jeux ne sont pas présents en libre) 
* édition de schémas (spécifications graphiques, diagrammes, plans)                            
* IA d'un jeu (cf. infra, éventuellement)                        
* demander à des scientifiques de l'ULP un truc simple informatiquement,                       
  dont ils auraient besoin, adapté à ça                          
* interfaces pour des commandes (très utile pour filer Linux à du grand                        
  public, ensuite...)              
* driver d'un matériel documenté    * client ou serveur d'un protocole documenté                     
* outils type Decrypthon           
* génération de code à partir de spécifications
* http://orchestria.u-strasbg.fr/~blindaue/projets/                
* http://gna.org/projects/savane     
* une interface logique entre Python et /dev/dsp                 
  qui permettrait d'envoyer directement une onde calculée          
  à cette interface (il se peut que ça existe chez ecasound        
  mais c'est à mon avis trop confus) 
* réaliser qqs exemples de \"physical modeling\"                   
  en Python (il en existe des exemples en Lisp)                    
* réécrire un autre LaTeX en Python (il existe le projet         
  ConTeX qui est écrit en Perl, mais incroyablement                
  mal documenté, en outre Perl ...)