Commit 30d9c6863cdadd67a0993be9795325f0878c7dd9
1 parent
c3bfddce
✚ ajout d'explications via une section annexe
Showing
1 changed file
with
89 additions
and
26 deletions
Show diff stats
README.md
1 | 1 | # Tutorat de Programmation Avancée (IMA3 - 2017/2018) |
2 | 2 | |
3 | -Ce dépôt `GIT` contient le sujet et les données utiles pour la réalisation du | |
3 | +Ce dépôt `GIT` contient le sujet et les données utiles pour la réalisation du | |
4 | 4 | _petit_ projet du module de Programmation Avancée. |
5 | 5 | |
6 | -> __Attention__: ce dépôt risque d'évoluer au cours de l'avancée des projets. | |
6 | +> __Attention__: ce dépôt risque d'évoluer au cours de l'avancée des projets. | |
7 | 7 | N'hésitez pas à le consulter régulièrement. |
8 | 8 | |
9 | 9 | ## Résumé |
10 | 10 | |
11 | -L'objectif de ce projet est de vérifier que vous maîtrisez les principes vus en | |
12 | -cours de programmation avancée : structures de données complexes, | |
13 | -lecture / écriture de fichiers, compilation séparée et automatique, utilisation | |
11 | +L'objectif de ce projet est de vérifier que vous maîtrisez les principes vus en | |
12 | +cours de programmation avancée : structures de données complexes, | |
13 | +lecture / écriture de fichiers, compilation séparée et automatique, utilisation | |
14 | 14 | de gestionnaire de version... |
15 | 15 | |
16 | -Pour cela, le travail demandé est de réaliser une application qui permet | |
16 | +Pour cela, le travail demandé est de réaliser une application qui permet | |
17 | 17 | d'analyser les résultats d'une compétition sportive à laquelle ont participé plus |
18 | -de 200 000 personnnes. Votre travail est de charger ce fichier pour effectuer un | |
19 | -certain nombre de requêtes (classement, recherche d'un club, du score d'un | |
18 | +de 200 000 personnnes. Votre travail est de charger ce fichier pour effectuer un | |
19 | +certain nombre de requêtes (classement, recherche d'un club, du score d'un | |
20 | 20 | athlète...) |
21 | 21 | |
22 | 22 | ## Contexte |
23 | 23 | |
24 | -Le CrossFit est une méthode de conditionnement physique combine principalement | |
25 | -la force athlétique, l'haltérophilie, la gymnastique et les sports d'endurance. | |
26 | -Le mot CrossFit vient de Cross Fitness (en français, entraînement croisé), | |
27 | -appelé ainsi parce qu'il mélange différentes activités physiques et sportives | |
28 | -préexistantes (source [Wikipedia](https://fr.wikipedia.org/wiki/CrossFit)). Tous | |
24 | +Le CrossFit est une méthode de conditionnement physique combine principalement | |
25 | +la force athlétique, l'haltérophilie, la gymnastique et les sports d'endurance. | |
26 | +Le mot CrossFit vient de Cross Fitness (en français, entraînement croisé), | |
27 | +appelé ainsi parce qu'il mélange différentes activités physiques et sportives | |
28 | +préexistantes (source [Wikipedia](https://fr.wikipedia.org/wiki/CrossFit)). Tous | |
29 | 29 | les ans a lieu une compétition (Crossfit Games) ouverte à tous en utilisant un |
30 | -système de sélection en ligne. La première phase de cette compétition (les _Open_) | |
31 | -a lieu habituellement au mois de Mars et s'est donc terminée pour l'édition 2018. | |
30 | +système de sélection en ligne. La première phase de cette compétition (les _Open_) | |
31 | +a lieu habituellement au mois de Mars et s'est donc terminée pour l'édition 2018. | |
32 | 32 | Elle comporte 5 épreuves différentes qui sont utilisées pour calculer le score et |
33 | -le classement global. Tous les résultats sont disponibles sur le site web | |
34 | -[games.crossfit.com](https://games.crossfit.com/) et via une API qui permet de | |
35 | -télécharger l'intégralité des résultats. | |
36 | - | |
37 | -Les données sont stockées dans un fichier `CSV` (_comma-separated values_) qui | |
38 | -est un format texte permettant de stocker des tableaux. Chaque ligne du fichier | |
39 | -correspond à une ligne du tableau et les différents éléments d'une ligne sont | |
40 | -séparés par un élément particulier (en général une virgule `,` mais d'autres sont | |
41 | -possibles `\t`, `;`...). La première ligne sert à décrire le nom des différents | |
33 | +le classement global. Tous les résultats sont disponibles sur le site web | |
34 | +[games.crossfit.com](https://games.crossfit.com/) et via une API qui permet de | |
35 | +télécharger l'intégralité des résultats. | |
36 | + | |
37 | +Les données sont stockées dans un fichier `CSV` (_comma-separated values_) qui | |
38 | +est un format texte permettant de stocker des tableaux. Chaque ligne du fichier | |
39 | +correspond à une ligne du tableau et les différents éléments d'une ligne sont | |
40 | +séparés par un élément particulier (en général une virgule `,` mais d'autres sont | |
41 | +possibles `\t`, `;`...). La première ligne sert à décrire le nom des différents | |
42 | 42 | champs. Par exemple sur le fichier qui nous intéresse : |
43 | 43 | |
44 | 44 | ~~~ |
... | ... | @@ -48,5 +48,68 @@ athId,regId,divId,lastName,firstName,gender,age,weight,height,affiliateId,affili |
48 | 48 | 881332,17,1,Vinas,Tommy,M,21,200 lb,71 in,17152,Zero Machine CrossFit,212,3,14490000,449 reps,132,11100452,4:28,58,13650452,365 lb,22 |
49 | 49 | ~~~ |
50 | 50 | |
51 | -Le premier champ correspond à l'identifiant de l'athlète (`180541`), le | |
52 | -quatrième à son nom de famille `Vigneault`, le cinquième à son prénom `Alex`... | |
53 | 51 | \ No newline at end of file |
52 | +Le premier champ correspond à l'identifiant de l'athlète (`180541`), le | |
53 | +quatrième à son nom de famille `Vigneault`, le cinquième à son prénom `Alex`... En ce qui concerne les champs après `overallRank` ils correspondent au nom de l'épreuve (`18.1` signifiant première épreuve de l'édition 2018). Comme pour toutes les éditions, il y a 5 épreuves par compétition. Pour plus de détails sur chacun des champs, vous pouvez consulter l'annexe | |
54 | + | |
55 | +## Annexe | |
56 | + | |
57 | +### Description des champs du tableau `CSV` | |
58 | + | |
59 | +- `athId` : identifiant de l'athlète [`entier`] | |
60 | +- `regId` : identifiant de la région du monde, voir [ici](https://games-support.crossfit.com/article/100-what-are-the-boundaries-of-the-crossfit-games-regions-what-states-countries-are-included-in-each) [`entier`] | |
61 | +- `divId` : la division de l'athlète (catégorie en fonction de l'âge) [`entier`] | |
62 | +- `lastName` : nom de famille [`chaîne de caractères`] | |
63 | +- `firstName` : prénom [`chaîne de caractères`] | |
64 | +- `gender` : genre (M ou F) [`caractère`] | |
65 | +- `age` : age [`entier`] | |
66 | +- `weight` : poids en livres (_lbs_) ou kilogrammes (_kg_) [`chaîne de caractères`] | |
67 | +- `height` : taille en pouces (_in_) ou centimètres (_cm_) [`chaîne de caractères`] | |
68 | +- `affiliateId` : identifiant de la salle où l'athlète est adhérent [`entier`] | |
69 | +- `affiliateName` : nom de la salle où l'athlète est adhérent [`chaîne de caractères`] | |
70 | +- `overallScore` : score global [`entier`] | |
71 | +- `overallRank` : rang dans le classement général [`entier`] | |
72 | +- `18.x score` : score de la __x__ ième épreuve [`entier`] | |
73 | +- `18.x scoreDisplay` : résultat de la __x__ ième épreuve, nombre de répétitions (_reps_) ou temps ou charge (_lbs_) [`chaîne de caractères`] | |
74 | +- `18.x rank` : classement de la __x__ ième épreuve [`entier`] | |
75 | + | |
76 | +### Détail des épreuves | |
77 | + | |
78 | +> A priori vous n'en avez pas besoin pour le sujet mais on ne sait jamais 😎 | |
79 | + | |
80 | +- [Workout 18.1](https://games.crossfit.com/workouts/open/2018/1) | |
81 | + | |
82 | +~~~ | |
83 | +Complete as many rounds as possible in 20 minutes of: | |
84 | +8 toes-to-bars | |
85 | +10 dumbbell hang clean and jerks | |
86 | +14-cal. row | |
87 | +~~~ | |
88 | + | |
89 | +- [Workout 18.2](https://games.crossfit.com/workouts/open/2018/2) | |
90 | + | |
91 | +~~~ | |
92 | +1-2-3-4-5-6-7-8-9-10 reps for time of: | |
93 | +Dumbbell squats | |
94 | +Bar-facing burpees | |
95 | + | |
96 | +Workout 18.2a | |
97 | +1-rep-max clean | |
98 | + | |
99 | +Time cap: 12 minutes to complete 18.2 AND 18.2a | |
100 | +~~~ | |
101 | + | |
102 | +-- [Workout 18.3](https://games.crossfit.com/workouts/open/2018/3) | |
103 | + | |
104 | +~~~ | |
105 | +2 rounds for time of: | |
106 | +100 double-unders | |
107 | +20 overhead squats | |
108 | +100 double-unders | |
109 | +12 ring muscle-ups | |
110 | +100 double-unders | |
111 | +20 dumbbell snatches | |
112 | +100 double-unders | |
113 | +12 bar muscle-ups | |
114 | + | |
115 | +Time cap: 14 minutes | |
116 | +~~~ | |
54 | 117 | \ No newline at end of file | ... | ... |