Projet 2026 - éléments d'administration


Contenu

  1. Échéancier
  2. Barème
  3. Gestion des équipes (inscriptions, changements, etc.)
  4. Composition des équipes (responsable, membres, salle, etc.)
  5. Travailler en groupe

Échéancier

Pour que vous puissiez jugez de votre état d'avancement dans la réalisation du projet, et savoir ce qui vous attend pour la suite, vous trouverez ci-après un échéancier, rappelant la date des événements importants (inscription, rendu, ...), et indiquant en regard de chaque semaine les tâches que vous devriez normalement avoir terminées et les descriptifs plus précis de celles-ci.

Naturellement, c'est à vous de gérer le temps que vous consacrez à la réalisation du projet. Pour éviter une surcharge de travail en fin de semestre, tâchez cependant de respecter au mieux cet échéancier, et évitez surtout d'accumuler du retard.

Pour vous aider à vous organiser, chaque exercice du projet possède (voir le barème plus bas) un niveau de difficulté de 1 à 3 (comme pour les séries), suivi parfois du signe * indiquant que l'exercice est nécessaire pour la suite. Cela ne veut pas dire que les exercices sans * sont optionnels (tous les exercices comptent !), mais simplement que si vous ne faites pas un «exercice *» vous risquez d'avoir des problèmes pour continuer le projet. Fondamentalement, tous les exercices de P1 à P8, sauf P2, sont «*» et tous les exercices de P9 à P12 (et P2) ne sont pas bloquants pour la suite et vous permettent de vous organiser plus librement.

Par exemple un exercice indiqué [2*] est un exercice niveau 2 qu'il est conseillé de faire avant de passer à la suite.
Note : il n'y a aucun exercice [3*].

Date de finalisation Tâche(s) à réaliser Descriptifs détaillés
1 19/02/2026
  • Prise de connaissance du projet
  • Mise en place de l'environnement de travail (répertoire, fichier JOURNAL)
Présentation du projet
2 26/02/2026 Descriptif des tâches à réaliser
3 05/03/2026
  • Mise en place de la modularisation (Makefile ou CMake)
  • Mise à jour du journal
Descriptif des tâches à réaliser
4 12/03/2026 Descriptif des tâches à réaliser
5 19/03/2026
  • Obstacles
  • Sources
  • Mise à jour du journal, des réponses et de la conception
Descriptif des tâches à réaliser
6 26/03/2026
  • Développement du système complet
  • Simulation (première version, en mode texte)
  • Mise à jour du journal, des réponses et de la conception
Descriptif des tâches à réaliser
7 02/04/2026
  • Version graphique de la simulation
  • Mise à jour du journal, des réponses et de la conception
Descriptif des tâches à réaliser
8 16/04/2026 pause pour respirer et se préparer au midterm
[et si nécessaire aussi en profiter pour rattraper un éventuel retard]
9 23/04/2026 rien (midterm)
[profitez en peut être pour rattraper un éventuel retard pendant le temps libre du reste de la semaine]
10 30/04/2026
  • Plus de particules
  • Mise à jour du journal, des réponses et de la conception
Descriptif des tâches à réaliser
11 07/05/2026
  • Améliorations de la simulation
  • Gestion des particules voisines
  • Mise à jour du journal, des réponses et de la conception
Descriptif des tâches à réaliser
12 14/05/2026
  • Extensions (optionnelles)
  • Finalisation.
  • Mise à jour du journal, des réponses et de la conception
Descriptif des tâches à réaliser
13 21/05/2026 Finalisation (et rendu ?) r
14 (*) 31/05/2026 23:59

Toutes les équipes doivent avoir rendu leur projet (fichiers sources).

Les modalités du rendu seront décrites ici en temps utile.


Barème

Au sujet de la tricherie

L'échange d'idées entre groupes ou avec des tiers est autorisée (et même recommandée). Par contre, l'échange de code est strictement interdit ! Cela inclut la diffusion de code, en particulier sur le forum (mais aussi sur des sites d'archive publics). Le plagiat de code de quelque façon que de soit et quelle qu'en soit la source sera considéré comme de la tricherie (et peut, en plus, suivant les cas s'avérer illégal et passible de poursuites pénales).

En cas de tricherie, vous recevrez la note «NA», soit pour le projet, soit même pour l'entièreté du cours. Vous serez de plus dénoncé(e) et puni(e) suivant l'ordonnance sur la discipline.
(je me permets également de vous rappeler le code d'honneur et le code de déontologie dont vous avez pris connaissance au début de vos études).

Dans tous les cas, il est fortement conseillé de pouvoir expliquer toutes les lignes de code de son projet.

Le projet se fait par groupes de deux. Chaque groupe ne rend qu'une «copie», et les deux étudiant(e)s reçoivent, sauf cas exceptionnels, la même note.

Le projet est noté sur 36 points en tout répartis comme indiqué ci-dessous. Pour chacun des aspects codage (c.-à-d. tout sauf les premiers 6 points ci-dessous), les points correspondants seront répartis en environ 2/3 pour le codage lui-même (1/3 pour la compilation, 1/3 pour l'exécution correcte), 1/6 pour la conception et 1/6 pour le style et les commentaires.
Un malus de 0.1 sur la fraction pourra être appliqué en cas de mauvaise programmation manifeste (p. ex. variables globales abusives, new sans delete, pas de POO, etc.).

Il est impératif que le projet compile et s'exécute correctement sur les VMs de l'Ecole (VM IC-CO-IN-SC), seules machines officielles de ce cours.

Un projet sans polymorphisme ne pourra pas avoir plus que 0.65 (c.-à-d. pas plus que 24 points, ce qui correspond à une note maximale de 4.5).

Un malus de 0.2 sur la fraction pourra être appliqué en cas de non contact avec son assistant responsable.

Je rappelle également que la note fractionnaire obtenue sur le projet

Grille des points

semaine description niveau points frac. max.
possible
note max.
possible
- Général Rendu, présentation, commentaires
(JOURNAL, README, ...)
- 1.5 6 0.17 2.0
Réponse aux questions (REPONSES) - 2
Conception (CONCEPTION) - 2.5
2 Vecteurs (en 3 dimensions) P1 1* 2 0.22 2.25
3 Moduralisation P3 (Makefile, ...) 2* 3 0.31 2.75
4 Révision des vecteurs P4 (testVecteur3D.cc) 1* 2 4 0.41 3.25
Particules (neige ici) P5 (testParticule.cc) 2* 2
5 Obstacles P6 (testObstacle.cc) 1* 2 5 0.55 4.0
Sources P7 (testSource.cc) 2 3
6 Système P8 2* 3 5 0.72 4.75
Première simulation (mode texte) P9 (exerciceP9.cc) 2 2
7 Graphisme (P2,) P10 (exerciceP10.cc) 3 5 0.86 5.5
10 Plus de particules (différentes neiges, boue, roche, ...) P11 (exerciceP11.cc) 2 2 0.88 5.5
11 Amélioration simulation P12 2 2 4 1.00 6.0
Voisins P13 2 2
TOTAL 36  
 
- Extensions par extension : (mais maximum 4 points) 2 1.00 6.0

Administration des équipes

Inscription

Si vous n'êtes pas dans la liste ci-dessous, inscrivez votre équipe (binôme) au moyen du formulaire ci dessous.

PENSEZ A VOUS INSCRIRE : vous n'avez que jusqu'au 13 mars pour le faire ! Après c'est moi qui décide...

Membre 1 : pas dans la liste ?
Membre 2 : pas dans la liste ?
Salle souhaitée :

Changements

Si vous désirez changer la composition de votre équipe, envoyer un mail en cliquant ici en indiquant dans le corps du mail tous les renseignements nécessaires (personnes concernées, nouvelles équipes formées, etc.).

Composition des équipes

Pour trouver votre équipe, cherchez votre nom à l'aide du navigateur (Ctrl+f)

[Attention ! La validation des inscriptions étant manuelle, votre nom n'apparaîtra dans cette liste qu'un certain temps après l'inscription.]

Équipe no
Équipier(e)s Assistant responsable Salle
1 Progin Emilien Genoud Thomas Tom CO-120
2 Pizzaia Ethan Luca Pierrard Terence Philippe C. Lowen CO-020
3 De Luca Emmanuel Pio Savary Loïc Maud CO-020
4 Malleval Bastian Guichard Romain Vincenzo Gabriel Cedric CO-120
5 Debono Alexandre François Junior Ngayo Fotso Niels-Alexandre Christophe Amir CO-021
6 Friot Archibald Benjamin Mathieu Monsigny Victor Yves Marie Valentin CO-021
7 Xu Thomas Lin Maître Julien Johan CO-021
8 Bourgeois Belotz Darwin Benjamin Garcia Valentine Christiane Sébastien CO-021
9 Willa Matteo Baptiste Jonas Debernardi Nils Matteo Thomas CO-023
10 Beaucamp Mathilde Marie Sonia Augé Clarisse Caiqing Ayrton+Maya CO-023
11 Khlifi Taghzouti Badra Luisoni Alessandro Giovanni Gelindo Lowen CO-020
12 Unterkircher Fabienne Ismaili Albin Maud CO-020
13 Stausbøll James Sebastian Carrier Emile Amir CO-021
14 Antonino Madrid Alex Christian Albasini Joachim Valentin CO-021
15 Meoni Louis Carlos Yvan Ferreira Noa Johan CO-021
16 Polselli Lorenzo Vincent Sébastien Yurchenko Maksymilian Sébastien CO-021
17 Doffey Trouiller Elena Gauch Maé Rebecca Thomas CO-023
18 Viale Guillaume Valentin Roch Pignat Adrien Ayrton+Maya CO-023
19 Lahlou Elias Vidal Serrate Alejandro Lowen CO-020
20 Fasel Alizée Sophie Papaldo Alessia Tom CO-120
21 Fleuriau Kléa Henriot Timothé Bertrand Christophe Maud CO-020
22 Laamarti Nassim Raymond Thomas Yvan Jean Amir CO-021
23 Cantoni Lopez Maxence Sternberg Yarden Valentin CO-021
24 Michel Anastasia Marie Cassiopée Vilela Guillaume Felix Gérard Johan CO-021
25 Hu Wentao Räss Matthieu Paul Antoine Marie Sébastien CO-021
26 Sormani Mathieu Marc Michel Péré Sébastien André Thomas CO-023
27 Bovet Cynthia Gashi Aguesa Cedric CO-120
28 Declerck Jean Alfred Pierre Marie Eloy Charlène Lana Ayrton+Maya CO-023
29 Bessadi Justin Elie Claude Mubalama Louise Nyota Lowen CO-020
30 Gasch Valentino Oldewurtel Jona Felix Maud CO-020
31 Reid Alexander Phoenix Hersch Jonas Amir CO-021
32 Tinel Stephan Renaud Pierre Helfand Elias Antasena Tom CO-120
33 Nidegger Samuel Max Roy Alexandre Cedric CO-120
34 Bruchez Nicolas Marie-Joseph Delaloye Julien Valentin CO-021
35 Solazzo Romain Benjamin Elia Blasco L'Arvor Thomas Benjamin Johan CO-021
36 Lamboray Marguerite Maier Colin Elia Tom CO-120
37 Divall Benjamin Strmecki Tin Sébastien CO-021
38 Di Meglio Matteo Byrne Alexis Rian Thomas CO-023
39 Jung Zoé Brigitte Jeanette Surdez David Ayrton+Maya CO-023
40 Doutriaux Max Emmanuel Rohrbach Leo Faustino Cedric CO-120
41 Lummert Louise Magda Cécilia Maurer Olivia Lowen CO-020
42 Felder Baptiste Nicolas Gilles Sauton Roméo Pierre David Maud CO-020
43 Atlab Elias Wael Mira Mathis Noah Tom CO-120
44 Bomo-Leducq Romain Arnaud Lucien Robert Borras Eliot Camille Robert Amir CO-021
45 Ahouidi Ambroise Raymond Roset Pastor Amalia Valentin CO-021
46 Polster Aurélien Clément A Blondel Romain Arnaud Victor Johan CO-021
47 Sanders Nicholas-George Figueiredo Saraiva Nuno Duarte Sébastien CO-021
48 Marande Pauline Francoise Marie Garcia Juliette Catherine Thomas CO-023
49 Gereben Julia Pokorska Natalia Ayrton+Maya CO-023
50 Bohbot Tancrède Luc François-Antoine Levard Romain Eliott Emmanuel Lowen CO-020
51 Neronova Elizaveta Vermot-Petit-Outhenin Hansen Cedric CO-120
52 Lorenzini Arno Ambrosio Chizhov Alexandre Maud CO-020
53 Arnoult Mendoza Carla Angela Relander Emma Sofia Amir CO-021
54 Ducommun Sarah Laurrin Emillie Claire Marie Valentin CO-021
55 Li Sirui Scolari Sonja Alma Johan CO-021
56 Houngbo-Fitremann Edenson Samuel Léo Wohnlich Arthur Sébastien CO-021
57 Boero Anna Courtois Garance Sarah Thomas CO-023
58 Boniol Morgane Steiner Joseph Oscar Tom CO-120
59 Darbellay Pierre-Alexis Enrico Valéry Fuz Valentin Pierre Thomas Ayrton+Maya CO-023
60 Cherrier Prune Nicole Marima Valent Eliza Charlotte Martine Lucie Lowen CO-020
61 Bryson Leo Cat Harf-Wilwers Théodore Eliot Maud CO-020
62 Ruffiner Lynn Valentine Bevk Ana Amir CO-021
63 Talidec Joshua Huk Adam Elliot Cedric CO-120
64 Sauser Luke Tristan Flament Konstantin Aleksandr Valentin CO-021
(Dernière mise à jour : ven 27 fév 12:07:41 2026)

Travailler en groupe

L'architecture en place (machines virtuelles) limite malheureument fortement les moyens de collaborer facilement sur un même répertoire (pas de partage de fichiers). Il vous faudra donc malheusement procéder par échange/copie de fichiers comme indiqué par exemple dans le le wiki des utilisateurs des salles CO.

Note :

Les plus avancé(e)s d'entre vous peuvent ignorer la suite et utiliser un gestionnaire de versions (GIT, Mercurial, ...). Voir si nécessaire ici pour une première introduction et/ou ici la référence officielle (mais bon !... ne vous lancez pas là dedans si vous n'y connaissez rien !).

Pour votre organisation, je propose que l'un d'entre vous garde de façon séparée de son propre répertoire de travail, une version d'archive «officielle» et à jour. En clair, un des deux aura (au moins) deux répertoires : un de travail personnel et un d'archive du groupe. L'autre membre du binôme n'aura que son répertoire de travail personnel. Les échanges se faisant par copie entre ces différents répertoires (attention de ne pas écraser la version qui fonctionne, laquelle est conservée dans le répertertoire d'archive «officielle»).

Le point important (concept de base) de cette organisation est de séparer clairement endroit de travail et endroit de référence/d'archivage.

Peut être pour compléter, au niveau méthodologie :
si vous vous êtes bien réparti le travail (et avez bien compris le cours sur la compilation séparée) :

  1. vous commencez par écrire le .h (du module dont vous êtes responsable) ;
  2. une fois ceci fait, vous le proposez à votre binôme ; vous le discutez ensemble et soit vous êtes d'accord et passez au point 3 ; soit vous retournez au point 1 ;
  3. vous écrivez un .cc correspondant, mais « vide » : chaque méthode ne fait rien ou juste un cout ou retourne un truc bidon, tout simple ;
  4. vous donnez le .h et le .cc à votre binôme qui peut du coup travailler sur sa partie indépendamment (et aura d'ailleurs déjà commencé à le faire ; au point 1 pour sa partie ) et surtout compiler avec la vôtre ;
  5. vous écrivez, de votre coté, le vrai .cc correspondant, méthode par méthode et vous le testez (je conseille d'écrire un test-MACHIN.cc avec MACHIN le nom de la classe sur laquelle vous travaillez) ;
  6. quand vous êtes convaincu(e) que c'est tout bon vous donnez le .cc (et le test-MACHIN.cc) à votre binôme.

Je conseille aussi d'avoir (au moins) deux répertoires séparés :

Lorsque vous copiez des choses de votre « brouillon » au propre et les codes « propres » reçus de votre binôme, je conseille de le faire à deux sur la même machine et regarder que tout va bien (compilation, exécution, bons résultats).

Je conseille même de faire des copies pour archive des « propres » à des étapes importantes (et ne plus y toucher). Cela permet d'éviter les catastrophes (surtout en fin de semestre (« Mais Monsieur la semaine passée tout marchait bien et j'ai juste changé un truc et là j'ai plus une version qui marche »)).


Dernière mise à jour le 12 février 2026
Last modified: Thu Feb 12, 2026