Best Of Projets de Programmation ================================ ============================[ 2007 ]=========================== Mais, on ne peut pas faire d'architecture puisqu'on programme en C! -- Pendant le TD d'architecture (bah voyons!) Selon certaines sources, il est difficile de faire des relevés de prix dans les grandes surfaces. -- Rapport final, Résumé (on nous cache tout, on nous dis rien!) Il est nécessaire d'avoir une imagé numérisée du restaurant universitaire pour obtenir un résultat correct. -- Rapport final, Présentation du logiciel (et un fer à cheval) A notre niveau de connaissance en programmation C, nous n'imaginions même pas l'existence des problèmes de compatibilités en nos sources compilées avec gcc entre des machines standarts et cette machine à problème ! -- Rapport final, Débugage (il était une fois les cpu 64bits...) C'est à ce moment que nous avons rencontré un problème majeur. -- Rapport final, Implémentation (Oups!!!) À ce moment, les tests compilent et le programme hello_world se lance sans erreur mais aucun message de type "hello world". De plus, le programme ne se termine jamais. -- Rapport final, Implémentation (bizarre, vous avez dit bizarre) Nous nous sommes rendus compte que les tests fonctionnaient malgrès tout mais cela ne signifiait pas que le problème était résolu. -- Rapport final, Implémentation (et pourtant elle tourne!) Grande fut notre surprise à l'heure des premiers test : une partie non négligeable du projet fut consacrée au débugage et à la compréhension d'un code très peu lisible, car peu commenté pour des personnes non-expérimentées à ce type d'exercice. -- Rapport final, Conclusion (des personnes comme vous?) Nous nous sommes aussi aperçus que ce n'était pas aussi facile qu'il y paraissait. [à propos du travail en commun] -- Rapport final, Conclusion (surtout si vous oubliez de travailler!) Nous constatons que programmer à l'aveuglette n'est pas une solution envisageable aux vu des résultats obtenus. -- Rapport final, Conclusion (Ah oui? Étonnant, non?) Comme dit dans le paragraphe 9.1, le fichier de traduction est actuellement dépourvu d'accents, et il serait bon que ça change. -- Rapport final, Extension possible du logiciel (et que ça saute!) Malheureusement, c'était trop simple pour marcher, car le résultat était toujours le même. -- Rapport final, Première tentative (où 'simplicité' rime avec 'raté') Il s'agit ici de trouver le rayon du cercle du papa. -- Soutenance (Oui maman!) Arrivé à ce point, nous commençions à manquer de temps... -- Soutenance (Et bien dansez maintenant...) ============================[ 2008 ]=========================== Pour l'instant nous n'avons aucune idée réelle de comment concevoir ce logiciel intermédiaire. Nous n'avons qu'une idée assez vague, ce qui nous inquiète beaucoup. -- Rapport intermédiaire, 'Prototypage' (Au secour!) Il [Le logiciel] dispose d'un module permettant de dessiner les animaux nommé Fred. -- Rapport intermédiaire, Étude de l'existant (Et ceux qui s'appellent Rex?) Framsticks permet de simuler des animaux de manière très « animale »... -- Rapport intermédiaire, Étude de l'existant (Moi très animal! Groar!) C'est un codage plus haut level, dont la brique de base est un bâton codé X, auquel on peut en collé d'autres ou même des neurones... -- Rapport intermédiaire, Étude de l'existant (Comprenne qui pourra) Le Lisp c'est comme le Latin, c'est mort. -- Évaluation des cours, Commentaire (Vulnerant omnes, ultima necat) La première [raison] est que de le cadre du projet il est facilement compréhensible, ce qui nous a permis de l'appréhender plus rapidement, la deuxième est qu'il est dans l'esprit assez proche de ce se passe chez les êtres vivants, ou on arrive à une version la plus optimalle possible en améliorant nos essais grâce aux expérience passé. -- Rapport final (Je parle très mieux que toi) Par une évaluation aléatoire de la méthode l'algorithme génétique s'exécute sans problèmes particuliers, mis à part un message d'erreur du au fait que l'on veut écrire dans la console depuis un autre thread. La visualisation ne fonctionne pas non plus, mais le programme compile car nous avons mis en commentaire le code qui pose des problèmes. -- Rapport final, Etat actuel du projet (Et sinon, la santé?) La complexité de notre programme est en fait intimement liée à la complexité du problème que nous avons à traiter. En effet nous tout d'abord évaluer la complexité du problème pour comprendre le problème de l'évaluation de la complexité de nos algorithmes. -- Rapport final (Toi y en avoir compris?) Dans l'état, quand notre programme lit un fichier qui contient une erreur, ou un fichier qui n'est pas au bon format, le programme plante. -- Rapport final, Éléments supplémentaire (Et c'est normal?) De base notre simulation sera dans un monde idyllique parfaitement plat... -- Rapport final, Éléments supplémentaire (de la platitude du Paradis) Nous voulions implémenter une classe qui crée et qui fait des actions listenners de chaque bouton du menu en associant chaque bouton à une image représentant le bouton. Le résultat était bon sur certains ordinateurs alors que sur d'autres l'image des boutons n'arrivait pas à se charger et on avait un rectangle blanc à la place. -- Rapport final, Architecture (Des problèmes de boutons?) Nous avons du implémenter avoir deux autres options, la mise en réseau du jeu et l'affichage de statistiques. Donc en plus des classes que nous n'avons pas pu coder pour les raisons des paragraphes précédents, nous n'avons pas les classes qui gèrent ces deux options. -- Rapport final, Architecture des options (Et il reste quoi alors?) La composante Mêmes valeurs réunie les variables d'une substitution de mode qui ont qui dans le programme prolog ont un lien en commun dans le programme prolog à analyser. -- Rapport final (Nous on ne relit pas! JAMAIS! On est des durs!) Nous ferons des test de tests si cela est nécessaire. -- Rapport final, Besoins non-fonctionnels (Non, non, ça ira, merci) ... else { cerr << "predicat inexitant" << endl; exit(1); } -- Code (Si, si, il exit(1)!) * moderne: C est un langage structuré,déclaratif et récursif. Il offre des structures de corntrôle et de déclaration comme le langage Pascal. -- Rapport final (De la 'modernité' de C et Pascal... *sigh!*) Prof: Et les points d'exclamations ce sont des warnings ? Étudiant: Ah oui, on a oublié de mettre tous les 'ignores' ! -- Soutenance (Cachez ce bug que je ne saurais voir...) Nous avons été initiés aux joies des ressources humaines. -- Soutenance, Conclusion (Les joies des soutenances) Nous avons abordé un langage que personne ne connaît... (regard vers le client...) Euh..., enfin..., que personne du groupe ne connaissait. -- Soutenance (Le FORTRAN, une langue morte?) ============================[ 2009 ]=========================== Étudiant: Ah ? On rend l'architecture avant le code ? Prof (narquois): Oui, en général, un architecte fait ses plans avant de construire. -- Réunion de TD (et donc, pour la maison, on commence par le toit ?) Le logiciel doit être accessible á un simple utilisateur (cf. le client). -- Rapport intermédiaire, Besoins (le client appréciera...) Les tests à scénarios vont nous permettre de secouer un peu l'application, ... -- Rapport intermédiaire (secouez-moi, secouez-moi !) ..., il y aura deux interfaces distinctes : une interface tout public et une interface pour les utilisateurs expérimentés avides d'informations, ... -- Architecture (oui, il faut vraiment être à vide pour aller haut!) A ce jour cette fonctionnalité marche parfaitement, seulement il demeure un bug flagrant. -- Rapport final (A et non-A) Les autres indications que nous apporte ce fromage sont plus sur les priorités des améliorations à apporter. -- Rapport final (ce rapport vaut bien un fromage, non ?) Cet algorithme comme le précédent à été fait d'amélioration successive. Tout d'abord dans une première version, il prospectait en faisant une forme d'escargot autour du bot, cherchant les murs (car toutes les salles sont entourées de mur), et comptant le nombre de murs voisins de chaque mur (dans murs voisins il est aussi compris les portes fermées, passages et portes ouvertes qui sont des éléments de murs). Si ce nombre est strictement inférieur à trois, cela veut dire qu'il manque un mur... -- Rapport final (les murs murent...) Lorsque le bot est tué par un monstre, on voit clairement que les niveaux étaient idéalement configurés pour le bot. -- Rapport final (une vision particulière du Paradis ?) Nous avons quand même cherché une solution au problème mais sans trop de succès. En effet, ce qui nous paraît évident c'est que notre structure n'est pas adaptée pour gérer cette situation et il faudrait donc en trouver une autre. -- Rapport final (on cherche encore...) ..., notre premier travail dans la réalisation du projet a donc été de jouer à ce jeu afin de comprendre ce que nous devions implémenter. Cette étape a été très enrichissante car nous avons pris conscience de la difficulté de ce jeu. -- Rapport final (de la dure vie d'un étudiant en PdP) L'analyse statique et les métriques logicielles sont indécidables. Au sens des machines de Turing, que l'on a pu voir au premier semestre de cette année, cela signifie qu'il n'existe pas une machine de Turing pour toutes les métriques, qui permette de fournir un résultat. -- Rapport final (rien compris, mais alors rien du tout...) Pour moi, ce projet est une expérience réelle qui va nous préparer aux conditions de travail, commençant par le groupe qui étais non homogène, car formé par MR narbel, mais nous avons su surmonter cet handicap, et nous avons travaillé dans la bonne ambiance, avant l'abandon de deux membres du groupes. -- Rapport final (tout va très bien madame la Marquise, ...) En bref, il y a évidemment eu des hauts et des bas, ce qui est tout à fait normal, mais ce projet nous a été bénéfique d'une manière ou d'une autre. -- Rapport final (l'optimisme vaincra... d'une manière ou d'une autre) Un utilisateur nommé A veut créer des augmentations à partir de ses photos de vacances. -- Rapport final (se faire augmenter grâce à ses photos de vacances) Inconvénients: Cet algorithme tourne longuement. -- Rapport final (looooooonnnnnnnguement...) rien de spéciale -- Subversion, message de log, revision 20 (et sinon, toi ça va ?) Je veux bien que tout le monde à fait l'inverse mais mes test sont justes, ils sont justes inversés. -- Réclamation par e-mail d'un étudiant (tout est relatif !) ============================[ 2010 ]=========================== Cette intelligence artificielle doit être aussi performante qu'un humain c'est à dire que tous les coups doivent être permis, comme par exemple manger les jetons de son adversaire ... -- Cahier des charges (Miam, vos jetons m'ont l'air appétissants!) Les étudiants étant souvent flegmatiques, il faudrait qu'elle [la GUI] soit très simple à prendre en main afin de ne pas les rébuter à cause de fenêtres dans tous les sens on d'une énorme panoplie de menus. -- Cahier des charges (les profs aussi ont de quoi être flegmatiques) Le temps est certainement le facteur qui nous persécutera tout au long de ce projet. -- Cahier des charges, Risques et parades (tempus fugit...) Dans un premier temps, il faudrait prendre la personne entre quatre yeux pour essayer de la raisonner, en lui faisant bien comprendre que le planning est très serré et que ne pas le tenir à la lettre rendrait les choses plus difficiles qu'elles ne le sont déjà. -- Cahier des charges, Risques et parades (et après, on le frappe?)