<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Titouan.Minier-Mancini</id>
	<title>air - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Titouan.Minier-Mancini"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Titouan.Minier-Mancini"/>
	<updated>2026-05-31T12:33:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52489</id>
		<title>File:Presentation finale NixOs.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52489"/>
		<updated>2022-03-18T14:57:25Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Titouan.Minier-Mancini uploaded a new version of File:Presentation finale NixOs.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52488</id>
		<title>File:Presentation finale NixOs.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52488"/>
		<updated>2022-03-18T12:49:27Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Titouan.Minier-Mancini uploaded a new version of File:Presentation finale NixOs.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Test_Infrastructures_NixOS_2021-2022&amp;diff=52486</id>
		<title>Test Infrastructures NixOS 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Test_Infrastructures_NixOS_2021-2022&amp;diff=52486"/>
		<updated>2022-03-18T11:50:08Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Démarrage==&lt;br /&gt;
&lt;br /&gt;
https://github.com/TitouanCao/projet-info5-carnets/blob/master/equipe.md&lt;br /&gt;
&lt;br /&gt;
==Carnet Titouan Minier Mancini==&lt;br /&gt;
&lt;br /&gt;
https://github.com/TitouanCao/projet-info5-carnets/blob/master/titouan-minier-mancini.md&lt;br /&gt;
&lt;br /&gt;
==Carnet Corentin Humbert==&lt;br /&gt;
&lt;br /&gt;
https://github.com/TitouanCao/projet-info5-carnets/blob/master/corentin-humbert.md&lt;br /&gt;
&lt;br /&gt;
==Carnet Corentin Sueur==&lt;br /&gt;
&lt;br /&gt;
https://github.com/TitouanCao/projet-info5-carnets/blob/master/corentin-sueur.md&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52483</id>
		<title>File:Presentation finale NixOs.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52483"/>
		<updated>2022-03-18T11:31:42Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Titouan.Minier-Mancini uploaded a new version of File:Presentation finale NixOs.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52478</id>
		<title>Projets 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52478"/>
		<updated>2022-03-18T10:53:48Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2020-2021]] | [[Projets]] | [[Projets 2022-2023]]&amp;gt;&amp;gt;&lt;br /&gt;
=INFO=&lt;br /&gt;
==INFO3==&lt;br /&gt;
&lt;br /&gt;
==INFO4==&lt;br /&gt;
===Projet Semestre S8===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: 10 Janvier 2021 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2021_2022. &#039;&#039;&#039;Cette fiche compte pour la note finale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Votre code&#039;&#039;&#039; pour doit être hébergé sur le gitlab et à l&#039;URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22 , vous utiliserez votre compte UGA.&lt;br /&gt;
&lt;br /&gt;
* Chaque projet doit avoir &#039;&#039;&#039;aux moins 2 dépôts git&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;Un pour les documents&#039;&#039;&#039; demandés rapport, présentation de pré-soutenante, de soutenance, flyer. &#039;&#039;&#039;Il sera appelé documents.&#039;&#039;&#039;&lt;br /&gt;
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. &lt;br /&gt;
&lt;br /&gt;
* Les &#039;&#039;&#039;documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)&#039;&#039;&#039;.  Le *rapport* sera aussi demandé en *anglais* (il fera la taille d&#039;un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;La note obtenue&#039;&#039;&#039; tiendra compte du &#039;&#039;&#039;nombre et de la qualité des commits&#039;&#039;&#039; observé dans &#039;&#039;&#039;vos dépots git et la branche master&#039;&#039;&#039; (or depot documents). La qualité comprend l&#039;intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n&#039;est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).&lt;br /&gt;
&lt;br /&gt;
* Il est fortement conseillé de suivre un &#039;&#039;&#039;développement incrémental&#039;&#039;&#039; qui permette d&#039;avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d&#039;une succession de &#039;&#039;&#039;démonstrateurs présentables séparément&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Vous devez faire aussi des &#039;&#039;&#039;schémas d&#039;architectures générales et/ou spéficiques, des diagrammes de séquence&#039;&#039;&#039;, et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.&lt;br /&gt;
&lt;br /&gt;
===Propositions de projets S8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1. [https://codimd.math.cnrs.fr/?next=%2Fs%2FB029qfT5Q Courriels à Suppression Programmée] : Michaël Périn&lt;br /&gt;
* 2. [[Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]], Didier DONSEZ.&lt;br /&gt;
* 3. [[Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]] (Suite 2022), Didier DONSEZ.&lt;br /&gt;
* 4. [[Algorithmes de géolocalisation d’objets par TDOA (Time Difference of Arrival)]] (suite), Didier DONSEZ.&lt;br /&gt;
* 5. [[Dashboard pour Overwatch]] Olivier Richard&lt;br /&gt;
* 6. [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 7. [[Bluetooth 5.1 Angle of Arrival based Indoor Localization]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 8. Intégration de composants de mesures environnementales (eau, air, ...) pour le [[Contribution au projet STM32Python|projet STM32Python]] à destination des lycéens: Didier DONSEZ&lt;br /&gt;
* 9. [[Air Quality Station]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 10. [[Floating Water Quality Station]] : Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
* 12. [[Testeur de terrain pour réseaux LoRaWAN privés et publics (TTN, CampusIoT et Helium)]] (suite 2021), Didier DONSEZ.&lt;br /&gt;
* 13. [[Géolocalition Indoor en LoRa 2.4GHz]], Didier DONSEZ.&lt;br /&gt;
* 14. [[RealWorld avec Dioxus]] (Rust + web), Olivier Richard&lt;br /&gt;
* 15. Poursuite projet 20-21 [[Rust Engine | Executeur de tâche en Rust]], Olivier Richard&lt;br /&gt;
* 16. Poursuite projet 20-21 [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard&lt;br /&gt;
* 17. Poursuite projet 19-20 [[Portail pour gestionnaire de taches]](react, Typescript), Olivier Richard&lt;br /&gt;
* 18. [[Paquets NIX pour Polytech]], Olivier Richard&lt;br /&gt;
* 19. [[Mini compilateur C pour mini CPU]], Olivier Richard&lt;br /&gt;
* 20. Mode jeu en réseau (Wifi/Bluetooth) pour [[TanksOfFreedom]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
Non affecté&lt;br /&gt;
* xx. [[Bibliothèque de décodeurs standards et d&#039;afficheurs Grafana pour objets connectés LoRaWAN]] : Didier DONSEZ&lt;br /&gt;
* xx. [[ASAC|Agriculture connectée]] en partenariat avec les projets collectifs IESE/MAT : Nicolas Palix&lt;br /&gt;
* xx. [[Faults In Linux]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
===Affectations===&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [https://air.imag.fr/index.php/Planned_Deletion_Emails Courriels à Suppression Programmée]&lt;br /&gt;
| CANIN CORENTIN,MONTEILLER JOSHUA,WAGNER SAMY&lt;br /&gt;
| Michaël PÉRIN&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/01/docs/-/blob/main/%20Courriels%20%C3%A0%20Suppression%20Programm%C3%A9e%20info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [https://air.imag.fr/index.php/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l%E2%80%99Internet_des_Objets_isol%C3%A9s# Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]&lt;br /&gt;
| CARMONA DAMIAN,DA COSTA TOM,WOZNY PIERRE-RAPHAEL&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/02/docs/-/blob/main/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l_Internet_des_Objets_isol%C3%A9s_info4_2021_2022.md# Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [https://air.imag.fr/index.php/Evaluation_du_toolkit_AI_de_STM32_pour_l%27analyse_de_l%27environnement_sonore Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]&lt;br /&gt;
| BACH THOMAS,BARBE FLORENT,SIMO YOKAM GEORGES HARRISSO&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/03/docs/ Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Midterm_presentation_3_2022.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [https://air.imag.fr/index.php/Dashboard_pour_Overwatch# Dashboard pour Overwatch]&lt;br /&gt;
| CAILLES MAXIME,REYGNER ETIENNE,VERRIER MARTIN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/05/docs/-/blob/main/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]]&lt;br /&gt;
| CHIOTTI MAEL,LAVIROTTE GAETAN,MOTTINO LORIS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/06/docs/-/tree/main Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [https://air.imag.fr/index.php/Contribution_au_projet_STM32Python  Intégration de composants de mesures environnementales (eau, air...) pour le projet STM32Python à destination des lycéens]&lt;br /&gt;
| GUIRGUIS MIRETTE,HADIBY CHEMSSEDDINE,MOHSEN HACHEM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/08/docs/-/blob/main/README.md#lorawan Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Floating Water Quality Station]]&lt;br /&gt;
| BRETON EMERIC,FAGHLOUMI AYMAN,VIALLET CAMILLE&lt;br /&gt;
| Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/info4_2021_2022_Fiche_suivi_projet.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/Soutenance%20mi-parcours%20Projet_S8.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [https://air.imag.fr/index.php/G%C3%A9olocalition_Indoor_en_LoRa_2.4GHz Géolocalition Indoor en LoRa 2.4GHz]&lt;br /&gt;
| BERNERD CLARA,JARDIN BAPTISTE,NGUYEN JUSTIN&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/13/docs/-/blob/main/Fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[RealWorld avec Dioxus]]&lt;br /&gt;
| IFAKIREN SAMI,MONTHE DJEUMOU BRICE,NGUYEN CLEMEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/14/docs Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [https://air.imag.fr/index.php/Rust_Engine Exécuteur de tâche en Rust]&lt;br /&gt;
| CHAPPAZ FLORIAN,DE OLIVEIRA VALENTIN,KURKLU FIKRET&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/Rust_Engine_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/rust_engine_mid_presentation.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [https://air.imag.fr/index.php/Portail_pour_gestionnaire_de_taches Portail Pour Gestionnaire De Taches]&lt;br /&gt;
| KACHA TOM,MAHAMAN NOURY ABDOURAHAMANE,MEIGNEN HUGO,ZHANG KEMING&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Fiche_De_Suivi_17.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Pr%C3%A9sentation-mi-parcours.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
| [[Paquets NIX pour Polytech]]&lt;br /&gt;
| CONJARD SAMUEL,FODOR GERGELY,PELISSE-VERDOUX CYPRIEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/18/docs/-/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[Mini compilateur C pour mini CPU]]&lt;br /&gt;
| CAPET THEO,POITEVIN EVE,ROYET JULIAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/19/docs/-/blob/main/C_compiler_for_MCPU_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| Mode jeu en réseau pour [[TanksOfFreedom]],&lt;br /&gt;
| ABECASSIS THOMAS,FOURNIER THOMAS,ZAFFUTO LUCA&lt;br /&gt;
| Nicolas Palix&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/20/docs/-/blob/main/fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier:  Octobre à Décembre 2021. Soutenance 24 Janvier 2022.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Choix des projet des projets INFO5 Réseaux 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Github/Trello&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Réseau de capteur de dichlorométhane]]&lt;br /&gt;
| Dorian BARET - Malone JULIENNE - Quentin CAMBUS&lt;br /&gt;
| [https://lesjoiesducode.fr/quand-notre-revue-de-sprint-se-passe-nickel Fiche]&lt;br /&gt;
| [https://github.com/Cambus-Quentin/DichloWan2021/blob/main/README.md git]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Création d&#039;un système pour localiser les élèves lors de courses d&#039;orientation]]&lt;br /&gt;
| Antoine Gitton, Gilles Mertens, Bertrand Baudeur&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_spec.pdf|Spécification paquets LoRa]]&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_backend.zip|Souces back-end]] - [[Media:2021_2022_INFO5_IOT_Orientation_carte.zip|Souces carte]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Harnais animalier permettant de suivre notre animal domestique]]&lt;br /&gt;
| Sami ELHADJI TCHIAMBOU, Corentin HUMBERT, Paul LAMBERT, Hugo PRAT CAPILLA&lt;br /&gt;
| [[Media:PSP_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Bicorpro Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[Géolocalisation et suivi des transports en commun]]&lt;br /&gt;
| Liam ANDRIEUX, Lucas DREZET, Roman REGOUIN&lt;br /&gt;
|&lt;br /&gt;
| [https://github.com/2021-2022-IoT-INFO5-G4 Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[Tracking des déplacements de joueurs sur un terrain]]&lt;br /&gt;
| Elias EL YANDOUZI, Lucas CHALOYARD&lt;br /&gt;
| [[Media:IOT_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Indoor-Shadow/ble-experiment Github Repo]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Beer Pong connecté]]&lt;br /&gt;
| Yael PARA, Théo TEYSSIER, Victor MALOD, Alexis LANQUETIN&lt;br /&gt;
| [[Media:BeerPong_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/McReaper/BeerPongLora Gitub Repo]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exposés points techniques 10&#039; - questions 5&#039;&lt;br /&gt;
* Nom Sujet&lt;br /&gt;
* ??? Python&lt;br /&gt;
* ??? MQTT&lt;br /&gt;
* ??? COAP&lt;br /&gt;
* 26/11/2021 - Elias El Yandouzi - Les différentes techniques de virtualisation&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignant responsable : [[user:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Convention des projets tutorés externes : Elise Didier.&lt;br /&gt;
&lt;br /&gt;
Calendrier: 27/01 (8H30-12H00) au 18/03.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: A voir dessus.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation et choix des sujets: 27/01 (8H30-12H00) en salle Polygone P206 (voir ADE)&lt;br /&gt;
&lt;br /&gt;
Démarrage : 27/01&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours (à définir) : ??/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance finale : 18/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. &lt;br /&gt;
&lt;br /&gt;
====Séances MPI====&lt;br /&gt;
&lt;br /&gt;
Voir ADE qui fait foi).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Soutenance intermédiaire S10 ====&lt;br /&gt;
Date: 18/02 Matin. Distantiel (sur Zoom). Créneaux de 10 minutes.&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de la soutenance intermédiaire est de vérifier si l&#039;équipe projet est en bon ordre de marche&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;équipe présentera en 5-6 transparents en 7 minutes.&lt;br /&gt;
* les équipiers et leurs rôles&lt;br /&gt;
* le contexte, le sujet et l&#039;objectif du projet&lt;br /&gt;
* l&#039;architecture du systèmes à réaliser&lt;br /&gt;
* les technologies utilisées&lt;br /&gt;
* le plan de travail (backlog, planning, ce qui est fait, ce qu&#039;il reste à faire ...)&lt;br /&gt;
* les difficultés (s&#039;il y a)&lt;br /&gt;
&lt;br /&gt;
Prévoyez du temps pour les questions-réponses (3 minutes max).&lt;br /&gt;
&lt;br /&gt;
Respectez bien les créneaux indiqués (par respect pour les autres équipes) et soyez présents un peu en avance dans la salle d&#039;attente.&lt;br /&gt;
&lt;br /&gt;
La présence des porteurs n&#039;est pas obligatoire.&lt;br /&gt;
&lt;br /&gt;
==== Soutenance finale S10 ====&lt;br /&gt;
Date provisoire: 18/03/2022 (8H30-12H00 et 13H30-17H00).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;La présence du(des) porteur(s) est obligatoire. Pensez à les prévenir bien à l&#039;avance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Durée: 30 minutes par équipe: présentation, questions/réponses et démonstration incluse.&lt;br /&gt;
&lt;br /&gt;
Les documents devront être en ligne sur le wiki (colonne Documents) la veille (ie avant le 17/03/2021 23:59:59 CET).&lt;br /&gt;
&lt;br /&gt;
La présentation est constituée des chapitres suivants:&lt;br /&gt;
* Rappel du sujet/besoin et cahier des charges&lt;br /&gt;
* Technologies employées&lt;br /&gt;
* Architecture techniques&lt;br /&gt;
* Réalisations techniques&lt;br /&gt;
* Gestion de projet (méthode, planning prévisionnel et effectif, gestion des risques, rôles des membres ...)&lt;br /&gt;
* Outils (collaboration, CD/CI ...)&lt;br /&gt;
* Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux), la répartition  des lignes de code et des commits en pourcentage entre les membres du projet ...)&lt;br /&gt;
* Conclusion (Retour d&#039;expérience)&lt;br /&gt;
* Transparent expliquant la démonstration&lt;br /&gt;
&lt;br /&gt;
L&#039;ensemble des documents doit être accessible depuis le tableau ci-dessus et dans chaque fiche de suivi.&lt;br /&gt;
&lt;br /&gt;
Le screencast (réalisé lors de la dernière répétition) sera rendu disponible via un partage caché (wetransfer, google drive …) dont le lien sera ajouté dans le devoir idoine sur Moodle et également envoyé par mail à votre tuteur.&lt;br /&gt;
&lt;br /&gt;
Le rapport final contient les mêmes chapitres que la présentation ainsi qu&#039;un glossaire et une bibliographie. Le rapport ne doit pas dépasser 15 pages (schémas et figures compris). Vous pourrez référencer les autres documents que vous avez produits au cours du projet (spécifications détaillées, algorithmes, conception d&#039;écrans ...).&lt;br /&gt;
&lt;br /&gt;
Le rapport final est au format Markdown et doit être placé dans un des dépôts Git de votre groupe/organisation.&lt;br /&gt;
&lt;br /&gt;
Votre fiche d&#039;auto-évaluation doit être déposée sur [https://im2ag-moodle.univ-grenoble-alpes.fr/course/view.php?id=99 Moodle]&lt;br /&gt;
&lt;br /&gt;
NB: le rapport technique listé dans la colonne Documents contient tout ce qui ne tient pas dans les 15 pages du rapport final : cahier des charges, diagrammes UML, enquêtes utilisateurs design UI, API, technologies employées (détail), plan de tests, term of services, conformance RPGD, audits/diagnostiques sécurité, MTBR, rapport de vulnérabilité, plan de charge, rapports de charge, manuel d&#039;installation …  : ça dépend un peu de la nature de votre projet.&lt;br /&gt;
&lt;br /&gt;
Conseil : 30 minutes c&#039;est très court alors répétez la soutenance auparavant ! Prévoyez des transparents supplémentaires en annexe pour répondre aux questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prière de rapporter au fablab le matériel emprunté juste après votre soutenance&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2021-2022&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Porteur(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Dépôt Git&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Soutenance intermédiaire&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Test d&#039;infrastructures avec NixOS]]&lt;br /&gt;
| HUMBERT CORENTIN, MINIER MANCINI TITOUAN (Chef de projet), SUEUR CORENTIN (Scrum master)&lt;br /&gt;
| Olivier RICHARD et Quentin GUILLETEAU&lt;br /&gt;
| [[Test Infrastructures NixOS 2021-2022|Fiche de suivi]]&lt;br /&gt;
| [[Rapport Test Infrastructures NixOS 2021-2022|Rapport final]] - [[Media:Presentation_finale_NixOs.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:Test infrastructures nixos Flyer.pdf|Flyer]] - [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:English_Poster_NixOS.pdf|Poster EN]] - [[Media:Pitch_NixOS-Compose.pdf|Pitch]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Plan dynamique d’un appartement connecté]]&lt;br /&gt;
| GRANGER OSCAR (Chef de projet), NOERIE SOPHIE, SARRE MARGAUX, SALMON AMAD, TEYSSIER THEO (Scrum master)&lt;br /&gt;
| Sybille CAFFIAU&lt;br /&gt;
| [[Projet INFO5 2022 - Plan d&#039;un appartement connecté | Fiche de suivi ]]&lt;br /&gt;
| [[Media:Rapport_de_projet_Plan_de_lappartement_connecte_DOMUS.pdf|Rapport final]] - [[Media:Presentation_finale_FR_DOMUS.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation de mi-parcours]] - [[Media:Poster_DOMUS_FR.pdf|Poster FR]] - [[Media:Poster_DOMUS_EN.pdf|Poster EN]] - [[Media:Pitch_Plan_dynamique_appartement_connecte.pdf|Pitch]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/plateforme-domus/appartementdynamique Dépot Git]&lt;br /&gt;
| [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Suivi de troupeaux (ovins, bovins) en zone montagneuse avec un réseau LoRaWAN : expérimentation dans la Matheysine]]&lt;br /&gt;
| GITTON ANTOINE, MALOD VICTOR, MUTEL MATHIS&lt;br /&gt;
| Fabrice FOREST&lt;br /&gt;
| [[PROJET-INFO5 2022 AgriLoRa|Fiche de suivi]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/-/snippets/237 Rapport final] [[Media:INFO5_AgriConnect_presentation_finale.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Flyer]] - [[Media:INFO5_AgriConnect_presentation_miparcours.pdf|Presentation de mi-parcours]] - [[Media:INFO5_AgriConnect_poster_fr.pdf|Poster FR]] - [[Media:INFO5_AgriConnect_poster_en.pdf|Poster EN]] - [[Media:INFO5_AgriConnect_pitch.pdf|Pitch]] - [https://drive.google.com/file/d/15bZaHscxOSBFGXu1xTfehl1Fqa0u_POn/view?usp=sharing Screencast]&lt;br /&gt;
| [https://gitlab.com/agrilora Dépot Git]&lt;br /&gt;
| [[Media:INFO5_AgriConnect_presentation_miparcours.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[FitSize]]&lt;br /&gt;
| GEITNER TEVA	, GONZALEZ JULES, PARA YAEL&lt;br /&gt;
| Fidèle Eya&#039;a&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [https://github.com/pfefitsize/DOCS/tree/main/Rapport Rapport final] - [[Media:presentation_fitsize.pdf|Presentation finale FR]] - [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]] - [[Media:poster_fitsize.pdf|Poster EN]] - [[Media:pitch_fitsize.pdf|Pitch]] - [[Media:rapport_technique.pdf|Rapport technique]]&lt;br /&gt;
| [https://github.com/pfefitsize Dépot Git]&lt;br /&gt;
| [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[GenderedNews]]&lt;br /&gt;
| AGUIAR MATHILDE (Chef de projet), HAJJI OUMAIMA (SCRUM Master), SIDIBE ROKIATOU DITE ROSE&lt;br /&gt;
| François PORTET, Gilles BASTIN, Ange RICHARD&lt;br /&gt;
| [[PROJET-INFO5 2022 GenderedNews|Fiche de suivi]]&lt;br /&gt;
| [[Media:Genderednews_rapport_.pdf|Rapport final]] - [[Media:Soutenance_finale_genderednews_.pdf|Présentation finale FR]] - [[Media:GenderedNews_final_presentation_.pdf|Final Presentation EN]] - [[Media:flyer_genderednews.pdf|Flyer]] - [[Media: Soutenance_interm_genderednews.pdf|Presentation de mi-parcours]] - [[Media:Poster-genderednews-fr.pdf|Poster FR]] - [[Media:Poster-genderednews-en.pdf|Poster EN]] - [[Media: Pitch_genderednews.pdf | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/getalp/genderednews Dépot Git]&lt;br /&gt;
| [[Media: Soutenance_interm_genderednews.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Système d&#039;analyse de traces sportives]]&lt;br /&gt;
| HERQUE ERIC (Scrum Master), VACHERIAS GUILLAUME (Chef de projet)&lt;br /&gt;
| Vivien QUEMA&lt;br /&gt;
| [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive fiche suivis | Fiche de suivi]]&lt;br /&gt;
| [[Media:Rapport_Final_systeme_analyse_trace_sportive.pdf|Rapport final]] - [[Media:Presentation_Final_systeme_analyse_trace_sportive.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation de mi-parcours]]- [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster FR]] - [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster EN]] - [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive pitch | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/vacherig/systeme-analyse-de-traces-sportives Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Qualité de l&#039;Air et Santé des Populations]]&lt;br /&gt;
| BAUDEUR BERTRAND (Scrum Master), MERTENS GILLES (Chef)&lt;br /&gt;
| Marie-Laure AIX&lt;br /&gt;
| [[Qualité de l&#039;Air et Santé des Populations | Fiche de suivi]]&lt;br /&gt;
| [https://github.com/Air-Quality-LoRa/docs/blob/main/README.md Rapport final] - [[Media:presentation_finale_qualite_air.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-Air-Quality-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/Air-Quality-LoRa Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Artiphonie(saison 3)]] extension de la [[Artiphonie (saison 2)]]&lt;br /&gt;
| BUISINE JULIEN (Chef de Projet), ELHADJI TCHIAMBOU SAMI, LAMBERT DAPHNE (Scrum Master), LAMBERT PAUL&lt;br /&gt;
| Olivier Richard, Estelle Gillet Perret&lt;br /&gt;
| [[Media: JournalDeBord_2022.pdf|Fiche de suivi]]&lt;br /&gt;
| [[Media:Rapport_final.pdf|Rapport final]] - [[Media:Présentation_finale_-_Artiphonie.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:Poster_Artiphonie_FR.pdf|Flyer]] - [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]] - [[Media:Poster_Artiphonie_FR.pdf|Poster FR]] - [[Media:Poster_Artiphonie_-_LAMBERT,_BUISINE,_ELHADJI_TCHIAMBOU.pdf|Poster EN]] - [[Media: Pitch_Artiphonie_2022.pdf|Pitch Artiphonie 2022]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/artiphonie/projet-info5-21-22 Dépot Git]&lt;br /&gt;
| [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[Quark Project]] &lt;br /&gt;
| CHALOYARD LUCAS, EL YANDOUZI ELIAS&lt;br /&gt;
| Olivier Gruber&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:Quark_defense.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Soutenance QuarkV3.pdf|Presentation de mi-parcours]] - [[Media:POSTER QUARK.pdf|Poster FR]] - [[Media:POSTER QUARK.pdf|Poster EN]] - [[Media:ProjetQuark Pitch.pdf|Pitch]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Soutenance QuarkV3.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Jorigine]]&lt;br /&gt;
| BLANQUET ANTOINE (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;), LANQUETIN ALEXIS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), MALECOT ETHAN, PRAT-CAPILLA HUGO&lt;br /&gt;
| Sylvain Delangue&lt;br /&gt;
| [[Media:Fiche_Suivi_Jorigine_Grp10.pdf|Fiche de Suivi]]&lt;br /&gt;
| [[Media:Rapport_Jorigine_Grp10.pdf|Rapport Final]] - [[Media:Presentation_finale_jorigine_2022.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:JorigineFlyer.pdf|Flyer]] - [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:PosterJorigine2022_vfinal.pdf|Poster EN]] - [[Media:Pitch_Jorigine_grp10.pdf|Pitch en 180 secondes]] - [https://drive.google.com/file/d/1fUGc38NtNAAjlsfBPqPdwKDNI5l7g1vs/view?usp=sharing Screencast]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Contributions open source au projet EdCampus|EdCampus]] &lt;br /&gt;
| ANDRIEUX LIAM, COSOTTI KEVIN, DREZET LUCAS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), REGOUIN ROMAN (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;)&lt;br /&gt;
| Anthony GEOURJON&lt;br /&gt;
| [https://c.tenor.com/x8v1oNUOmg4AAAAd/rickroll-roll.gif Fiche]&lt;br /&gt;
| [[Rapport EDCampus 2021-2022|Rapport final]] - [https://air.imag.fr/images/2/23/Soutenance_finale_-_EDCampus.pdf Presentation finale FR] - [https://air.imag.fr/images/5/5a/Soutenance_finale_EN_-_EDCampus.pdf Final Presentation EN] - [https://c.tenor.com/x8v1oNUOmg4AAAAd/rickroll-roll.gif Flyer] - [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation de mi-parcours] - [https://air.imag.fr/images/0/00/PosterFREDCampus20212022.pdf Poster FR] - [https://air.imag.fr/images/d/df/EDCampus_-_2021_2022.pdf Poster EN] - [https://air.imag.fr/images/d/d5/PitchEDCampus20212022.pdf Pitch]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus Dépot Git]&lt;br /&gt;
| [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Contributions open source au projet LabnBook|LabnBook]] &lt;br /&gt;
| CIRSTEA PAUL, SOULARD	ALEXANDRE (Chef de projet), TONDEUX EMILIE (Scrum master), YUNG	KEVIN&lt;br /&gt;
| Anthony GEOURJON, Cédric DHAM&lt;br /&gt;
| [[PROJET-INFO5 2022 LabNbook|Fiche de suivi]]&lt;br /&gt;
| [https://github.com/AlexandreSoulard/Groupe-LabnBook/blob/main/rapportLabNbook.md Rapport final] - [[Media:LabnBook_Presentation_finale.pdf|Presentation finale FR]] - [[Media:LabNbook_flyer.pdf|Flyer]] - [[Media:LabnBook.pdf|Presentation de mi-parcours]] - [[Media:Poster_GroupLabnBook_Cirstea_Soulard_Tondeux_Yung.pdf|Poster EN]] - [https://drive.google.com/file/d/102KIVqH-wFF7UYggyVtJiUww-lcN7oXY/view?usp=sharing Pitch 180 secondes] - [https://drive.google.com/file/d/1eWU090ieX3dC8vweB4UKzwfu9E7jk1vI/view?usp=sharing Screencast]&lt;br /&gt;
| [https://github.com/AlexandreSoulard/Groupe-LabnBook Dépot Git]&lt;br /&gt;
| [[Media:LabnBook.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[Green collect]]&lt;br /&gt;
| BARET	DORIAN, CAMBUS QUENTIN (Chef de projet), JULIENNE MALONE, MALLEN GUILLAUME (Scrum master)&lt;br /&gt;
| Bernard TOURANCHEAU&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/project_managment/Fiche%20de%20suivis.pdf Fiche]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/report/CR-Final-Report.md Rapport final] - [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20final.pdf Presentation finale FR] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation de mi-parcours] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [https://github.com/GreenCollects/docs/blob/main/report/PosterEN.pdf Poster EN] - [https://github.com/GreenCollects/docs/blob/main/report/CR-MPI-seance2.md Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/GreenCollects Dépot Git]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sujets non choisis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[LoRaWAN Roaming]] avec [[Chirpstack]], [[TheThingStack]] et [[Actility]] pour le projet [https://gricad-gitlab.univ-grenoble-alpes.fr/thingsat/public/-/blob/master/cubesat_mission/README.md Thingsat]: Didier DONSEZ, Olivier ALPHAND.&lt;br /&gt;
# [[Contributions logicielles au projet RIOT OS pour le New Space]] : Francois-Xavier MOLINA, Olivier ALPHAND, Didier DONSEZ&lt;br /&gt;
# [[Réseaux social d&#039;organisation de sortie (saison 2)]] refonte [[Réseaux social d&#039;organisation de sortie]], Olivier Richard&lt;br /&gt;
# [[Experiment Process Management]], Olivier Richard&lt;br /&gt;
# [[Language Server for Visual Studio]]: Olivier Gruber&lt;br /&gt;
# ABANDONNé [[Réseau d&#039;Alumni de formations]] (à confirmer), Gérard POLLIER ([https://disrupt-campus.univ-grenoble-alpes.fr/design-factory-grenoble/ Design Factory Grenoble])&lt;br /&gt;
# [[Evaluation du kit IA embarqué Wio Terminal]]: Louis CLOSSON, Didier DONSEZ (sous réserve de réception du matériel commandé)&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Test_infrastructures_nixos_Flyer.pdf&amp;diff=52477</id>
		<title>File:Test infrastructures nixos Flyer.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Test_infrastructures_nixos_Flyer.pdf&amp;diff=52477"/>
		<updated>2022-03-18T10:53:21Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Nixos-kubernetes-architecture.png&amp;diff=52463</id>
		<title>File:Nixos-kubernetes-architecture.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Nixos-kubernetes-architecture.png&amp;diff=52463"/>
		<updated>2022-03-18T10:06:38Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Titouan.Minier-Mancini uploaded a new version of File:Nixos-kubernetes-architecture.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Rapport_Test_Infrastructures_NixOS_2021-2022&amp;diff=52401</id>
		<title>Rapport Test Infrastructures NixOS 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Rapport_Test_Infrastructures_NixOS_2021-2022&amp;diff=52401"/>
		<updated>2022-03-17T22:57:59Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Rappel du sujet et cahier des charges=&lt;br /&gt;
&lt;br /&gt;
L’objectif est d’expérimenter et de manipuler une technologie récente : NixOS et le projet de recherche NixOS-Compose. Nix est un outil de gestion de paquets (bibliothèques, morceau logiciel offrant certaines fonctionnalités), et NixOS est un système d&#039;exploitation Linux qui utilise Nix dans son architecture. Nous parlerons plus en détails des différentes technologiques manipulées dans la prochaine partie.&lt;br /&gt;
&lt;br /&gt;
Nos expérimentations ont consistées à déployer trois projets différents : Kubernetes, ELK et Hadoop en utilisant l&#039;outil NixOS-Compose. La partie la plus importante n&#039;étant pas de déployer une version aboutie et complête pour chacun de projets mais de documenter nos expériences pour fournir des retours utilisateurs permettant l&#039;amélioration de NixOS-Compose.&lt;br /&gt;
&lt;br /&gt;
=Technologies employées=&lt;br /&gt;
&lt;br /&gt;
==Nix==&lt;br /&gt;
&lt;br /&gt;
Nix est un gestionnaire de paquets et un langage fonctionnel qui se différencie de l&#039;approche classique avec sa grande reproductibilité qu&#039;il trouve incompatible avec le Filesystem Hierarchy Standard. Il dénonce l&#039;enfer des dépendances que l&#039;on retrouve avec cette approche où l&#039;on ne peut pas déterminer les versions utilisées. Nix repose sur son store, où il stocke toutes les dérivations pour chaque paquet. Ces dérivations contiennent des informations sur toutes les dépendances (d&#039;autres dérivations) et les instructions de build. Le nom de la dérivation indique le nom du paquet et un hash qui la rend unique mais surtout qui l&#039;identifie : une même dérivation produira toujours la même sortie.&lt;br /&gt;
&lt;br /&gt;
Avec cette approche, Nix permet plusieurs choses, notamment :&lt;br /&gt;
* La reproductibilité due au déterminisme des dérivations&lt;br /&gt;
* La possibilité d&#039;utiliser plusieurs versions d&#039;un même paquet en parallèle&lt;br /&gt;
* Comme le nom de la dérivation l&#039;identifie, il est possible de mettre en cache la sortie et la récupérer sans avoir à la reconstruire&lt;br /&gt;
&lt;br /&gt;
Nixpkgs est un répertoire en ligne contenant de nombreux paquets (80 000 actuellement) construits à partir de dérivations fournies par la communauté et accessibles à tous.&lt;br /&gt;
&lt;br /&gt;
==NixOS==&lt;br /&gt;
&lt;br /&gt;
NixOS est une distribution GNU/Linux reposant sur Nix en tant que gestionnaire de paquets mais également de gestionnaire de configuration. L&#039;ensemble du système et toutes les configurations sont considérés comme des dérivations. Cela permet entre autres de faire des restorations du système à des versions précédentes simplement, chaque modification du système occasionne la création d&#039;une nouvelle version atomique. Par ailleurs, le système d&#039;exploitation hérite ainsi de la propriété déterministe et reproductible que Nix offre.&lt;br /&gt;
&lt;br /&gt;
NixOS-test est une librairie de test qui permet, à partir d&#039;un ensemble de fichiers de configuration Nix, de fournir une interface python pour manipuler ces configurations sur une/des machines virtuelles avec QEMU.&lt;br /&gt;
&lt;br /&gt;
==NixOS-Compose==&lt;br /&gt;
&lt;br /&gt;
NixOS-Compose est un projet de l’équipe Datamove qui étend l’utilisation de NixOS vers d’autres supports que les machines virtuelles, comme notamment la plateforme Grid&#039;5000 et des solutions de conteneurs comme Docker.&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un orchestrateur de conteneurs permettant de déployer, mettre à l&#039;échelle et surveiller des applications conteneurisées sur un cluster de machines. Développé en Go et rendu open source en 2015 par Google inspiré de leur solution privée Borg, Kubernetes est maintenant l&#039;outil central du monde du DevOps dans l&#039;industrie. Il apporte une couche d&#039;abstraction au dessus d&#039;un datacenter, dont la mise en place a également été facilitée par le cloud, pour fournir une plateforme de déploiement fortement disponible aux développeurs. Kubernetes dispose également d&#039;un large écosystème d&#039;outils et plugins améliorant différents aspects de son utilisation : routage, monitoring, sécurité, gitops, déploiements (vert/bleu, canary...), serverless etc.&lt;br /&gt;
    &lt;br /&gt;
En cette qualité, Kubernetes est une plateforme de choix dans le cadre d&#039;expériences nécessitant notamment un certain nombre de services ou applications, comme dans le cas d&#039;architectures microservices par exemple. De plus, malgré ses nombreux atouts, Kubernetes est une solution souvent difficile et longue à mettre initialement en place pour cause d&#039;une configuration complexe liée à l&#039;architecture microservice de la plateforme elle-même. (Il faut reconnaître qu&#039;avec le cloud il est maintenant très simple de déployer un cluster Kubernetes, Terraform est notamment un concurrent potentiel de NixOS-Compose) &lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, être en mesure de fournir un cluster Kubernetes de la taille voulue, simplement, rapidemment et de manière reproductible, est un objectif très intéressant, non seulement pour l&#039;aspect apprentissage mais également pour son utilisation dans le contextes d&#039;expériences scientifiques avec NixOS-Compose. Kubernetes est en lui même un solution qui permet une forte reproductibilité au niveau des déploiements internes, mais c&#039;est la phase de déploiement des machines et de bootstrap du cluster qui manque cette qualité, et c&#039;est là que nous nous positionnons.&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ELK&amp;quot; est l&#039;acronyme de trois projets open source : Elasticsearch, Logstash et Kibana.&lt;br /&gt;
&lt;br /&gt;
===Elasticsearch===&lt;br /&gt;
&lt;br /&gt;
Elasticsearch est un outil de recherche et d&#039;analyse de données fonctionnant de manière distribuée et basé sur [Apache Lucene](https://lucene.apache.org/). Créé par Shay Banon en 2004, au fil des années, Elasticsearch n&#039;a cessé d&#039;évoluer et aujourd&#039;hui c&#039;est l&#039;outil de référence pour réaliser une recherche performante sur une large quantité de données.&lt;br /&gt;
&lt;br /&gt;
Technologiquement parlant, il s&#039;agit d&#039;une base de données programmée en Java et spécialisée dans la recherche et l&#039;indexation de documents. Si Elasticsearch est aussi performant c&#039;est grâce à son fonctionnement en mode distribué. La tâche de recherche est exécutée en parallèle par plusieurs nœuds Elasticsearch, ce qui améliore la réactivité du système. Elasticsearch a aussi la force d&#039;être facilement configurable et mis à l&#039;échelle.&lt;br /&gt;
&lt;br /&gt;
===Logstash===&lt;br /&gt;
&lt;br /&gt;
Logstash est un outil écrit en Java et en Ruby permettant de **centraliser des traces** provenant de plusieurs systèmes, de les analyser et de les stocker. Conceptuellement, Logstash peut être vu comme un &amp;quot;pipe&amp;quot; où les données rentrent d&#039;un bout, et sont traitées avant de ressortir de l&#039;autre bout. Logstash est plus qu&#039;un simple &amp;quot;pipe&amp;quot; puisqu&#039;il peut prendre une multitude de sources différentes en entrées et renvoyées les données traitées vers différentes sorties. Il sert généralement à filtrer/analyser des messages avant de les envoyer à Elasticsearch qui va, lui, se charger de les stocker et de les indexer.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
&lt;br /&gt;
Kibana est un outil permettant la visualisation de données écrit en JavaScript est la dernière composante majeure de la stack ELK. Il est similaire à d&#039;autres outils de visualisation tel que [Grafana](https://grafana.com/), mais a la particularité d&#039;être spécialisé pour une utilisation au sein de la stack ELK. Le rôle de Kibana est donc de récupérer les données indexées par Elasticsearch et de les rendre visuellement exploitables pour un humain.&lt;br /&gt;
&lt;br /&gt;
===Beats===&lt;br /&gt;
&lt;br /&gt;
Bien que la stack ELK soit l&#039;acronyme des trois projets majeurs dont nous avons parlé précédemment, ELK est consistué d&#039;un autre projet nommé Beats. Il y a d&#039;ailleurs quelques discussions autour du renommage de la stack ELK en stack BELK pour inclure le projet Beats. Beats est une plateforme réunissant une multitude de petits outils permettant d&#039;expédier des données vers Logstash ou Elasticsearch. Chaque outil vise un type de données spécifiques. On retrouvera par exemple l&#039;outil Filebeat pour l&#039;expédition de traces systèmes, Metricbeat pour les métriques, Packetbeat pour le réseau ou encore Heartbeat pour le monitoring. Cette liste est non exhaustive, il existe plein d&#039;autres beats, chacun spécialisé pour des données de nature différente.&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Hadoop est un framework open source Java destiné à faciliter la création d&#039;applications distribuées (au niveau du stockage des données et de leur traitement) et scalables permettant aux applications de travailler avec des milliers de nœuds et des masses importantes de données. Ainsi chaque nœud est constitué de machines standard regroupées en grappe. Hadoop fonctionne avec de nombreux modules ou services conçus selon l&#039;idée que les pannes matérielles sont fréquentes et qu&#039;en conséquence elles doivent être gérées automatiquement par le framework. Cet aspect de redondance n&#039;est pas traité dans ce projet.&lt;br /&gt;
&lt;br /&gt;
=Architectures techniques=&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture de Kubernetes est distribuée sous forme de microservices avec plusieurs composants, chacun responsable d&#039;une certaine tâche pour contrôler le cluster et les applications qui y vivent. Tout d&#039;abord, les composants sont à séparer en deux groupes: le control plane, tête pensante du cluster, et les composants des nodes, responsables de faire fonctionner les conteneurs. Une machine est dite nœud maître dès lors qu&#039;elle est membre du control plane (elle exécute les composants du control plane, seule ou en communication avec les autres maîtres). Une machine peut à la fois être maître et exécuter des conteneurs (control plane et *Node*), ce n&#039;est toutefois pas recommandé au vu de l&#039;importance du rôle du control plane.&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-kubernetes-architecture.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://kubernetes.io/docs/concepts/overview/components&lt;br /&gt;
&lt;br /&gt;
===Control plane===&lt;br /&gt;
&lt;br /&gt;
Le control plane est un ensemble de composants responsable du bon fonctionnement du cluster. Ces composants sont présents sur chaque nœud maître du cluster. Dans le cas d&#039;un cluster à haute disponibilité (plusieurs maîtres), ces composants fonctionnent de manière distribuée, et nécessitent un load balancer.&lt;br /&gt;
&lt;br /&gt;
Le composant principal est l&#039;apiserver, qui est donc une API permettant la communication entre les différents composants. L&#039;apiserver est le seul composant avec qui les autres composants communiquent. Ensuite le controller manager, regroupe les différents contrôleurs dont le rôle est de gérer les resources qui leur corresponde (le contrôleur des *Pod* veille au bon fonctionnement des Pod, pareil pour les ReplicasSet, Endpoint, Node...). Le scheduler est responsable de l&#039;attribution des resources (machines) aux applications (Pod, Deployment...) selon les disponibilités et besoins. Enfin, etcd est une base de données distribuée de configuration qui conserve l&#039;état du cluster. C&#039;est une solution tiers et elle peut être exécutée sur un cluster à part des nœuds maître.&lt;br /&gt;
&lt;br /&gt;
===Node===&lt;br /&gt;
&lt;br /&gt;
Pour Kubernetes, un Node (ou nœud en français) est l&#039;abstraction d&#039;une machine (réelle ou virtuelle). Chaque machine représentant un Node doit faire tourner trois services: le kubelet, le kube-proxy et un environnement d&#039;exécution de conteneurs.&lt;br /&gt;
&lt;br /&gt;
Le kubelet est véritablement le responsable des conteneurs en pratique, il est le contremaître obéissant au control plane, chargé de faire appliquer ses directives. Le kubelet ordonne à l&#039;environnement d&#039;exécution de conteneurs et fait ses rapports de situation au control plane. Le kube-proxy est chargé de mettre en place les règles de réseau (iptables ou IPVS) pour veiller au bon fonctionnement notamment des Service et Endpoint. Enfin, l&#039;environnement d&#039;exécution de conteneurs peut être n&#039;importe quel solution respectant la CRI (container runtime interface) comme containerd ou CRI-O.&lt;br /&gt;
&lt;br /&gt;
Non-obligatoire mais également souvent présent est un plugin de CNI (container network interface) qui met en place le plan de réseau exigé par Kubernetes (à savoir un réseau où les Pod disposent d&#039;une adresse IP et peuvent communiquer entre eux) à ne pas confondre avec le réseau connectant les machines entre elles. On peut citer notamment Calico, Weave et celui qui est utilisé dans notre projet est Flannel (moins puissant). Parmi les addons on retrouve également un serveur DNS (nécessaire au bon fonctionnement des Services), anciennement kube-dns et maintenant plutôt coredns.&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne ELK, il ne s&#039;agit non pas d&#039;un système ou d&#039;un outil en lui-même mais de la collaboration d&#039;une multitude d&#039;outils open source ayant chacun leurs particularités et un fonctionnement qui leur est propre. Pour visualiser plus aisément l&#039;intéraction entre les différentes composantes de la stack ELK, on pourra s&#039;intéresser à l&#039;exemple suivant:&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-elk-architecture.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://fr.wikipedia.org/wiki/Logstash&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;exemple ci-dessus, on distingue trois sources indépendantes: MediaWiki, des services Node.js et Hadoop. Chacune des trois sources envoie des données à une instance différente de Logstash. Les instances de Logstash ne communiquent pas entre elles, toutefois, une fois le traitement des données effectué, chaque instance envoie ses données à un nœud Elasticsearch. Dans le schéma ci-dessus, les trois nœuds font partie d&#039;un même cluster, ce qui permet donc la mise en commun de l&#039;intégralité des données pouvant ensuite être visualisées via Kibana.&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Hadoop est un environement distribué de par son stockage mais également son traitement de données. C&#039;est une suite de solution open source pour le big data. The goal is to instanciate the different kind of nodes from one of the two possible implementation below, and make them communicate to run a job on the cluster.&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-hadoop-architecture-1.png|center]]&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-hadoop-architecture-2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://www.geeksforgeeks.org/hadoop-introduction&lt;br /&gt;
&lt;br /&gt;
=Réalisations techniques=&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
L&#039;expérience avec Kubernetes consiste avant tout à déployer un cluster Kubernetes fonctionnel, utilisable comme n&#039;importe quel autre cluster. Pour cela nous nous reposons donc tout d&#039;abord sur la dérivation de Kubernetes sur nixpkgs. Ensuite nous utilisons d&#039;autres outils comme Helm et Istio pour enrichir l&#039;expérience.&lt;br /&gt;
&lt;br /&gt;
La dérivations de Kubernetes propose la version 1.21.6, avec certains aspects de configuration qui sont cependant déprécié (notamment au niveau des ports uti lisés et des flags devenus déconseillés) car non mis à jour depuis 4 ans. La configuration de cette dérivation peut se faire de deux manière: en précisant la configuration de tous les composants (cf. partie II), ou en précisant uniquement le rôle de la machine. Avec la première approche non pouvons avoir un contrôle complet sur la configuration alors que dans le second tout est plus abstrait. En revanche la deuxième manière est plus simple et plus claire. Nous avons opté pour la seconde en ajoutant un certain nombre d&#039;options supplémentaires. &lt;br /&gt;
&lt;br /&gt;
La composition de l&#039;expérience commence avec la description des machines ainsi que leur rôle dans le cluster. Nous utilisons généralement un nœud maître et deux nœuds de travail, sachant qu&#039;il n&#039;est pas possible actuellement de déployer un cluster à haute disponibilité dont le bootstrap des certificats est automatisé dans le déploiement, autrement il faut le faire manuellement ce qui est hors de question dans le cadre d&#039;un environnement reproductible.&lt;br /&gt;
&lt;br /&gt;
Ensuite nous disposons d&#039;une fonction pour générer la configuration des machines du cluster. Cette configuration contient donc le rôle du node mais également des ajustements sur les ports et addresses IP de certains composants pour permettre la bonne communication des composants entre eux.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons également une machine supplémentaire hors-cluster, c&#039;est une serveur NFS, une solution parmis d&#039;autres pour fournir au cluster un moyen de créer des volumes (PersistentVolume) accessibles par tous les nœuds. Ce serveur est monté sur toutes les machines, ce qui permet à l&#039;expérimentateur de soit utiliser des volumes NFS, soit des volumes locaux pour plus de simplicité.&lt;br /&gt;
&lt;br /&gt;
Avec Istio nous pouvons suivre le guide d&#039;exemple présent dans la documentation pour déployer une application microservice et vérifier le bon fonctionnement du cluster.&lt;br /&gt;
&lt;br /&gt;
Cette composition est fonctionnelle pour la plateforme de nixos-test et nixos-test-driver, toutes deux reposant sur QEMU, et également sur Grid&#039;5000 où elle dévoile son vrai potentielle car les machines sont réelles et véritablement utilisables pour administrer le cluster. Elle n&#039;est pas fonctionnelle sur Docker pour des raisons propres à NixOS-Compose qui ne permettent pas de modifier les noms d&#039;hôtes (/etc/hosts), ce qui empêche la dérivation de fonctionner correctement.&lt;br /&gt;
&lt;br /&gt;
Certains éléments de bootstrap se révèlent être difficilement applicable lors du déploiement avec NixOS-Compose et nous reposons donc en partie sur un script d&#039;initialisation du cluster. Ce script est créé dans la composition et accessible dans le path. Il redémarre les composants éventuellement échoués et affiche une commande à l&#039;utilisateur permettant d&#039;ajouter des machines au cluster, cette étape n&#039;tant pas automatisable simplement (l&#039;approche est la même que kubeadm).&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
Pour ce qui est de l&#039;expérience ELK, une grande partie du temps a été passée à comprendre la stack ELK et ses différentes composantes. Pour réaliser une composition fonctionnelle via NixOS-Compose, nous nous sommes basés sur une composition pré-existante écrite pour NixOS-Tests. La composition a ensuite été modifiée de manière à fonctionner correctement pour les différents modes de déploiement (Docker, Grid&#039;5000).&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Un paquet hadoop existe deja et il s&#039;agit principalement d&#039;en faire sa configuration. Plusieurs configurations différentes ont été réalisées, une minimale afin de comprendre le fonctionnement général, puis une se servant de yarn afin de maitriser la multiplicité des nœuds de travail.&lt;br /&gt;
    &lt;br /&gt;
Dans la composition minimale nous avons pu mettre, comme le premier shéma de la partie précédente, créer un node de front (namenode) ainsi qu&#039;un datanode fonctionnant avec le filesystem.&lt;br /&gt;
&lt;br /&gt;
=Gestion de projet=&lt;br /&gt;
&lt;br /&gt;
Ce projet relève en partie d’un travail de recherche au vu du manque de documentation, du développement toujours en cours de l’OS et de sa faible utilisation de la part de la communauté d’utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Une importante partie de ce projet repose sur la communication entre notre équipe et l’équipe Datamove pour recevoir des consignes et fournir des retours. Pour fluidifier ces échanges nous avons organisé des réunions régulières et mis en place des solutions de communication en permanence à travers des outils comme Telegram et Zoom pour les réunions.&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place deux types de réunions : des réunions quotidiennes avec un membre de l’équipe Datamove et des réunions hebdomadaires en équipe complète. Les réunions quotidiennes servent principalement à partager l’avancement et exprimer des éventuels blocages. Les réunions hebdomadaires visent davantage à faire un point global et à définir les prochaines étapes.&lt;br /&gt;
&lt;br /&gt;
==Planification==&lt;br /&gt;
&lt;br /&gt;
Pour ce qui est de la planification, il nous paraissait essentiel pour un projet comme le nôtre dans lequel énormément de temps est alloué à l&#039;apprentissage d&#039;une technologie plutôt qu&#039;à la production réelle de code de définir une roadmap.&lt;br /&gt;
&lt;br /&gt;
Cette roadmap avait pour but de planifier nos actions sur l’ensemble de la durée du projet. Nous avons fait évoluer la roadmap au fur et à mesure de notre avancement réel. Celle-ci nous a permis non seulement de travailler avec un objectif en tête mais également de partager ces objectifs avec l’équipe Datamove.&lt;br /&gt;
&lt;br /&gt;
==Organisation du travail==&lt;br /&gt;
&lt;br /&gt;
Au commencement de projet, notre objectif à tous était de se former rapidement sur Nix afin de comprendre l&#039;étendu des possibilités de l&#039;outil NixOS-Compose et de commencer à le tester.&lt;br /&gt;
&lt;br /&gt;
Notre première tâche a consisté à écrire une composition k3s compatible avec NixOS-Compose de manière à découvrir la puissance de l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous sommes chacun parti sur un projet différent dans l&#039;optique de fournir trois expériences utilisateurs distinctes. La répartition des projets était la suivante :&lt;br /&gt;
* Titouan Minier Mancini : Kubernetes&lt;br /&gt;
* Corentin Humbert : Stack ELK&lt;br /&gt;
* Corentin Sueur : Hadoop&lt;br /&gt;
&lt;br /&gt;
Nous avons donc progressé chacun de notre côté sur nos projets respectifs tout en restant en contact constant de manière à éviter de passer trop temps bloqué sur une partie du projet. La communication a été impérative pour un tel projet au vu de sa complexité et du temps dont nous disposions pour le mener à terme.&lt;br /&gt;
&lt;br /&gt;
==Suivi du travail==&lt;br /&gt;
&lt;br /&gt;
En parallèle nous avons suivi la rédaction de carnets de route individuels où nous expliquons toutes nos actions dans la journée, avec un maximum de détails notamment sur les erreurs. L’objectif est de permettre aux membres de l’équipe Datamove de suivre notre avancée individuelle et d’aider sur les problèmes techniques éventuels. Ces carnet doivent permettre un maximum la reproductibilité des situations pour faciliter la correction.&lt;br /&gt;
&lt;br /&gt;
=Outils de travail=&lt;br /&gt;
&lt;br /&gt;
Au cours de notre projet, nous avons été amenés à utiliser de nombreux outils nous permettant d’échanger entre nous et avec l’équipe Datamove que ce soit pour poser des questions ou partager nos productions.&lt;br /&gt;
&lt;br /&gt;
* Communication écrite/orale :&lt;br /&gt;
** Au sein du groupe : Discord&lt;br /&gt;
** Avec l’équipe Datamove : Telegram, BBB, Zoom&lt;br /&gt;
* Échanges d’informations :&lt;br /&gt;
** Google docs, CodiMD&lt;br /&gt;
* Stockage des documents et du code produit :&lt;br /&gt;
** Dépôt GitLab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Métriques logiciels=&lt;br /&gt;
&lt;br /&gt;
Ce projet ne rentre pas dans le cadre d&#039;une production logicielle, la quantité de code produit est faible car le travail est avant tout un travail de compréhension et de recherche. Nous avons produit un fichier de composition pour chaque pile logicielle, ce qui correspond à une centaine de lignes chacune. Le temps était principalement accordé à l&#039;essai, l&#039;avancement à tâtons pour explorer les différentes options disponibles, et à la compréhension du fonctionnement de NixOS-Compose.&lt;br /&gt;
&lt;br /&gt;
Nous avons tous travaillé 35 heures par semaine, à l&#039;exception des première semaines en parallèle avec le projet ECOM où Titouan et Corention Humbert n&#039;étaient plus disponibles qu&#039;à hauteur de 21 à 28 heures par semaine.&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a avant tout permis de découvrir l&#039;environnement Nix et la solution NixOS-Compose, qui promet d&#039;être intéressante et un candidat potentiel à l&#039;*Infrastructure as Code* de demain. L&#039;approche est différente de ce que l&#039;on peut rencontrer avec d&#039;autres outils comme Terraform et il est enrichissant de s&#039;y pencher pour élargir sa pensée.&lt;br /&gt;
&lt;br /&gt;
Nous avons également pu travailler sur des piles logicielles que nous ne connaissions pas forcément, ce qui a aussi été très enrichissant. Nous avons appris à utiliser ces piles logicielles et à les configurer, ce qui est généralement le plus important pour ce genre de système. Nous avons appris ou réappris des technologies, et amélioré notre capacité à appréhender un système distribué, savoir d&#039;où viennent les problèmes et comment les résoudre.&lt;br /&gt;
&lt;br /&gt;
Les compositions que nous avons pu fournir à l&#039;issue du projet sont très satisfaisantes. Elles sont fonctionnelles et permettent à d&#039;autres utilisateurs d&#039;appréhender la solution NixOS-Compose. Nous avons également fourni des tutoriels et explications avec ces compositions pour exprimer des retours utilisateur au projet NixOS-Compose, ce qui, nous espérons, permettra de mettre en valeur ce beau projet.&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
La démonstration que nous proposons est de présenter le déploiement de chacune des piles logicielles.&lt;br /&gt;
&lt;br /&gt;
Vidéo de démonstration sur Kubernetes: https://www.youtube.com/watch?v=uOh8BJPj7MU&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Rapport_Test_Infrastructures_NixOS_2021-2022&amp;diff=52367</id>
		<title>Rapport Test Infrastructures NixOS 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Rapport_Test_Infrastructures_NixOS_2021-2022&amp;diff=52367"/>
		<updated>2022-03-17T21:45:04Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Kubernetes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Rappel du sujet et cahier des charges=&lt;br /&gt;
&lt;br /&gt;
L’objectif est d’expérimenter et de manipuler une technologie récente : NixOS et le projet de recherche NixOS-Compose. Nix est un outil de gestion de paquets (bibliothèques, morceau logiciel offrant certaines fonctionnalités), et NixOS est un système d&#039;exploitation Linux qui utilise Nix dans son architecture. Nous parlerons plus en détails des différentes technologiques manipulées dans la prochaine partie.&lt;br /&gt;
&lt;br /&gt;
Nos expérimentations ont consistées à déployer trois projets différents : Kubernetes, ELK et Hadoop en utilisant l&#039;outil NixOS-Compose. La partie la plus importante n&#039;étant pas de déployer une version aboutie et complête pour chacun de projets mais de documenter nos expériences pour fournir des retours utilisateurs permettant l&#039;amélioration de NixOS-Compose.&lt;br /&gt;
&lt;br /&gt;
=Technologies employées=&lt;br /&gt;
&lt;br /&gt;
==Nix==&lt;br /&gt;
&lt;br /&gt;
Nix est un gestionnaire de paquets et un langage fonctionnel qui se différencie de l&#039;approche classique avec sa grande reproductibilité qu&#039;il trouve incompatible avec le Filesystem Hierarchy Standard. Il dénonce l&#039;enfer des dépendances que l&#039;on retrouve avec cette approche où l&#039;on ne peut pas déterminer les versions utilisées. Nix repose sur son store, où il stocke toutes les dérivations pour chaque paquet. Ces dérivations contiennent des informations sur toutes les dépendances (d&#039;autres dérivations) et les instructions de build. Le nom de la dérivation indique le nom du paquet et un hash qui la rend unique mais surtout qui l&#039;identifie : une même dérivation produira toujours la même sortie.&lt;br /&gt;
&lt;br /&gt;
Avec cette approche, Nix permet plusieurs choses, notamment :&lt;br /&gt;
* La reproductibilité due au déterminisme des dérivations&lt;br /&gt;
* La possibilité d&#039;utiliser plusieurs versions d&#039;un même paquet en parallèle&lt;br /&gt;
* Comme le nom de la dérivation l&#039;identifie, il est possible de mettre en cache la sortie et la récupérer sans avoir à la reconstruire&lt;br /&gt;
&lt;br /&gt;
Nixpkgs est un répertoire en ligne contenant de nombreux paquets (80 000 actuellement) construits à partir de dérivations fournies par la communauté et accessibles à tous.&lt;br /&gt;
&lt;br /&gt;
==NixOS==&lt;br /&gt;
&lt;br /&gt;
NixOS est une distribution GNU/Linux reposant sur Nix en tant que gestionnaire de paquets mais également de gestionnaire de configuration. L&#039;ensemble du système et toutes les configurations sont considérés comme des dérivations. Cela permet entre autres de faire des restorations du système à des versions précédentes simplement, chaque modification du système occasionne la création d&#039;une nouvelle version atomique. Par ailleurs, le système d&#039;exploitation hérite ainsi de la propriété déterministe et reproductible que Nix offre.&lt;br /&gt;
&lt;br /&gt;
NixOS-test est une librairie de test qui permet, à partir d&#039;un ensemble de fichiers de configuration Nix, de fournir une interface python pour manipuler ces configurations sur une/des machines virtuelles avec QEMU.&lt;br /&gt;
&lt;br /&gt;
==NixOS-Compose==&lt;br /&gt;
&lt;br /&gt;
NixOS-Compose est un projet de l’équipe Datamove qui étend l’utilisation de NixOS vers d’autres supports que les machines virtuelles, comme notamment la plateforme Grid&#039;5000 et des solutions de conteneurs comme Docker.&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un orchestrateur de conteneurs permettant de déployer, mettre à l&#039;échelle et surveiller des applications conteneurisées sur un cluster de machines. Développé en Go et rendu open source en 2015 par Google inspiré de leur solution privée Borg, Kubernetes est maintenant l&#039;outil central du monde du DevOps dans l&#039;industrie. Il apporte une couche d&#039;abstraction au dessus d&#039;un datacenter, dont la mise en place a également été facilitée par le cloud, pour fournir une plateforme de déploiement fortement disponible aux développeurs. Kubernetes dispose également d&#039;un large écosystème d&#039;outils et plugins améliorant différents aspects de son utilisation : routage, monitoring, sécurité, gitops, déploiements (vert/bleu, canary...), serverless etc.&lt;br /&gt;
    &lt;br /&gt;
En cette qualité, Kubernetes est une plateforme de choix dans le cadre d&#039;expériences nécessitant notamment un certain nombre de services ou applications, comme dans le cas d&#039;architectures microservices par exemple. De plus, malgré ses nombreux atouts, Kubernetes est une solution souvent difficile et longue à mettre initialement en place pour cause d&#039;une configuration complexe liée à l&#039;architecture microservice de la plateforme elle-même. (Il faut reconnaître qu&#039;avec le cloud il est maintenant très simple de déployer un cluster Kubernetes, Terraform est notamment un concurrent potentiel de NixOS-Compose) &lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, être en mesure de fournir un cluster Kubernetes de la taille voulue, simplement, rapidemment et de manière reproductible, est un objectif très intéressant, non seulement pour l&#039;aspect apprentissage mais également pour son utilisation dans le contextes d&#039;expériences scientifiques avec NixOS-Compose. Kubernetes est en lui même un solution qui permet une forte reproductibilité au niveau des déploiements internes, mais c&#039;est la phase de déploiement des machines et de bootstrap du cluster qui manque cette qualité, et c&#039;est là que nous nous positionnons.&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ELK&amp;quot; est l&#039;acronyme de trois projets open source : Elasticsearch, Logstash et Kibana.&lt;br /&gt;
&lt;br /&gt;
===Elasticsearch===&lt;br /&gt;
&lt;br /&gt;
Elasticsearch est un outil de recherche et d&#039;analyse de données fonctionnant de manière distribuée et basé sur [Apache Lucene](https://lucene.apache.org/). Créé par Shay Banon en 2004, au fil des années, Elasticsearch n&#039;a cessé d&#039;évoluer et aujourd&#039;hui c&#039;est l&#039;outil de référence pour réaliser une recherche performante sur une large quantité de données.&lt;br /&gt;
&lt;br /&gt;
Technologiquement parlant, il s&#039;agit d&#039;une base de données programmée en Java et spécialisée dans la recherche et l&#039;indexation de documents. Si Elasticsearch est aussi performant c&#039;est grâce à son fonctionnement en mode distribué. La tâche de recherche est exécutée en parallèle par plusieurs nœuds Elasticsearch, ce qui améliore la réactivité du système. Elasticsearch a aussi la force d&#039;être facilement configurable et mis à l&#039;échelle.&lt;br /&gt;
&lt;br /&gt;
===Logstash===&lt;br /&gt;
&lt;br /&gt;
Logstash est un outil écrit en Java et en Ruby permettant de **centraliser des traces** provenant de plusieurs systèmes, de les analyser et de les stocker. Conceptuellement, Logstash peut être vu comme un &amp;quot;pipe&amp;quot; où les données rentrent d&#039;un bout, et sont traitées avant de ressortir de l&#039;autre bout. Logstash est plus qu&#039;un simple &amp;quot;pipe&amp;quot; puisqu&#039;il peut prendre une multitude de sources différentes en entrées et renvoyées les données traitées vers différentes sorties. Il sert généralement à filtrer/analyser des messages avant de les envoyer à Elasticsearch qui va, lui, se charger de les stocker et de les indexer.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
&lt;br /&gt;
Kibana est un outil permettant la visualisation de données écrit en JavaScript est la dernière composante majeure de la stack ELK. Il est similaire à d&#039;autres outils de visualisation tel que [Grafana](https://grafana.com/), mais a la particularité d&#039;être spécialisé pour une utilisation au sein de la stack ELK. Le rôle de Kibana est donc de récupérer les données indexées par Elasticsearch et de les rendre visuellement exploitables pour un humain.&lt;br /&gt;
&lt;br /&gt;
===Beats===&lt;br /&gt;
&lt;br /&gt;
Bien que la stack ELK soit l&#039;acronyme des trois projets majeurs dont nous avons parlé précédemment, ELK est consistué d&#039;un autre projet nommé Beats. Il y a d&#039;ailleurs quelques discussions autour du renommage de la stack ELK en stack BELK pour inclure le projet Beats. Beats est une plateforme réunissant une multitude de petits outils permettant d&#039;expédier des données vers Logstash ou Elasticsearch. Chaque outil vise un type de données spécifiques. On retrouvera par exemple l&#039;outil Filebeat pour l&#039;expédition de traces systèmes, Metricbeat pour les métriques, Packetbeat pour le réseau ou encore Heartbeat pour le monitoring. Cette liste est non exhaustive, il existe plein d&#039;autres beats, chacun spécialisé pour des données de nature différente.&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Hadoop est un framework open source Java destiné à faciliter la création d&#039;applications distribuées (au niveau du stockage des données et de leur traitement) et scalables permettant aux applications de travailler avec des milliers de nœuds et des masses importantes de données. Ainsi chaque nœud est constitué de machines standard regroupées en grappe. Hadoop fonctionne avec de nombreux modules ou services conçus selon l&#039;idée que les pannes matérielles sont fréquentes et qu&#039;en conséquence elles doivent être gérées automatiquement par le framework. Cet aspect de redondance n&#039;est pas traité dans ce projet.&lt;br /&gt;
&lt;br /&gt;
=Architectures techniques=&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture de Kubernetes est distribuée sous forme de microservices avec plusieurs composants, chacun responsable d&#039;une certaine tâche pour contrôler le cluster et les applications qui y vivent. Tout d&#039;abord, les composants sont à séparer en deux groupes: le control plane, tête pensante du cluster, et les composants des nodes, responsables de faire fonctionner les conteneurs. Une machine est dite nœud maître dès lors qu&#039;elle est membre du control plane (elle exécute les composants du control plane, seule ou en communication avec les autres maîtres). Une machine peut à la fois être maître et exécuter des conteneurs (control plane et *Node*), ce n&#039;est toutefois pas recommandé au vu de l&#039;importance du rôle du control plane.&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-kubernetes-architecture.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://kubernetes.io/docs/concepts/overview/components&lt;br /&gt;
&lt;br /&gt;
===Control plane===&lt;br /&gt;
&lt;br /&gt;
Le control plane est un ensemble de composants responsable du bon fonctionnement du cluster. Ces composants sont présents sur chaque nœud maître du cluster. Dans le cas d&#039;un cluster à haute disponibilité (plusieurs maîtres), ces composants fonctionnent de manière distribuée, et nécessitent un load balancer.&lt;br /&gt;
&lt;br /&gt;
Le composant principal est l&#039;apiserver, qui est donc une API permettant la communication entre les différents composants. L&#039;apiserver est le seul composant avec qui les autres composants communiquent. Ensuite le controller manager, regroupe les différents contrôleurs dont le rôle est de gérer les resources qui leur corresponde (le contrôleur des *Pod* veille au bon fonctionnement des Pod, pareil pour les ReplicasSet, Endpoint, Node...). Le scheduler est responsable de l&#039;attribution des resources (machines) aux applications (Pod, Deployment...) selon les disponibilités et besoins. Enfin, etcd est une base de données distribuée de configuration qui conserve l&#039;état du cluster. C&#039;est une solution tiers et elle peut être exécutée sur un cluster à part des nœuds maître.&lt;br /&gt;
&lt;br /&gt;
===Node===&lt;br /&gt;
&lt;br /&gt;
Pour Kubernetes, un Node (ou nœud en français) est l&#039;abstraction d&#039;une machine (réelle ou virtuelle). Chaque machine représentant un Node doit faire tourner trois services: le kubelet, le kube-proxy et un environnement d&#039;exécution de conteneurs.&lt;br /&gt;
&lt;br /&gt;
Le kubelet est véritablement le responsable des conteneurs en pratique, il est le contremaître obéissant au control plane, chargé de faire appliquer ses directives. Le kubelet ordonne à l&#039;environnement d&#039;exécution de conteneurs et fait ses rapports de situation au control plane. Le kube-proxy est chargé de mettre en place les règles de réseau (iptables ou IPVS) pour veiller au bon fonctionnement notamment des Service et Endpoint. Enfin, l&#039;environnement d&#039;exécution de conteneurs peut être n&#039;importe quel solution respectant la CRI (container runtime interface) comme containerd ou CRI-O.&lt;br /&gt;
&lt;br /&gt;
Non-obligatoire mais également souvent présent est un plugin de CNI (container network interface) qui met en place le plan de réseau exigé par Kubernetes (à savoir un réseau où les Pod disposent d&#039;une adresse IP et peuvent communiquer entre eux) à ne pas confondre avec le réseau connectant les machines entre elles. On peut citer notamment Calico, Weave et celui qui est utilisé dans notre projet est Flannel (moins puissant). Parmi les addons on retrouve également un serveur DNS (nécessaire au bon fonctionnement des Services), anciennement kube-dns et maintenant plutôt coredns.&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne ELK, il ne s&#039;agit non pas d&#039;un système ou d&#039;un outil en lui-même mais de la collaboration d&#039;une multitude d&#039;outils open source ayant chacun leurs particularités et un fonctionnement qui leur est propre. Pour visualiser plus aisément l&#039;intéraction entre les différentes composantes de la stack ELK, on pourra s&#039;intéresser à l&#039;exemple suivant:&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-elk-architecture.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://fr.wikipedia.org/wiki/Logstash&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;exemple ci-dessus, on distingue trois sources indépendantes: MediaWiki, des services Node.js et Hadoop. Chacune des trois sources envoie des données à une instance différente de Logstash. Les instances de Logstash ne communiquent pas entre elles, toutefois, une fois le traitement des données effectué, chaque instance envoie ses données à un nœud Elasticsearch. Dans le schéma ci-dessus, les trois nœuds font partie d&#039;un même cluster, ce qui permet donc la mise en commun de l&#039;intégralité des données pouvant ensuite être visualisées via Kibana.&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Hadoop est un environement distribué de par son stockage mais également son traitement de données. C&#039;est une suite de solution open source pour le big data. The goal is to instanciate the different kind of nodes from one of the two possible implementation below, and make them communicate to run a job on the cluster.&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-hadoop-architecture-1.png|center]]&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-hadoop-architecture-2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://www.geeksforgeeks.org/hadoop-introduction&lt;br /&gt;
&lt;br /&gt;
=Réalisations techniques=&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
L&#039;expérience avec Kubernetes consiste avant tout à déployer un cluster Kubernetes fonctionnel, utilisable comme n&#039;importe quel autre cluster. Pour cela nous nous reposons donc tout d&#039;abord sur la dérivation de Kubernetes sur nixpkgs. Ensuite nous utilisons d&#039;autres outils comme Helm et Istio pour enrichir l&#039;expérience.&lt;br /&gt;
&lt;br /&gt;
La dérivations de Kubernetes propose la version 1.21.6, avec certains aspects de configuration qui sont cependant déprécié (notamment au niveau des ports uti lisés et des flags devenus déconseillés) car non mis à jour depuis 4 ans. La configuration de cette dérivation peut se faire de deux manière: en précisant la configuration de tous les composants (cf. partie II), ou en précisant uniquement le rôle de la machine. Avec la première approche non pouvons avoir un contrôle complet sur la configuration alors que dans le second tout est plus abstrait. En revanche la deuxième manière est plus simple et plus claire. Nous avons opté pour la seconde en ajoutant un certain nombre d&#039;options supplémentaires. &lt;br /&gt;
&lt;br /&gt;
La composition de l&#039;expérience commence avec la description des machines ainsi que leur rôle dans le cluster. Nous utilisons généralement un nœud maître et deux nœuds de travail, sachant qu&#039;il n&#039;est pas possible actuellement de déployer un cluster à haute disponibilité dont le bootstrap des certificats est automatisé dans le déploiement, autrement il faut le faire manuellement ce qui est hors de question dans le cadre d&#039;un environnement reproductible.&lt;br /&gt;
&lt;br /&gt;
Ensuite nous disposons d&#039;une fonction pour générer la configuration des machines du cluster. Cette configuration contient donc le rôle du node mais également des ajustements sur les ports et addresses IP de certains composants pour permettre la bonne communication des composants entre eux.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons également une machine supplémentaire hors-cluster, c&#039;est une serveur NFS, une solution parmis d&#039;autres pour fournir au cluster un moyen de créer des volumes (PersistentVolume) accessibles par tous les nœuds. Ce serveur est monté sur toutes les machines, ce qui permet à l&#039;expérimentateur de soit utiliser des volumes NFS, soit des volumes locaux pour plus de simplicité.&lt;br /&gt;
&lt;br /&gt;
Avec Istio nous pouvons suivre le guide d&#039;exemple présent dans la documentation pour déployer une application microservice et vérifier le bon fonctionnement du cluster.&lt;br /&gt;
&lt;br /&gt;
Cette composition est fonctionnelle pour la plateforme de nixos-test et nixos-test-driver, toutes deux reposant sur QEMU, et également sur Grid&#039;5000 où elle dévoile son vrai potentielle car les machines sont réelles et véritablement utilisables pour administrer le cluster. Elle n&#039;est pas fonctionnelle sur Docker pour des raisons propres à NixOS-Compose qui ne permettent pas de modifier les noms d&#039;hôtes (/etc/hosts), ce qui empêche la dérivation de fonctionner correctement.&lt;br /&gt;
&lt;br /&gt;
Certains éléments de bootstrap se révèlent être difficilement applicable lors du déploiement avec NixOS-Compose et nous reposons donc en partie sur un script d&#039;initialisation du cluster. Ce script est créé dans la composition et accessible dans le path. Il redémarre les composants éventuellement échoués et affiche une commande à l&#039;utilisateur permettant d&#039;ajouter des machines au cluster, cette étape n&#039;tant pas automatisable simplement (l&#039;approche est la même que kubeadm).&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
Pour ce qui est de l&#039;expérience ELK, une grande partie du temps a été passée à comprendre la stack ELK et ses différentes composantes. Pour réaliser une composition fonctionnelle via NixOS-Compose, nous nous sommes basés sur une composition pré-existante écrite pour NixOS-Tests. La composition a ensuite été modifiée de manière à fonctionner correctement pour les différents modes de déploiement (Docker, Grid&#039;5000).&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Un paquet hadoop existe deja et il s&#039;agit principalement d&#039;en faire sa configuration. Plusieurs configurations différentes ont été réalisées, une minimale afin de comprendre le fonctionnement général, puis une se servant de yarn afin de maitriser la multiplicité des nœuds de travail.&lt;br /&gt;
    &lt;br /&gt;
Dans la composition minimale nous avons pu mettre, comme le premier shéma de la partie précédente, créer un node de front (namenode) ainsi qu&#039;un datanode fonctionnant avec le filesystem.&lt;br /&gt;
&lt;br /&gt;
=Gestion de projet=&lt;br /&gt;
&lt;br /&gt;
Ce projet relève en partie d’un travail de recherche au vu du manque de documentation, du développement toujours en cours de l’OS et de sa faible utilisation de la part de la communauté d’utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Une importante partie de ce projet repose sur la communication entre notre équipe et l’équipe Datamove pour recevoir des consignes et fournir des retours. Pour fluidifier ces échanges nous avons organisé des réunions régulières et mis en place des solutions de communication en permanence à travers des outils comme Telegram et Zoom pour les réunions.&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place deux types de réunions : des réunions quotidiennes avec un membre de l’équipe Datamove et des réunions hebdomadaires en équipe complète. Les réunions quotidiennes servent principalement à partager l’avancement et exprimer des éventuels blocages. Les réunions hebdomadaires visent davantage à faire un point global et à définir les prochaines étapes.&lt;br /&gt;
&lt;br /&gt;
==Planification==&lt;br /&gt;
&lt;br /&gt;
Pour ce qui est de la planification, il nous paraissait essentiel pour un projet comme le nôtre dans lequel énormément de temps est alloué à l&#039;apprentissage d&#039;une technologie plutôt qu&#039;à la production réelle de code de définir une roadmap.&lt;br /&gt;
&lt;br /&gt;
Cette roadmap avait pour but de planifier nos actions sur l’ensemble de la durée du projet. Nous avons fait évoluer la roadmap au fur et à mesure de notre avancement réel. Celle-ci nous a permis non seulement de travailler avec un objectif en tête mais également de partager ces objectifs avec l’équipe Datamove.&lt;br /&gt;
&lt;br /&gt;
==Organisation du travail==&lt;br /&gt;
&lt;br /&gt;
Au commencement de projet, notre objectif à tous était de se former rapidement sur Nix afin de comprendre l&#039;étendu des possibilités de l&#039;outil NixOS-Compose et de commencer à le tester.&lt;br /&gt;
&lt;br /&gt;
Notre première tâche a consisté à écrire une composition k3s compatible avec NixOS-Compose de manière à découvrir la puissance de l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous sommes chacun parti sur un projet différent dans l&#039;optique de fournir trois expériences utilisateurs distinctes. La répartition des projets était la suivante :&lt;br /&gt;
* Titouan Minier Mancini : Kubernetes&lt;br /&gt;
* Corentin Humbert : Stack ELK&lt;br /&gt;
* Corentin Sueur : Hadoop&lt;br /&gt;
&lt;br /&gt;
Nous avons donc progressé chacun de notre côté sur nos projets respectifs tout en restant en contact constant de manière à éviter de passer trop temps bloqué sur une partie du projet. La communication a été impérative pour un tel projet au vu de sa complexité et du temps dont nous disposions pour le mener à terme.&lt;br /&gt;
&lt;br /&gt;
==Suivi du travail==&lt;br /&gt;
&lt;br /&gt;
En parallèle nous avons suivi la rédaction de carnets de route individuels où nous expliquons toutes nos actions dans la journée, avec un maximum de détails notamment sur les erreurs. L’objectif est de permettre aux membres de l’équipe Datamove de suivre notre avancée individuelle et d’aider sur les problèmes techniques éventuels. Ces carnet doivent permettre un maximum la reproductibilité des situations pour faciliter la correction.&lt;br /&gt;
&lt;br /&gt;
=Outils de travail=&lt;br /&gt;
&lt;br /&gt;
Au cours de notre projet, nous avons été amenés à utiliser de nombreux outils nous permettant d’échanger entre nous et avec l’équipe Datamove que ce soit pour poser des questions ou partager nos productions.&lt;br /&gt;
&lt;br /&gt;
* Communication écrite/orale :&lt;br /&gt;
** Au sein du groupe : Discord&lt;br /&gt;
** Avec l’équipe Datamove : Telegram, BBB, Zoom&lt;br /&gt;
* Échanges d’informations :&lt;br /&gt;
** Google docs, CodiMD&lt;br /&gt;
* Stockage des documents et du code produit :&lt;br /&gt;
** Dépôt GitLab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Métriques logiciels=&lt;br /&gt;
&lt;br /&gt;
Ce projet ne rentre pas dans le cadre d&#039;une production logicielle, la quantité de code produit est faible car le travail est avant tout un travail de compréhension et de recherche. Nous avons produit un fichier de composition pour chaque pile logicielle, ce qui correspond à une centaine de lignes chacune. Le temps était principalement accordé à l&#039;essai, l&#039;avancement à tâtons pour explorer les différentes options disponibles, et à la compréhension du fonctionnement de NixOS-Compose.&lt;br /&gt;
&lt;br /&gt;
Nous avons tous travaillé 35 heures par semaine, à l&#039;exception des première semaines en parallèle avec le projet ECOM où Titouan et Corention Humbert n&#039;étaient plus disponibles qu&#039;à hauteur de 21 à 28 heures par semaine.&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a avant tout permis de découvrir l&#039;environnement Nix et la solution NixOS-Compose, qui promet d&#039;être intéressante et un candidat potentiel à l&#039;*Infrastructure as Code* de demain. L&#039;approche est différente de ce que l&#039;on peut rencontrer avec d&#039;autres outils comme Terraform et il est enrichissant de s&#039;y pencher pour élargir sa pensée.&lt;br /&gt;
&lt;br /&gt;
Nous avons également pu travailler sur des piles logicielles que nous ne connaissions pas forcément, ce qui a aussi été très enrichissant. Nous avons appris à utiliser ces piles logicielles et à les configurer, ce qui est généralement le plus important pour ce genre de système. Nous avons appris ou réappris des technologies, et amélioré notre capacité à appréhender un système distribué, savoir d&#039;où viennent les problèmes et comment les résoudre.&lt;br /&gt;
&lt;br /&gt;
Les compositions que nous avons pu fournir à l&#039;issue du projet sont très satisfaisantes. Elles sont fonctionnelles et permettent à d&#039;autres utilisateurs d&#039;appréhender la solution NixOS-Compose. Nous avons également fourni des tutoriels et explications avec ces compositions pour exprimer des retours utilisateur au projet NixOS-Compose, ce qui, nous espérons, permettra de mettre en valeur ce beau projet.&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
La démonstration que nous proposons est de présenter le déploiement de chacune des piles logicielles.&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Test_Infrastructures_NixOS_2021-2022&amp;diff=52366</id>
		<title>Test Infrastructures NixOS 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Test_Infrastructures_NixOS_2021-2022&amp;diff=52366"/>
		<updated>2022-03-17T21:33:03Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Created page with &amp;quot;==Carnet Titouan Minier Mancini==  https://gitlab.inria.fr/nixos-compose/projet-info5/carnet/-/blob/main/titouan-minier-mancini.md  ==Carnet Corentin Humbert==  https://gitlab...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Carnet Titouan Minier Mancini==&lt;br /&gt;
&lt;br /&gt;
https://gitlab.inria.fr/nixos-compose/projet-info5/carnet/-/blob/main/titouan-minier-mancini.md&lt;br /&gt;
&lt;br /&gt;
==Carnet Corentin Humbert==&lt;br /&gt;
&lt;br /&gt;
https://gitlab.inria.fr/nixos-compose/projet-info5/carnet/-/blob/main/corentin-humbert.md&lt;br /&gt;
&lt;br /&gt;
==Carnet Corentin Sueur==&lt;br /&gt;
&lt;br /&gt;
https://gitlab.inria.fr/nixos-compose/projet-info5/carnet/-/blob/main/corentin-sueur.md&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52353</id>
		<title>Projets 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52353"/>
		<updated>2022-03-17T21:17:27Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2020-2021]] | [[Projets]] | [[Projets 2022-2023]]&amp;gt;&amp;gt;&lt;br /&gt;
=INFO=&lt;br /&gt;
==INFO3==&lt;br /&gt;
&lt;br /&gt;
==INFO4==&lt;br /&gt;
===Projet Semestre S8===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: 10 Janvier 2021 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2021_2022. &#039;&#039;&#039;Cette fiche compte pour la note finale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Votre code&#039;&#039;&#039; pour doit être hébergé sur le gitlab et à l&#039;URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22 , vous utiliserez votre compte UGA.&lt;br /&gt;
&lt;br /&gt;
* Chaque projet doit avoir &#039;&#039;&#039;aux moins 2 dépôts git&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;Un pour les documents&#039;&#039;&#039; demandés rapport, présentation de pré-soutenante, de soutenance, flyer. &#039;&#039;&#039;Il sera appelé documents.&#039;&#039;&#039;&lt;br /&gt;
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. &lt;br /&gt;
&lt;br /&gt;
* Les &#039;&#039;&#039;documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)&#039;&#039;&#039;.  Le *rapport* sera aussi demandé en *anglais* (il fera la taille d&#039;un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;La note obtenue&#039;&#039;&#039; tiendra compte du &#039;&#039;&#039;nombre et de la qualité des commits&#039;&#039;&#039; observé dans &#039;&#039;&#039;vos dépots git et la branche master&#039;&#039;&#039; (or depot documents). La qualité comprend l&#039;intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n&#039;est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).&lt;br /&gt;
&lt;br /&gt;
* Il est fortement conseillé de suivre un &#039;&#039;&#039;développement incrémental&#039;&#039;&#039; qui permette d&#039;avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d&#039;une succession de &#039;&#039;&#039;démonstrateurs présentables séparément&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Vous devez faire aussi des &#039;&#039;&#039;schémas d&#039;architectures générales et/ou spéficiques, des diagrammes de séquence&#039;&#039;&#039;, et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.&lt;br /&gt;
&lt;br /&gt;
===Propositions de projets S8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1. [https://codimd.math.cnrs.fr/?next=%2Fs%2FB029qfT5Q Courriels à Suppression Programmée] : Michaël Périn&lt;br /&gt;
* 2. [[Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]], Didier DONSEZ.&lt;br /&gt;
* 3. [[Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]] (Suite 2022), Didier DONSEZ.&lt;br /&gt;
* 4. [[Algorithmes de géolocalisation d’objets par TDOA (Time Difference of Arrival)]] (suite), Didier DONSEZ.&lt;br /&gt;
* 5. [[Dashboard pour Overwatch]] Olivier Richard&lt;br /&gt;
* 6. [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 7. [[Bluetooth 5.1 Angle of Arrival based Indoor Localization]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 8. Intégration de composants de mesures environnementales (eau, air, ...) pour le [[Contribution au projet STM32Python|projet STM32Python]] à destination des lycéens: Didier DONSEZ&lt;br /&gt;
* 9. [[Air Quality Station]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 10. [[Floating Water Quality Station]] : Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
* 12. [[Testeur de terrain pour réseaux LoRaWAN privés et publics (TTN, CampusIoT et Helium)]] (suite 2021), Didier DONSEZ.&lt;br /&gt;
* 13. [[Géolocalition Indoor en LoRa 2.4GHz]], Didier DONSEZ.&lt;br /&gt;
* 14. [[RealWorld avec Dioxus]] (Rust + web), Olivier Richard&lt;br /&gt;
* 15. Poursuite projet 20-21 [[Rust Engine | Executeur de tâche en Rust]], Olivier Richard&lt;br /&gt;
* 16. Poursuite projet 20-21 [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard&lt;br /&gt;
* 17. Poursuite projet 19-20 [[Portail pour gestionnaire de taches]](react, Typescript), Olivier Richard&lt;br /&gt;
* 18. [[Paquets NIX pour Polytech]], Olivier Richard&lt;br /&gt;
* 19. [[Mini compilateur C pour mini CPU]], Olivier Richard&lt;br /&gt;
* 20. Mode jeu en réseau (Wifi/Bluetooth) pour [[TanksOfFreedom]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
Non affecté&lt;br /&gt;
* xx. [[Bibliothèque de décodeurs standards et d&#039;afficheurs Grafana pour objets connectés LoRaWAN]] : Didier DONSEZ&lt;br /&gt;
* xx. [[ASAC|Agriculture connectée]] en partenariat avec les projets collectifs IESE/MAT : Nicolas Palix&lt;br /&gt;
* xx. [[Faults In Linux]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
===Affectations===&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [https://air.imag.fr/index.php/Planned_Deletion_Emails Courriels à Suppression Programmée]&lt;br /&gt;
| CANIN CORENTIN,MONTEILLER JOSHUA,WAGNER SAMY&lt;br /&gt;
| Michaël PÉRIN&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/01/docs/-/blob/main/%20Courriels%20%C3%A0%20Suppression%20Programm%C3%A9e%20info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [https://air.imag.fr/index.php/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l%E2%80%99Internet_des_Objets_isol%C3%A9s# Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]&lt;br /&gt;
| CARMONA DAMIAN,DA COSTA TOM,WOZNY PIERRE-RAPHAEL&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/02/docs/-/blob/main/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l_Internet_des_Objets_isol%C3%A9s_info4_2021_2022.md# Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [https://air.imag.fr/index.php/Evaluation_du_toolkit_AI_de_STM32_pour_l%27analyse_de_l%27environnement_sonore Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]&lt;br /&gt;
| BACH THOMAS,BARBE FLORENT,SIMO YOKAM GEORGES HARRISSO&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/03/docs/ Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Midterm_presentation_3_2022.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [https://air.imag.fr/index.php/Dashboard_pour_Overwatch# Dashboard pour Overwatch]&lt;br /&gt;
| CAILLES MAXIME,REYGNER ETIENNE,VERRIER MARTIN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/05/docs/-/blob/main/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]]&lt;br /&gt;
| CHIOTTI MAEL,LAVIROTTE GAETAN,MOTTINO LORIS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/06/docs/-/tree/main Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [https://air.imag.fr/index.php/Contribution_au_projet_STM32Python  Intégration de composants de mesures environnementales (eau, air...) pour le projet STM32Python à destination des lycéens]&lt;br /&gt;
| GUIRGUIS MIRETTE,HADIBY CHEMSSEDDINE,MOHSEN HACHEM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/08/docs/-/blob/main/README.md#lorawan Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Floating Water Quality Station]]&lt;br /&gt;
| BRETON EMERIC,FAGHLOUMI AYMAN,VIALLET CAMILLE&lt;br /&gt;
| Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/info4_2021_2022_Fiche_suivi_projet.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/Soutenance%20mi-parcours%20Projet_S8.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [https://air.imag.fr/index.php/G%C3%A9olocalition_Indoor_en_LoRa_2.4GHz Géolocalition Indoor en LoRa 2.4GHz]&lt;br /&gt;
| BERNERD CLARA,JARDIN BAPTISTE,NGUYEN JUSTIN&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/13/docs/-/blob/main/Fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[RealWorld avec Dioxus]]&lt;br /&gt;
| IFAKIREN SAMI,MONTHE DJEUMOU BRICE,NGUYEN CLEMEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/14/docs Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [https://air.imag.fr/index.php/Rust_Engine Exécuteur de tâche en Rust]&lt;br /&gt;
| CHAPPAZ FLORIAN,DE OLIVEIRA VALENTIN,KURKLU FIKRET&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/Rust_Engine_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/rust_engine_mid_presentation.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [https://air.imag.fr/index.php/Portail_pour_gestionnaire_de_taches Portail Pour Gestionnaire De Taches]&lt;br /&gt;
| KACHA TOM,MAHAMAN NOURY ABDOURAHAMANE,MEIGNEN HUGO,ZHANG KEMING&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Fiche_De_Suivi_17.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Pr%C3%A9sentation-mi-parcours.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
| [[Paquets NIX pour Polytech]]&lt;br /&gt;
| CONJARD SAMUEL,FODOR GERGELY,PELISSE-VERDOUX CYPRIEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/18/docs/-/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[Mini compilateur C pour mini CPU]]&lt;br /&gt;
| CAPET THEO,POITEVIN EVE,ROYET JULIAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/19/docs/-/blob/main/C_compiler_for_MCPU_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| Mode jeu en réseau pour [[TanksOfFreedom]],&lt;br /&gt;
| ABECASSIS THOMAS,FOURNIER THOMAS,ZAFFUTO LUCA&lt;br /&gt;
| Nicolas Palix&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/20/docs/-/blob/main/fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier:  Octobre à Décembre 2021. Soutenance 24 Janvier 2022.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Choix des projet des projets INFO5 Réseaux 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Github/Trello&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Réseau de capteur de dichlorométhane]]&lt;br /&gt;
| Dorian BARET - Malone JULIENNE - Quentin CAMBUS&lt;br /&gt;
| [https://lesjoiesducode.fr/quand-notre-revue-de-sprint-se-passe-nickel Fiche]&lt;br /&gt;
| [https://github.com/Cambus-Quentin/DichloWan2021/blob/main/README.md git]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Création d&#039;un système pour localiser les élèves lors de courses d&#039;orientation]]&lt;br /&gt;
| Antoine Gitton, Gilles Mertens, Bertrand Baudeur&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_spec.pdf|Spécification paquets LoRa]]&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_backend.zip|Souces back-end]] - [[Media:2021_2022_INFO5_IOT_Orientation_carte.zip|Souces carte]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Harnais animalier permettant de suivre notre animal domestique]]&lt;br /&gt;
| Sami ELHADJI TCHIAMBOU, Corentin HUMBERT, Paul LAMBERT, Hugo PRAT CAPILLA&lt;br /&gt;
| [[Media:PSP_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Bicorpro Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[Géolocalisation et suivi des transports en commun]]&lt;br /&gt;
| Liam ANDRIEUX, Lucas DREZET, Roman REGOUIN&lt;br /&gt;
|&lt;br /&gt;
| [https://github.com/2021-2022-IoT-INFO5-G4 Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[Tracking des déplacements de joueurs sur un terrain]]&lt;br /&gt;
| Elias EL YANDOUZI, Lucas CHALOYARD&lt;br /&gt;
| [[Media:IOT_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Indoor-Shadow/ble-experiment Github Repo]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Beer Pong connecté]]&lt;br /&gt;
| Yael PARA, Théo TEYSSIER, Victor MALOD, Alexis LANQUETIN&lt;br /&gt;
| [[Media:BeerPong_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/McReaper/BeerPongLora Gitub Repo]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exposés points techniques 10&#039; - questions 5&#039;&lt;br /&gt;
* Nom Sujet&lt;br /&gt;
* ??? Python&lt;br /&gt;
* ??? MQTT&lt;br /&gt;
* ??? COAP&lt;br /&gt;
* 26/11/2021 - Elias El Yandouzi - Les différentes techniques de virtualisation&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignant responsable : [[user:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Convention des projets tutorés externes : Elise Didier.&lt;br /&gt;
&lt;br /&gt;
Calendrier: 27/01 (8H30-12H00) au 18/03.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: A voir dessus.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation et choix des sujets: 27/01 (8H30-12H00) en salle Polygone P206 (voir ADE)&lt;br /&gt;
&lt;br /&gt;
Démarrage : 27/01&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours (à définir) : ??/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance finale : 18/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. &lt;br /&gt;
&lt;br /&gt;
====Séances MPI====&lt;br /&gt;
&lt;br /&gt;
Voir ADE qui fait foi).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Soutenance intermédiaire S10 ====&lt;br /&gt;
Date: 18/02 Matin. Distantiel (sur Zoom). Créneaux de 10 minutes.&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de la soutenance intermédiaire est de vérifier si l&#039;équipe projet est en bon ordre de marche&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;équipe présentera en 5-6 transparents en 7 minutes.&lt;br /&gt;
* les équipiers et leurs rôles&lt;br /&gt;
* le contexte, le sujet et l&#039;objectif du projet&lt;br /&gt;
* l&#039;architecture du systèmes à réaliser&lt;br /&gt;
* les technologies utilisées&lt;br /&gt;
* le plan de travail (backlog, planning, ce qui est fait, ce qu&#039;il reste à faire ...)&lt;br /&gt;
* les difficultés (s&#039;il y a)&lt;br /&gt;
&lt;br /&gt;
Prévoyez du temps pour les questions-réponses (3 minutes max).&lt;br /&gt;
&lt;br /&gt;
Respectez bien les créneaux indiqués (par respect pour les autres équipes) et soyez présents un peu en avance dans la salle d&#039;attente.&lt;br /&gt;
&lt;br /&gt;
La présence des porteurs n&#039;est pas obligatoire.&lt;br /&gt;
&lt;br /&gt;
==== Soutenance finale S10 ====&lt;br /&gt;
Date provisoire: 18/03/2022 (8H30-12H00 et 13H30-17H00).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;La présence du(des) porteur(s) est obligatoire. Pensez à les prévenir bien à l&#039;avance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Durée: 30 minutes par équipe: présentation, questions/réponses et démonstration incluse.&lt;br /&gt;
&lt;br /&gt;
Les documents devront être en ligne sur le wiki (colonne Documents) la veille (ie avant le 17/03/2021 23:59:59 CET).&lt;br /&gt;
&lt;br /&gt;
La présentation est constituée des chapitres suivants:&lt;br /&gt;
* Rappel du sujet/besoin et cahier des charges&lt;br /&gt;
* Technologies employées&lt;br /&gt;
* Architecture techniques&lt;br /&gt;
* Réalisations techniques&lt;br /&gt;
* Gestion de projet (méthode, planning prévisionnel et effectif, gestion des risques, rôles des membres ...)&lt;br /&gt;
* Outils (collaboration, CD/CI ...)&lt;br /&gt;
* Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux), la répartition  des lignes de code et des commits en pourcentage entre les membres du projet ...)&lt;br /&gt;
* Conclusion (Retour d&#039;expérience)&lt;br /&gt;
* Transparent expliquant la démonstration&lt;br /&gt;
&lt;br /&gt;
L&#039;ensemble des documents doit être accessible depuis le tableau ci-dessus et dans chaque fiche de suivi.&lt;br /&gt;
&lt;br /&gt;
Le screencast (réalisé lors de la dernière répétition) sera rendu disponible via un partage caché (wetransfer, google drive …) dont le lien sera ajouté dans le devoir idoine sur Moodle et également envoyé par mail à votre tuteur.&lt;br /&gt;
&lt;br /&gt;
Le rapport final contient les mêmes chapitres que la présentation ainsi qu&#039;un glossaire et une bibliographie. Le rapport ne doit pas dépasser 15 pages (schémas et figures compris). Vous pourrez référencer les autres documents que vous avez produits au cours du projet (spécifications détaillées, algorithmes, conception d&#039;écrans ...).&lt;br /&gt;
&lt;br /&gt;
Le rapport final est au format Markdown et doit être placé dans un des dépôts Git de votre groupe/organisation.&lt;br /&gt;
&lt;br /&gt;
NB: le rapport technique listé dans la colonne Documents contient tout ce qui ne tient pas dans les 15 pages du rapport final : cahier des charges, diagrammes UML, enquêtes utilisateurs design UI, API, technologies employées (détail), plan de tests, term of services, conformance RPGD, audits/diagnostiques sécurité, MTBR, rapport de vulnérabilité, plan de charge, rapports de charge, manuel d&#039;installation …  : ça dépend un peu de la nature de votre projet.&lt;br /&gt;
&lt;br /&gt;
Conseil : 30 minutes c&#039;est très court alors répétez la soutenance auparavant ! Prévoyez des transparents supplémentaires en annexe pour répondre aux questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prière de rapporter au fablab le matériel emprunté juste après votre soutenance&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2021-2022&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Porteur(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Dépôt Git&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Soutenance intermédiaire&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Test d&#039;infrastructures avec NixOS]]&lt;br /&gt;
| HUMBERT CORENTIN, MINIER MANCINI TITOUAN (Chef de projet), SUEUR CORENTIN (Scrum master)&lt;br /&gt;
| Olivier RICHARD et Quentin GUILLETEAU&lt;br /&gt;
| [[Test Infrastructures NixOS 2021-2022|Fiche de suivi]]&lt;br /&gt;
| [[Rapport Test Infrastructures NixOS 2021-2022|Rapport final]] - [[Media:Presentation_finale_NixOs.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:English_Poster_NixOS.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Plan dynamique d’un appartement connecté]]&lt;br /&gt;
| GRANGER OSCAR (Chef de projet), NOERIE SOPHIE, SARRE MARGAUX, SALMON AMAD, TEYSSIER THEO (Scrum master)&lt;br /&gt;
| Sybille CAFFIAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Suivi de troupeaux (ovins, bovins) en zone montagneuse avec un réseau LoRaWAN : expérimentation dans la Matheysine]]&lt;br /&gt;
| GITTON ANTOINE, MALOD VICTOR, MUTEL MATHIS&lt;br /&gt;
| Fabrice FOREST&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:INFO5_AgriConnect_presentation_miparcours.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[FitSize]]&lt;br /&gt;
| GEITNER TEVA	, GONZALEZ JULES, PARA YAEL&lt;br /&gt;
| Fidèle Eya&#039;a&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[GenderedNews]]&lt;br /&gt;
| AGUIAR MATHILDE (Chef de projet), HAJJI OUMAIMA (SCRUM Master), SIDIBE ROKIATOU DITE ROSE&lt;br /&gt;
| François PORTET, Gilles BASTIN, Ange RICHARD&lt;br /&gt;
| [[PROJET-INFO5 2022 GenderedNews|Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:flyer_genderednews.pdf|Flyer]] - [[Media: Soutenance_interm_genderednews.pdf|Presentation de mi-parcours]] - [[Media:Poster-genderednews-fr.pdf|Poster FR]] - [[Media:Poster-genderednews-en.pdf|Poster EN]] - [[Media: Pitch_genderednews.pdf | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/getalp/genderednews Dépot Git]&lt;br /&gt;
| [[Media: Soutenance_interm_genderednews.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Système d&#039;analyse de traces sportives]]&lt;br /&gt;
| HERQUE ERIC (Scrum Master), VACHERIAS GUILLAUME (Chef de projet)&lt;br /&gt;
| Vivien QUEMA&lt;br /&gt;
| [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive fiche suivis | Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation de mi-parcours]]- [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster FR]] - [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster EN]] - [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive pitch | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/vacherig/systeme-analyse-de-traces-sportives Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Qualité de l&#039;Air et Santé des Populations]]&lt;br /&gt;
| BAUDEUR BERTRAND (Scrum Master), MERTENS GILLES (Chef)&lt;br /&gt;
| Marie-Laure AIX&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/Air-Quality-LoRa Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Artiphonie(saison 3)]] extension de la [[Artiphonie (saison 2)]]&lt;br /&gt;
| BUISINE JULIEN (Chef de Projet), ELHADJI TCHIAMBOU SAMI, LAMBERT DAPHNE (Scrum Master), LAMBERT PAUL&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]] - [[Media:Poster_Artiphonie_FR.pdf|Poster FR]] - [[Media:Poster_Artiphonie_-_LAMBERT,_BUISINE,_ELHADJI_TCHIAMBOU.pdf|Poster EN]] - [[Media: Pitch_Artiphonie_2022.pdf|Pitch Artiphonie 2022]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/artiphonie/projet-info5-21-22 Dépot Git]&lt;br /&gt;
| [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[Quark Project]] &lt;br /&gt;
| CHALOYARD LUCAS, EL YANDOUZI ELIAS&lt;br /&gt;
| Olivier Gruber&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Soutenance QuarkV3.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Soutenance QuarkV3.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Jorigine]]&lt;br /&gt;
| BLANQUET ANTOINE (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;), LANQUETIN ALEXIS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), MALECOT ETHAN, PRAT-CAPILLA HUGO&lt;br /&gt;
| Sylvain Delangue&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:PosterJorigine2022_vfinal.pdf|Poster EN]] - [[Media:Pitch_Jorigine_grp10.pdf|Pitch en 180 secondes]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Contributions open source au projet EdCampus|EdCampus]] &lt;br /&gt;
| ANDRIEUX LIAM, COSOTTI KEVIN, DREZET LUCAS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), REGOUIN ROMAN (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;)&lt;br /&gt;
| Anthony GEOURJON&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Rapport EDCampus 2021-2022|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation de mi-parcours] - [https://air.imag.fr/images/0/00/PosterFREDCampus20212022.pdf Poster FR] - [https://air.imag.fr/images/d/df/EDCampus_-_2021_2022.pdf Poster EN] - [https://air.imag.fr/images/d/d5/PitchEDCampus20212022.pdf Pitch]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus Dépot Git]&lt;br /&gt;
| [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Contributions open source au projet LabnBook|LabnBook]] &lt;br /&gt;
| CIRSTEA PAUL, SOULARD	ALEXANDRE (Chef de projet), TONDEUX EMILIE (Scrum master), YUNG	KEVIN&lt;br /&gt;
| Anthony GEOURJON, Cédric DHAM&lt;br /&gt;
| [[PROJET-INFO5 2022 LabNbook|Fiche de suivi]]&lt;br /&gt;
| [https://github.com/AlexandreSoulard/Groupe-LabnBook/blob/main/rapportLabNbook.md Rapport final] - [[Media:LabnBook_Presentation_finale.pdf|Presentation finale FR]] - [[Media:LabNbook_flyer.pdf|Flyer]] - [[Media:LabnBook.pdf|Presentation de mi-parcours]] - [[Media:Poster_GroupLabnBook_Cirstea_Soulard_Tondeux_Yung.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes] - [https://drive.google.com/file/d/1eWU090ieX3dC8vweB4UKzwfu9E7jk1vI/view?usp=sharing Screencast]&lt;br /&gt;
| [https://github.com/AlexandreSoulard/Groupe-LabnBook Dépot Git]&lt;br /&gt;
| [[Media:LabnBook.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[Green collect]]&lt;br /&gt;
| BARET	DORIAN, CAMBUS QUENTIN (Chef de projet), JULIENNE MALONE, MALLEN GUILLAUME (Scrum master)&lt;br /&gt;
| Bernard TOURANCHEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/report/CR-Final-Report.md Rapport final] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation de mi-parcours] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/GreenCollects Dépot Git]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sujets non choisis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[LoRaWAN Roaming]] avec [[Chirpstack]], [[TheThingStack]] et [[Actility]] pour le projet [https://gricad-gitlab.univ-grenoble-alpes.fr/thingsat/public/-/blob/master/cubesat_mission/README.md Thingsat]: Didier DONSEZ, Olivier ALPHAND.&lt;br /&gt;
# [[Contributions logicielles au projet RIOT OS pour le New Space]] : Francois-Xavier MOLINA, Olivier ALPHAND, Didier DONSEZ&lt;br /&gt;
# [[Réseaux social d&#039;organisation de sortie (saison 2)]] refonte [[Réseaux social d&#039;organisation de sortie]], Olivier Richard&lt;br /&gt;
# [[Experiment Process Management]], Olivier Richard&lt;br /&gt;
# [[Language Server for Visual Studio]]: Olivier Gruber&lt;br /&gt;
# ABANDONNé [[Réseau d&#039;Alumni de formations]] (à confirmer), Gérard POLLIER ([https://disrupt-campus.univ-grenoble-alpes.fr/design-factory-grenoble/ Design Factory Grenoble])&lt;br /&gt;
# [[Evaluation du kit IA embarqué Wio Terminal]]: Louis CLOSSON, Didier DONSEZ (sous réserve de réception du matériel commandé)&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52352</id>
		<title>Projets 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52352"/>
		<updated>2022-03-17T21:15:42Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2020-2021]] | [[Projets]] | [[Projets 2022-2023]]&amp;gt;&amp;gt;&lt;br /&gt;
=INFO=&lt;br /&gt;
==INFO3==&lt;br /&gt;
&lt;br /&gt;
==INFO4==&lt;br /&gt;
===Projet Semestre S8===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: 10 Janvier 2021 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2021_2022. &#039;&#039;&#039;Cette fiche compte pour la note finale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Votre code&#039;&#039;&#039; pour doit être hébergé sur le gitlab et à l&#039;URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22 , vous utiliserez votre compte UGA.&lt;br /&gt;
&lt;br /&gt;
* Chaque projet doit avoir &#039;&#039;&#039;aux moins 2 dépôts git&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;Un pour les documents&#039;&#039;&#039; demandés rapport, présentation de pré-soutenante, de soutenance, flyer. &#039;&#039;&#039;Il sera appelé documents.&#039;&#039;&#039;&lt;br /&gt;
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. &lt;br /&gt;
&lt;br /&gt;
* Les &#039;&#039;&#039;documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)&#039;&#039;&#039;.  Le *rapport* sera aussi demandé en *anglais* (il fera la taille d&#039;un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;La note obtenue&#039;&#039;&#039; tiendra compte du &#039;&#039;&#039;nombre et de la qualité des commits&#039;&#039;&#039; observé dans &#039;&#039;&#039;vos dépots git et la branche master&#039;&#039;&#039; (or depot documents). La qualité comprend l&#039;intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n&#039;est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).&lt;br /&gt;
&lt;br /&gt;
* Il est fortement conseillé de suivre un &#039;&#039;&#039;développement incrémental&#039;&#039;&#039; qui permette d&#039;avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d&#039;une succession de &#039;&#039;&#039;démonstrateurs présentables séparément&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Vous devez faire aussi des &#039;&#039;&#039;schémas d&#039;architectures générales et/ou spéficiques, des diagrammes de séquence&#039;&#039;&#039;, et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.&lt;br /&gt;
&lt;br /&gt;
===Propositions de projets S8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1. [https://codimd.math.cnrs.fr/?next=%2Fs%2FB029qfT5Q Courriels à Suppression Programmée] : Michaël Périn&lt;br /&gt;
* 2. [[Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]], Didier DONSEZ.&lt;br /&gt;
* 3. [[Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]] (Suite 2022), Didier DONSEZ.&lt;br /&gt;
* 4. [[Algorithmes de géolocalisation d’objets par TDOA (Time Difference of Arrival)]] (suite), Didier DONSEZ.&lt;br /&gt;
* 5. [[Dashboard pour Overwatch]] Olivier Richard&lt;br /&gt;
* 6. [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 7. [[Bluetooth 5.1 Angle of Arrival based Indoor Localization]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 8. Intégration de composants de mesures environnementales (eau, air, ...) pour le [[Contribution au projet STM32Python|projet STM32Python]] à destination des lycéens: Didier DONSEZ&lt;br /&gt;
* 9. [[Air Quality Station]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 10. [[Floating Water Quality Station]] : Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
* 12. [[Testeur de terrain pour réseaux LoRaWAN privés et publics (TTN, CampusIoT et Helium)]] (suite 2021), Didier DONSEZ.&lt;br /&gt;
* 13. [[Géolocalition Indoor en LoRa 2.4GHz]], Didier DONSEZ.&lt;br /&gt;
* 14. [[RealWorld avec Dioxus]] (Rust + web), Olivier Richard&lt;br /&gt;
* 15. Poursuite projet 20-21 [[Rust Engine | Executeur de tâche en Rust]], Olivier Richard&lt;br /&gt;
* 16. Poursuite projet 20-21 [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard&lt;br /&gt;
* 17. Poursuite projet 19-20 [[Portail pour gestionnaire de taches]](react, Typescript), Olivier Richard&lt;br /&gt;
* 18. [[Paquets NIX pour Polytech]], Olivier Richard&lt;br /&gt;
* 19. [[Mini compilateur C pour mini CPU]], Olivier Richard&lt;br /&gt;
* 20. Mode jeu en réseau (Wifi/Bluetooth) pour [[TanksOfFreedom]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
Non affecté&lt;br /&gt;
* xx. [[Bibliothèque de décodeurs standards et d&#039;afficheurs Grafana pour objets connectés LoRaWAN]] : Didier DONSEZ&lt;br /&gt;
* xx. [[ASAC|Agriculture connectée]] en partenariat avec les projets collectifs IESE/MAT : Nicolas Palix&lt;br /&gt;
* xx. [[Faults In Linux]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
===Affectations===&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [https://air.imag.fr/index.php/Planned_Deletion_Emails Courriels à Suppression Programmée]&lt;br /&gt;
| CANIN CORENTIN,MONTEILLER JOSHUA,WAGNER SAMY&lt;br /&gt;
| Michaël PÉRIN&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/01/docs/-/blob/main/%20Courriels%20%C3%A0%20Suppression%20Programm%C3%A9e%20info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [https://air.imag.fr/index.php/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l%E2%80%99Internet_des_Objets_isol%C3%A9s# Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]&lt;br /&gt;
| CARMONA DAMIAN,DA COSTA TOM,WOZNY PIERRE-RAPHAEL&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/02/docs/-/blob/main/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l_Internet_des_Objets_isol%C3%A9s_info4_2021_2022.md# Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [https://air.imag.fr/index.php/Evaluation_du_toolkit_AI_de_STM32_pour_l%27analyse_de_l%27environnement_sonore Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]&lt;br /&gt;
| BACH THOMAS,BARBE FLORENT,SIMO YOKAM GEORGES HARRISSO&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/03/docs/ Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Midterm_presentation_3_2022.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [https://air.imag.fr/index.php/Dashboard_pour_Overwatch# Dashboard pour Overwatch]&lt;br /&gt;
| CAILLES MAXIME,REYGNER ETIENNE,VERRIER MARTIN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/05/docs/-/blob/main/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]]&lt;br /&gt;
| CHIOTTI MAEL,LAVIROTTE GAETAN,MOTTINO LORIS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/06/docs/-/tree/main Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [https://air.imag.fr/index.php/Contribution_au_projet_STM32Python  Intégration de composants de mesures environnementales (eau, air...) pour le projet STM32Python à destination des lycéens]&lt;br /&gt;
| GUIRGUIS MIRETTE,HADIBY CHEMSSEDDINE,MOHSEN HACHEM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/08/docs/-/blob/main/README.md#lorawan Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Floating Water Quality Station]]&lt;br /&gt;
| BRETON EMERIC,FAGHLOUMI AYMAN,VIALLET CAMILLE&lt;br /&gt;
| Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/info4_2021_2022_Fiche_suivi_projet.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/Soutenance%20mi-parcours%20Projet_S8.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [https://air.imag.fr/index.php/G%C3%A9olocalition_Indoor_en_LoRa_2.4GHz Géolocalition Indoor en LoRa 2.4GHz]&lt;br /&gt;
| BERNERD CLARA,JARDIN BAPTISTE,NGUYEN JUSTIN&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/13/docs/-/blob/main/Fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[RealWorld avec Dioxus]]&lt;br /&gt;
| IFAKIREN SAMI,MONTHE DJEUMOU BRICE,NGUYEN CLEMEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/14/docs Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [https://air.imag.fr/index.php/Rust_Engine Exécuteur de tâche en Rust]&lt;br /&gt;
| CHAPPAZ FLORIAN,DE OLIVEIRA VALENTIN,KURKLU FIKRET&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/Rust_Engine_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/rust_engine_mid_presentation.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [https://air.imag.fr/index.php/Portail_pour_gestionnaire_de_taches Portail Pour Gestionnaire De Taches]&lt;br /&gt;
| KACHA TOM,MAHAMAN NOURY ABDOURAHAMANE,MEIGNEN HUGO,ZHANG KEMING&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Fiche_De_Suivi_17.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Pr%C3%A9sentation-mi-parcours.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
| [[Paquets NIX pour Polytech]]&lt;br /&gt;
| CONJARD SAMUEL,FODOR GERGELY,PELISSE-VERDOUX CYPRIEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/18/docs/-/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[Mini compilateur C pour mini CPU]]&lt;br /&gt;
| CAPET THEO,POITEVIN EVE,ROYET JULIAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/19/docs/-/blob/main/C_compiler_for_MCPU_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| Mode jeu en réseau pour [[TanksOfFreedom]],&lt;br /&gt;
| ABECASSIS THOMAS,FOURNIER THOMAS,ZAFFUTO LUCA&lt;br /&gt;
| Nicolas Palix&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/20/docs/-/blob/main/fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier:  Octobre à Décembre 2021. Soutenance 24 Janvier 2022.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Choix des projet des projets INFO5 Réseaux 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Github/Trello&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Réseau de capteur de dichlorométhane]]&lt;br /&gt;
| Dorian BARET - Malone JULIENNE - Quentin CAMBUS&lt;br /&gt;
| [https://lesjoiesducode.fr/quand-notre-revue-de-sprint-se-passe-nickel Fiche]&lt;br /&gt;
| [https://github.com/Cambus-Quentin/DichloWan2021/blob/main/README.md git]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Création d&#039;un système pour localiser les élèves lors de courses d&#039;orientation]]&lt;br /&gt;
| Antoine Gitton, Gilles Mertens, Bertrand Baudeur&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_spec.pdf|Spécification paquets LoRa]]&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_backend.zip|Souces back-end]] - [[Media:2021_2022_INFO5_IOT_Orientation_carte.zip|Souces carte]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Harnais animalier permettant de suivre notre animal domestique]]&lt;br /&gt;
| Sami ELHADJI TCHIAMBOU, Corentin HUMBERT, Paul LAMBERT, Hugo PRAT CAPILLA&lt;br /&gt;
| [[Media:PSP_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Bicorpro Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[Géolocalisation et suivi des transports en commun]]&lt;br /&gt;
| Liam ANDRIEUX, Lucas DREZET, Roman REGOUIN&lt;br /&gt;
|&lt;br /&gt;
| [https://github.com/2021-2022-IoT-INFO5-G4 Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[Tracking des déplacements de joueurs sur un terrain]]&lt;br /&gt;
| Elias EL YANDOUZI, Lucas CHALOYARD&lt;br /&gt;
| [[Media:IOT_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Indoor-Shadow/ble-experiment Github Repo]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Beer Pong connecté]]&lt;br /&gt;
| Yael PARA, Théo TEYSSIER, Victor MALOD, Alexis LANQUETIN&lt;br /&gt;
| [[Media:BeerPong_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/McReaper/BeerPongLora Gitub Repo]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exposés points techniques 10&#039; - questions 5&#039;&lt;br /&gt;
* Nom Sujet&lt;br /&gt;
* ??? Python&lt;br /&gt;
* ??? MQTT&lt;br /&gt;
* ??? COAP&lt;br /&gt;
* 26/11/2021 - Elias El Yandouzi - Les différentes techniques de virtualisation&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignant responsable : [[user:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Convention des projets tutorés externes : Elise Didier.&lt;br /&gt;
&lt;br /&gt;
Calendrier: 27/01 (8H30-12H00) au 18/03.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: A voir dessus.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation et choix des sujets: 27/01 (8H30-12H00) en salle Polygone P206 (voir ADE)&lt;br /&gt;
&lt;br /&gt;
Démarrage : 27/01&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours (à définir) : ??/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance finale : 18/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. &lt;br /&gt;
&lt;br /&gt;
====Séances MPI====&lt;br /&gt;
&lt;br /&gt;
Voir ADE qui fait foi).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Soutenance intermédiaire S10 ====&lt;br /&gt;
Date: 18/02 Matin. Distantiel (sur Zoom). Créneaux de 10 minutes.&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de la soutenance intermédiaire est de vérifier si l&#039;équipe projet est en bon ordre de marche&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;équipe présentera en 5-6 transparents en 7 minutes.&lt;br /&gt;
* les équipiers et leurs rôles&lt;br /&gt;
* le contexte, le sujet et l&#039;objectif du projet&lt;br /&gt;
* l&#039;architecture du systèmes à réaliser&lt;br /&gt;
* les technologies utilisées&lt;br /&gt;
* le plan de travail (backlog, planning, ce qui est fait, ce qu&#039;il reste à faire ...)&lt;br /&gt;
* les difficultés (s&#039;il y a)&lt;br /&gt;
&lt;br /&gt;
Prévoyez du temps pour les questions-réponses (3 minutes max).&lt;br /&gt;
&lt;br /&gt;
Respectez bien les créneaux indiqués (par respect pour les autres équipes) et soyez présents un peu en avance dans la salle d&#039;attente.&lt;br /&gt;
&lt;br /&gt;
La présence des porteurs n&#039;est pas obligatoire.&lt;br /&gt;
&lt;br /&gt;
==== Soutenance finale S10 ====&lt;br /&gt;
Date provisoire: 18/03/2022 (8H30-12H00 et 13H30-17H00).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;La présence du(des) porteur(s) est obligatoire. Pensez à les prévenir bien à l&#039;avance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Durée: 30 minutes par équipe: présentation, questions/réponses et démonstration incluse.&lt;br /&gt;
&lt;br /&gt;
Les documents devront être en ligne sur le wiki (colonne Documents) la veille (ie avant le 17/03/2021 23:59:59 CET).&lt;br /&gt;
&lt;br /&gt;
La présentation est constituée des chapitres suivants:&lt;br /&gt;
* Rappel du sujet/besoin et cahier des charges&lt;br /&gt;
* Technologies employées&lt;br /&gt;
* Architecture techniques&lt;br /&gt;
* Réalisations techniques&lt;br /&gt;
* Gestion de projet (méthode, planning prévisionnel et effectif, gestion des risques, rôles des membres ...)&lt;br /&gt;
* Outils (collaboration, CD/CI ...)&lt;br /&gt;
* Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux), la répartition  des lignes de code et des commits en pourcentage entre les membres du projet ...)&lt;br /&gt;
* Conclusion (Retour d&#039;expérience)&lt;br /&gt;
* Transparent expliquant la démonstration&lt;br /&gt;
&lt;br /&gt;
L&#039;ensemble des documents doit être accessible depuis le tableau ci-dessus et dans chaque fiche de suivi.&lt;br /&gt;
&lt;br /&gt;
Le screencast (réalisé lors de la dernière répétition) sera rendu disponible via un partage caché (wetransfer, google drive …) dont le lien sera ajouté dans le devoir idoine sur Moodle et également envoyé par mail à votre tuteur.&lt;br /&gt;
&lt;br /&gt;
Le rapport final contient les mêmes chapitres que la présentation ainsi qu&#039;un glossaire et une bibliographie. Le rapport ne doit pas dépasser 15 pages (schémas et figures compris). Vous pourrez référencer les autres documents que vous avez produits au cours du projet (spécifications détaillées, algorithmes, conception d&#039;écrans ...).&lt;br /&gt;
&lt;br /&gt;
Le rapport final est au format Markdown et doit être placé dans un des dépôts Git de votre groupe/organisation.&lt;br /&gt;
&lt;br /&gt;
NB: le rapport technique listé dans la colonne Documents contient tout ce qui ne tient pas dans les 15 pages du rapport final : cahier des charges, diagrammes UML, enquêtes utilisateurs design UI, API, technologies employées (détail), plan de tests, term of services, conformance RPGD, audits/diagnostiques sécurité, MTBR, rapport de vulnérabilité, plan de charge, rapports de charge, manuel d&#039;installation …  : ça dépend un peu de la nature de votre projet.&lt;br /&gt;
&lt;br /&gt;
Conseil : 30 minutes c&#039;est très court alors répétez la soutenance auparavant ! Prévoyez des transparents supplémentaires en annexe pour répondre aux questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prière de rapporter au fablab le matériel emprunté juste après votre soutenance&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2021-2022&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Porteur(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Dépôt Git&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Soutenance intermédiaire&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Test d&#039;infrastructures avec NixOS]]&lt;br /&gt;
| HUMBERT CORENTIN, MINIER MANCINI TITOUAN (Chef de projet), SUEUR CORENTIN (Scrum master)&lt;br /&gt;
| Olivier RICHARD et Quentin GUILLETEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Rapport Test Infrastructures NixOS 2021-2022|Rapport final]] - [[Media:Presentation_finale_NixOs.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:English_Poster_NixOS.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Plan dynamique d’un appartement connecté]]&lt;br /&gt;
| GRANGER OSCAR (Chef de projet), NOERIE SOPHIE, SARRE MARGAUX, SALMON AMAD, TEYSSIER THEO (Scrum master)&lt;br /&gt;
| Sybille CAFFIAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Suivi de troupeaux (ovins, bovins) en zone montagneuse avec un réseau LoRaWAN : expérimentation dans la Matheysine]]&lt;br /&gt;
| GITTON ANTOINE, MALOD VICTOR, MUTEL MATHIS&lt;br /&gt;
| Fabrice FOREST&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:INFO5_AgriConnect_presentation_miparcours.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[FitSize]]&lt;br /&gt;
| GEITNER TEVA	, GONZALEZ JULES, PARA YAEL&lt;br /&gt;
| Fidèle Eya&#039;a&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[GenderedNews]]&lt;br /&gt;
| AGUIAR MATHILDE (Chef de projet), HAJJI OUMAIMA (SCRUM Master), SIDIBE ROKIATOU DITE ROSE&lt;br /&gt;
| François PORTET, Gilles BASTIN, Ange RICHARD&lt;br /&gt;
| [[PROJET-INFO5 2022 GenderedNews|Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:flyer_genderednews.pdf|Flyer]] - [[Media: Soutenance_interm_genderednews.pdf|Presentation de mi-parcours]] - [[Media:Poster-genderednews-fr.pdf|Poster FR]] - [[Media:Poster-genderednews-en.pdf|Poster EN]] - [[Media: Pitch_genderednews.pdf | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/getalp/genderednews Dépot Git]&lt;br /&gt;
| [[Media: Soutenance_interm_genderednews.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Système d&#039;analyse de traces sportives]]&lt;br /&gt;
| HERQUE ERIC (Scrum Master), VACHERIAS GUILLAUME (Chef de projet)&lt;br /&gt;
| Vivien QUEMA&lt;br /&gt;
| [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive fiche suivis | Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation de mi-parcours]]- [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster FR]] - [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster EN]] - [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive pitch | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/vacherig/systeme-analyse-de-traces-sportives Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Qualité de l&#039;Air et Santé des Populations]]&lt;br /&gt;
| BAUDEUR BERTRAND (Scrum Master), MERTENS GILLES (Chef)&lt;br /&gt;
| Marie-Laure AIX&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/Air-Quality-LoRa Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Artiphonie(saison 3)]] extension de la [[Artiphonie (saison 2)]]&lt;br /&gt;
| BUISINE JULIEN (Chef de Projet), ELHADJI TCHIAMBOU SAMI, LAMBERT DAPHNE (Scrum Master), LAMBERT PAUL&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]] - [[Media:Poster_Artiphonie_FR.pdf|Poster FR]] - [[Media:Poster_Artiphonie_-_LAMBERT,_BUISINE,_ELHADJI_TCHIAMBOU.pdf|Poster EN]] - [[Media: Pitch_Artiphonie_2022.pdf|Pitch Artiphonie 2022]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/artiphonie/projet-info5-21-22 Dépot Git]&lt;br /&gt;
| [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[Quark Project]] &lt;br /&gt;
| CHALOYARD LUCAS, EL YANDOUZI ELIAS&lt;br /&gt;
| Olivier Gruber&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Soutenance QuarkV3.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Soutenance QuarkV3.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Jorigine]]&lt;br /&gt;
| BLANQUET ANTOINE (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;), LANQUETIN ALEXIS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), MALECOT ETHAN, PRAT-CAPILLA HUGO&lt;br /&gt;
| Sylvain Delangue&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:PosterJorigine2022_vfinal.pdf|Poster EN]] - [[Media:Pitch_Jorigine_grp10.pdf|Pitch en 180 secondes]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Contributions open source au projet EdCampus|EdCampus]] &lt;br /&gt;
| ANDRIEUX LIAM, COSOTTI KEVIN, DREZET LUCAS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), REGOUIN ROMAN (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;)&lt;br /&gt;
| Anthony GEOURJON&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Rapport EDCampus 2021-2022|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation de mi-parcours] - [https://air.imag.fr/images/0/00/PosterFREDCampus20212022.pdf Poster FR] - [https://air.imag.fr/images/d/df/EDCampus_-_2021_2022.pdf Poster EN] - [https://air.imag.fr/images/d/d5/PitchEDCampus20212022.pdf Pitch]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus Dépot Git]&lt;br /&gt;
| [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Contributions open source au projet LabnBook|LabnBook]] &lt;br /&gt;
| CIRSTEA PAUL, SOULARD	ALEXANDRE (Chef de projet), TONDEUX EMILIE (Scrum master), YUNG	KEVIN&lt;br /&gt;
| Anthony GEOURJON, Cédric DHAM&lt;br /&gt;
| [[PROJET-INFO5 2022 LabNbook|Fiche de suivi]]&lt;br /&gt;
| [https://github.com/AlexandreSoulard/Groupe-LabnBook/blob/main/rapportLabNbook.md Rapport final] - [[Media:LabnBook_Presentation_finale.pdf|Presentation finale FR]] - [[Media:LabNbook_flyer.pdf|Flyer]] - [[Media:LabnBook.pdf|Presentation de mi-parcours]] - [[Media:Poster_GroupLabnBook_Cirstea_Soulard_Tondeux_Yung.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes] - [https://drive.google.com/file/d/1eWU090ieX3dC8vweB4UKzwfu9E7jk1vI/view?usp=sharing Screencast]&lt;br /&gt;
| [https://github.com/AlexandreSoulard/Groupe-LabnBook Dépot Git]&lt;br /&gt;
| [[Media:LabnBook.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[Green collect]]&lt;br /&gt;
| BARET	DORIAN, CAMBUS QUENTIN (Chef de projet), JULIENNE MALONE, MALLEN GUILLAUME (Scrum master)&lt;br /&gt;
| Bernard TOURANCHEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/report/CR-Final-Report.md Rapport final] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation de mi-parcours] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/GreenCollects Dépot Git]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sujets non choisis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[LoRaWAN Roaming]] avec [[Chirpstack]], [[TheThingStack]] et [[Actility]] pour le projet [https://gricad-gitlab.univ-grenoble-alpes.fr/thingsat/public/-/blob/master/cubesat_mission/README.md Thingsat]: Didier DONSEZ, Olivier ALPHAND.&lt;br /&gt;
# [[Contributions logicielles au projet RIOT OS pour le New Space]] : Francois-Xavier MOLINA, Olivier ALPHAND, Didier DONSEZ&lt;br /&gt;
# [[Réseaux social d&#039;organisation de sortie (saison 2)]] refonte [[Réseaux social d&#039;organisation de sortie]], Olivier Richard&lt;br /&gt;
# [[Experiment Process Management]], Olivier Richard&lt;br /&gt;
# [[Language Server for Visual Studio]]: Olivier Gruber&lt;br /&gt;
# ABANDONNé [[Réseau d&#039;Alumni de formations]] (à confirmer), Gérard POLLIER ([https://disrupt-campus.univ-grenoble-alpes.fr/design-factory-grenoble/ Design Factory Grenoble])&lt;br /&gt;
# [[Evaluation du kit IA embarqué Wio Terminal]]: Louis CLOSSON, Didier DONSEZ (sous réserve de réception du matériel commandé)&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52351</id>
		<title>File:Presentation finale NixOs.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Presentation_finale_NixOs.pdf&amp;diff=52351"/>
		<updated>2022-03-17T21:14:47Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Nixos-hadoop-architecture-2.png&amp;diff=52339</id>
		<title>File:Nixos-hadoop-architecture-2.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Nixos-hadoop-architecture-2.png&amp;diff=52339"/>
		<updated>2022-03-17T21:02:19Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Titouan.Minier-Mancini uploaded a new version of File:Nixos-hadoop-architecture-2.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Nixos-hadoop-architecture-2.png&amp;diff=52338</id>
		<title>File:Nixos-hadoop-architecture-2.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Nixos-hadoop-architecture-2.png&amp;diff=52338"/>
		<updated>2022-03-17T20:59:57Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Nixos-hadoop-architecture-1.png&amp;diff=52337</id>
		<title>File:Nixos-hadoop-architecture-1.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Nixos-hadoop-architecture-1.png&amp;diff=52337"/>
		<updated>2022-03-17T20:59:44Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Nixos-elk-architecture.png&amp;diff=52336</id>
		<title>File:Nixos-elk-architecture.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Nixos-elk-architecture.png&amp;diff=52336"/>
		<updated>2022-03-17T20:58:23Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Nixos-kubernetes-architecture.png&amp;diff=52335</id>
		<title>File:Nixos-kubernetes-architecture.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Nixos-kubernetes-architecture.png&amp;diff=52335"/>
		<updated>2022-03-17T20:57:29Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Rapport_Test_Infrastructures_NixOS_2021-2022&amp;diff=52334</id>
		<title>Rapport Test Infrastructures NixOS 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Rapport_Test_Infrastructures_NixOS_2021-2022&amp;diff=52334"/>
		<updated>2022-03-17T20:56:07Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Created page with &amp;quot;=Rappel du sujet et cahier des charges=  L’objectif est d’expérimenter et de manipuler une technologie récente : NixOS et le projet de recherche NixOS-Compose. Nix est u...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Rappel du sujet et cahier des charges=&lt;br /&gt;
&lt;br /&gt;
L’objectif est d’expérimenter et de manipuler une technologie récente : NixOS et le projet de recherche NixOS-Compose. Nix est un outil de gestion de paquets (bibliothèques, morceau logiciel offrant certaines fonctionnalités), et NixOS est un système d&#039;exploitation Linux qui utilise Nix dans son architecture. Nous parlerons plus en détails des différentes technologiques manipulées dans la prochaine partie.&lt;br /&gt;
&lt;br /&gt;
Nos expérimentations ont consistées à déployer trois projets différents : Kubernetes, ELK et Hadoop en utilisant l&#039;outil NixOS-Compose. La partie la plus importante n&#039;étant pas de déployer une version aboutie et complête pour chacun de projets mais de documenter nos expériences pour fournir des retours utilisateurs permettant l&#039;amélioration de NixOS-Compose.&lt;br /&gt;
&lt;br /&gt;
=Technologies employées=&lt;br /&gt;
&lt;br /&gt;
==Nix==&lt;br /&gt;
&lt;br /&gt;
Nix est un gestionnaire de paquets et un langage fonctionnel qui se différencie de l&#039;approche classique avec sa grande reproductibilité qu&#039;il trouve incompatible avec le Filesystem Hierarchy Standard. Il dénonce l&#039;enfer des dépendances que l&#039;on retrouve avec cette approche où l&#039;on ne peut pas déterminer les versions utilisées. Nix repose sur son store, où il stocke toutes les dérivations pour chaque paquet. Ces dérivations contiennent des informations sur toutes les dépendances (d&#039;autres dérivations) et les instructions de build. Le nom de la dérivation indique le nom du paquet et un hash qui la rend unique mais surtout qui l&#039;identifie : une même dérivation produira toujours la même sortie.&lt;br /&gt;
&lt;br /&gt;
Avec cette approche, Nix permet plusieurs choses, notamment :&lt;br /&gt;
* La reproductibilité due au déterminisme des dérivations&lt;br /&gt;
* La possibilité d&#039;utiliser plusieurs versions d&#039;un même paquet en parallèle&lt;br /&gt;
* Comme le nom de la dérivation l&#039;identifie, il est possible de mettre en cache la sortie et la récupérer sans avoir à la reconstruire&lt;br /&gt;
&lt;br /&gt;
Nixpkgs est un répertoire en ligne contenant de nombreux paquets (80 000 actuellement) construits à partir de dérivations fournies par la communauté et accessibles à tous.&lt;br /&gt;
&lt;br /&gt;
==NixOS==&lt;br /&gt;
&lt;br /&gt;
NixOS est une distribution GNU/Linux reposant sur Nix en tant que gestionnaire de paquets mais également de gestionnaire de configuration. L&#039;ensemble du système et toutes les configurations sont considérés comme des dérivations. Cela permet entre autres de faire des restorations du système à des versions précédentes simplement, chaque modification du système occasionne la création d&#039;une nouvelle version atomique. Par ailleurs, le système d&#039;exploitation hérite ainsi de la propriété déterministe et reproductible que Nix offre.&lt;br /&gt;
&lt;br /&gt;
NixOS-test est une librairie de test qui permet, à partir d&#039;un ensemble de fichiers de configuration Nix, de fournir une interface python pour manipuler ces configurations sur une/des machines virtuelles avec QEMU.&lt;br /&gt;
&lt;br /&gt;
==NixOS-Compose==&lt;br /&gt;
&lt;br /&gt;
NixOS-Compose est un projet de l’équipe Datamove qui étend l’utilisation de NixOS vers d’autres supports que les machines virtuelles, comme notamment la plateforme Grid&#039;5000 et des solutions de conteneurs comme Docker.&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un orchestrateur de conteneurs permettant de déployer, mettre à l&#039;échelle et surveiller des applications conteneurisées sur un cluster de machines. Développé en Go et rendu open source en 2015 par Google inspiré de leur solution privée Borg, Kubernetes est maintenant l&#039;outil central du monde du DevOps dans l&#039;industrie. Il apporte une couche d&#039;abstraction au dessus d&#039;un datacenter, dont la mise en place a également été facilitée par le cloud, pour fournir une plateforme de déploiement fortement disponible aux développeurs. Kubernetes dispose également d&#039;un large écosystème d&#039;outils et plugins améliorant différents aspects de son utilisation : routage, monitoring, sécurité, gitops, déploiements (vert/bleu, canary...), serverless etc.&lt;br /&gt;
    &lt;br /&gt;
En cette qualité, Kubernetes est une plateforme de choix dans le cadre d&#039;expériences nécessitant notamment un certain nombre de services ou applications, comme dans le cas d&#039;architectures microservices par exemple. De plus, malgré ses nombreux atouts, Kubernetes est une solution souvent difficile et longue à mettre initialement en place pour cause d&#039;une configuration complexe liée à l&#039;architecture microservice de la plateforme elle-même. (Il faut reconnaître qu&#039;avec le cloud il est maintenant très simple de déployer un cluster Kubernetes, Terraform est notamment un concurrent potentiel de NixOS-Compose) &lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, être en mesure de fournir un cluster Kubernetes de la taille voulue, simplement, rapidemment et de manière reproductible, est un objectif très intéressant, non seulement pour l&#039;aspect apprentissage mais également pour son utilisation dans le contextes d&#039;expériences scientifiques avec NixOS-Compose. Kubernetes est en lui même un solution qui permet une forte reproductibilité au niveau des déploiements internes, mais c&#039;est la phase de déploiement des machines et de bootstrap du cluster qui manque cette qualité, et c&#039;est là que nous nous positionnons.&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;ELK&amp;quot; est l&#039;acronyme de trois projets open source : Elasticsearch, Logstash et Kibana.&lt;br /&gt;
&lt;br /&gt;
===Elasticsearch===&lt;br /&gt;
&lt;br /&gt;
Elasticsearch est un outil de recherche et d&#039;analyse de données fonctionnant de manière distribuée et basé sur [Apache Lucene](https://lucene.apache.org/). Créé par Shay Banon en 2004, au fil des années, Elasticsearch n&#039;a cessé d&#039;évoluer et aujourd&#039;hui c&#039;est l&#039;outil de référence pour réaliser une recherche performante sur une large quantité de données.&lt;br /&gt;
&lt;br /&gt;
Technologiquement parlant, il s&#039;agit d&#039;une base de données programmée en Java et spécialisée dans la recherche et l&#039;indexation de documents. Si Elasticsearch est aussi performant c&#039;est grâce à son fonctionnement en mode distribué. La tâche de recherche est exécutée en parallèle par plusieurs nœuds Elasticsearch, ce qui améliore la réactivité du système. Elasticsearch a aussi la force d&#039;être facilement configurable et mis à l&#039;échelle.&lt;br /&gt;
&lt;br /&gt;
===Logstash===&lt;br /&gt;
&lt;br /&gt;
Logstash est un outil écrit en Java et en Ruby permettant de **centraliser des traces** provenant de plusieurs systèmes, de les analyser et de les stocker. Conceptuellement, Logstash peut être vu comme un &amp;quot;pipe&amp;quot; où les données rentrent d&#039;un bout, et sont traitées avant de ressortir de l&#039;autre bout. Logstash est plus qu&#039;un simple &amp;quot;pipe&amp;quot; puisqu&#039;il peut prendre une multitude de sources différentes en entrées et renvoyées les données traitées vers différentes sorties. Il sert généralement à filtrer/analyser des messages avant de les envoyer à Elasticsearch qui va, lui, se charger de les stocker et de les indexer.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
&lt;br /&gt;
Kibana est un outil permettant la visualisation de données écrit en JavaScript est la dernière composante majeure de la stack ELK. Il est similaire à d&#039;autres outils de visualisation tel que [Grafana](https://grafana.com/), mais a la particularité d&#039;être spécialisé pour une utilisation au sein de la stack ELK. Le rôle de Kibana est donc de récupérer les données indexées par Elasticsearch et de les rendre visuellement exploitables pour un humain.&lt;br /&gt;
&lt;br /&gt;
===Beats===&lt;br /&gt;
&lt;br /&gt;
Bien que la stack ELK soit l&#039;acronyme des trois projets majeurs dont nous avons parlé précédemment, ELK est consistué d&#039;un autre projet nommé Beats. Il y a d&#039;ailleurs quelques discussions autour du renommage de la stack ELK en stack BELK pour inclure le projet Beats. Beats est une plateforme réunissant une multitude de petits outils permettant d&#039;expédier des données vers Logstash ou Elasticsearch. Chaque outil vise un type de données spécifiques. On retrouvera par exemple l&#039;outil Filebeat pour l&#039;expédition de traces systèmes, Metricbeat pour les métriques, Packetbeat pour le réseau ou encore Heartbeat pour le monitoring. Cette liste est non exhaustive, il existe plein d&#039;autres beats, chacun spécialisé pour des données de nature différente.&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Hadoop est un framework open source Java destiné à faciliter la création d&#039;applications distribuées (au niveau du stockage des données et de leur traitement) et scalables permettant aux applications de travailler avec des milliers de nœuds et des masses importantes de données. Ainsi chaque nœud est constitué de machines standard regroupées en grappe. Hadoop fonctionne avec de nombreux modules ou services conçus selon l&#039;idée que les pannes matérielles sont fréquentes et qu&#039;en conséquence elles doivent être gérées automatiquement par le framework. Cet aspect de redondance n&#039;est pas traité dans ce projet.&lt;br /&gt;
&lt;br /&gt;
=Architectures techniques=&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture de Kubernetes est distribuée sous forme de microservices avec plusieurs composants, chacun responsable d&#039;une certaine tâche pour contrôler le cluster et les applications qui y vivent. Tout d&#039;abord, les composants sont à séparer en deux groupes: le control plane, tête pensante du cluster, et les composants des nodes, responsables de faire fonctionner les conteneurs. Une machine est dite nœud maître dès lors qu&#039;elle est membre du control plane (elle exécute les composants du control plane, seule ou en communication avec les autres maîtres). Une machine peut à la fois être maître et exécuter des conteneurs (control plane et *Node*), ce n&#039;est toutefois pas recommandé au vu de l&#039;importance du rôle du control plane.&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-kubernetes-architecture.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://kubernetes.io/docs/concepts/overview/components&lt;br /&gt;
&lt;br /&gt;
===Control plane===&lt;br /&gt;
&lt;br /&gt;
Le control plane est un ensemble de composants responsable du bon fonctionnement du cluster. Ces composants sont présents sur chaque nœud maître du cluster. Dans le cas d&#039;un cluster à haute disponibilité (plusieurs maîtres), ces composants fonctionnent de manière distribuée, et nécessitent un load balancer.&lt;br /&gt;
&lt;br /&gt;
Le composant principal est l&#039;apiserver, qui est donc une API permettant la communication entre les différents composants. L&#039;apiserver est le seul composant avec qui les autres composants communiquent. Ensuite le controller manager, regroupe les différents contrôleurs dont le rôle est de gérer les resources qui leur corresponde (le contrôleur des *Pod* veille au bon fonctionnement des Pod, pareil pour les ReplicasSet, Endpoint, Node...). Le scheduler est responsable de l&#039;attribution des resources (machines) aux applications (Pod, Deployment...) selon les disponibilités et besoins. Enfin, etcd est une base de données distribuée de configuration qui conserve l&#039;état du cluster. C&#039;est une solution tiers et elle peut être exécutée sur un cluster à part des nœuds maître.&lt;br /&gt;
&lt;br /&gt;
===Node===&lt;br /&gt;
&lt;br /&gt;
Pour Kubernetes, un Node (ou nœud en français) est l&#039;abstraction d&#039;une machine (réelle ou virtuelle). Chaque machine représentant un Node doit faire tourner trois services: le kubelet, le kube-proxy et un environnement d&#039;exécution de conteneurs.&lt;br /&gt;
&lt;br /&gt;
Le kubelet est véritablement le responsable des conteneurs en pratique, il est le contremaître obéissant au control plane, chargé de faire appliquer ses directives. Le kubelet ordonne à l&#039;environnement d&#039;exécution de conteneurs et fait ses rapports de situation au control plane. Le kube-proxy est chargé de mettre en place les règles de réseau (iptables ou IPVS) pour veiller au bon fonctionnement notamment des Service et Endpoint. Enfin, l&#039;environnement d&#039;exécution de conteneurs peut être n&#039;importe quel solution respectant la CRI (container runtime interface) comme containerd ou CRI-O.&lt;br /&gt;
&lt;br /&gt;
Non-obligatoire mais également souvent présent est un plugin de CNI (container network interface) qui met en place le plan de réseau exigé par Kubernetes (à savoir un réseau où les Pod disposent d&#039;une adresse IP et peuvent communiquer entre eux) à ne pas confondre avec le réseau connectant les machines entre elles. On peut citer notamment Calico, Weave et celui qui est utilisé dans notre projet est Flannel (moins puissant). Parmi les addons on retrouve également un serveur DNS (nécessaire au bon fonctionnement des Services), anciennement kube-dns et maintenant plutôt coredns.&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne ELK, il ne s&#039;agit non pas d&#039;un système ou d&#039;un outil en lui-même mais de la collaboration d&#039;une multitude d&#039;outils open source ayant chacun leurs particularités et un fonctionnement qui leur est propre. Pour visualiser plus aisément l&#039;intéraction entre les différentes composantes de la stack ELK, on pourra s&#039;intéresser à l&#039;exemple suivant:&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-elk-architecture.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://fr.wikipedia.org/wiki/Logstash&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;exemple ci-dessus, on distingue trois sources indépendantes: MediaWiki, des services Node.js et Hadoop. Chacune des trois sources envoie des données à une instance différente de Logstash. Les instances de Logstash ne communiquent pas entre elles, toutefois, une fois le traitement des données effectué, chaque instance envoie ses données à un nœud Elasticsearch. Dans le schéma ci-dessus, les trois nœuds font partie d&#039;un même cluster, ce qui permet donc la mise en commun de l&#039;intégralité des données pouvant ensuite être visualisées via Kibana.&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Hadoop est un environement distribué de par son stockage mais également son traitement de données. C&#039;est une suite de solution open source pour le big data. The goal is to instanciate the different kind of nodes from one of the two possible implementation below, and make them communicate to run a job on the cluster.&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-hadoop-architecture-1.png|center]]&lt;br /&gt;
&lt;br /&gt;
[[File:nixos-hadoop-architecture-2.png|center]]&lt;br /&gt;
&lt;br /&gt;
Source : https://www.geeksforgeeks.org/hadoop-introduction&lt;br /&gt;
&lt;br /&gt;
=Réalisations techniques=&lt;br /&gt;
&lt;br /&gt;
==Kubernetes==&lt;br /&gt;
&lt;br /&gt;
L&#039;expérience avec Kubernetes consiste avant tout à déployer un cluster Kubernetes fonctionnel, utilisable comme n&#039;importe quel autre cluster. Pour cela nous nous reposons donc tout d&#039;abord sur la dérivation de Kubernetes sur nixpkgs. Ensuite nous utilisons d&#039;autres outils comme Helm et *Istio* pour enrichir l&#039;expérience.&lt;br /&gt;
&lt;br /&gt;
La dérivations de Kubernetes propose la version 1.21.6, avec certains aspects de configuration qui sont cependant déprécié (notamment au niveau des ports uti lisés et des flags devenus déconseillés) car non mis à jour depuis 4 ans. La configuration de cette dérivation peut se faire de deux manière: en précisant la configuration de tous les composants (cf. partie II), ou en précisant uniquement le rôle de la machine. Avec la première approche non pouvons avoir un contrôle complet sur la configuration alors que dans le second tout est plus abstrait. En revanche la deuxième manière est plus simple et plus claire. Nous avons opté pour la seconde en ajoutant un certain nombre d&#039;options supplémentaires. &lt;br /&gt;
&lt;br /&gt;
La composition de l&#039;expérience commence avec la description des machines ainsi que leur rôle dans le cluster. Nous utilisons généralement un nœud maître et deux nœuds de travail, sachant qu&#039;il n&#039;est pas possible actuellement de déployer un cluster à haute disponibilité dont le bootstrap des certificats est automatisé dans le déploiement, autrement il faut le faire manuellement ce qui est hors de question dans le cadre d&#039;un environnement reproductible.&lt;br /&gt;
&lt;br /&gt;
Ensuite nous disposons d&#039;une fonction pour générer la configuration des machines du cluster. Cette configuration contient donc le rôle du node mais également des ajustements sur les ports et addresses IP de certains composants pour permettre la bonne communication des composants entre eux.&lt;br /&gt;
&lt;br /&gt;
Nous ajoutons également une machine supplémentaire hors-cluster, c&#039;est une serveur NFS, une solution parmis d&#039;autres pour fournir au cluster un moyen de créer des volumes (*PersistentVolume*) accessibles par tous les nœuds. Ce serveur est monté sur toutes les machines, ce qui permet à l&#039;expérimentateur de soit utiliser des volumes NFS, soit des volumes locaux pour plus de simplicité.&lt;br /&gt;
&lt;br /&gt;
Avec Istio nous pouvons suivre le guide d&#039;exemple présent dans la documentation pour déployer une application microservice et vérifier le bon fonctionnement du cluster.&lt;br /&gt;
&lt;br /&gt;
Cette composition est fonctionnelle pour la plateforme de nixos-test et nixos-test-driver, toutes deux reposant sur QEMU, et également sur Grid&#039;5000 où elle dévoile son vrai potentielle car les machines sont réelles et véritablement utilisables pour administrer le cluster. Elle n&#039;est pas fonctionnelle sur Docker pour des raisons propres à NixOS-Compose qui ne permettent pas de modifier les noms d&#039;hôtes (/etc/hosts), ce qui empêche la dérivation de fonctionner correctement.&lt;br /&gt;
&lt;br /&gt;
Certains éléments de bootstrap se révèlent être difficilement applicable lors du déploiement avec NixOS-Compose et nous reposons donc en partie sur un script d&#039;initialisation du cluster. Ce script est créé dans la composition et accessible dans le path. Il redémarre les composants éventuellement échoués et affiche une commande à l&#039;utilisateur permettant d&#039;ajouter des machines au cluster, cette étape n&#039;tant pas automatisable simplement (l&#039;approche est la même que kubeadm). &lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
Pour ce qui est de l&#039;expérience ELK, une grande partie du temps a été passée à comprendre la stack ELK et ses différentes composantes. Pour réaliser une composition fonctionnelle via NixOS-Compose, nous nous sommes basés sur une composition pré-existante écrite pour NixOS-Tests. La composition a ensuite été modifiée de manière à fonctionner correctement pour les différents modes de déploiement (Docker, Grid&#039;5000).&lt;br /&gt;
&lt;br /&gt;
==Hadoop==&lt;br /&gt;
&lt;br /&gt;
Un paquet hadoop existe deja et il s&#039;agit principalement d&#039;en faire sa configuration. Plusieurs configurations différentes ont été réalisées, une minimale afin de comprendre le fonctionnement général, puis une se servant de yarn afin de maitriser la multiplicité des nœuds de travail.&lt;br /&gt;
    &lt;br /&gt;
Dans la composition minimale nous avons pu mettre, comme le premier shéma de la partie précédente, créer un node de front (namenode) ainsi qu&#039;un datanode fonctionnant avec le filesystem.&lt;br /&gt;
&lt;br /&gt;
=Gestion de projet=&lt;br /&gt;
&lt;br /&gt;
Ce projet relève en partie d’un travail de recherche au vu du manque de documentation, du développement toujours en cours de l’OS et de sa faible utilisation de la part de la communauté d’utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Une importante partie de ce projet repose sur la communication entre notre équipe et l’équipe Datamove pour recevoir des consignes et fournir des retours. Pour fluidifier ces échanges nous avons organisé des réunions régulières et mis en place des solutions de communication en permanence à travers des outils comme Telegram et Zoom pour les réunions.&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place deux types de réunions : des réunions quotidiennes avec un membre de l’équipe Datamove et des réunions hebdomadaires en équipe complète. Les réunions quotidiennes servent principalement à partager l’avancement et exprimer des éventuels blocages. Les réunions hebdomadaires visent davantage à faire un point global et à définir les prochaines étapes.&lt;br /&gt;
&lt;br /&gt;
==Planification==&lt;br /&gt;
&lt;br /&gt;
Pour ce qui est de la planification, il nous paraissait essentiel pour un projet comme le nôtre dans lequel énormément de temps est alloué à l&#039;apprentissage d&#039;une technologie plutôt qu&#039;à la production réelle de code de définir une roadmap.&lt;br /&gt;
&lt;br /&gt;
Cette roadmap avait pour but de planifier nos actions sur l’ensemble de la durée du projet. Nous avons fait évoluer la roadmap au fur et à mesure de notre avancement réel. Celle-ci nous a permis non seulement de travailler avec un objectif en tête mais également de partager ces objectifs avec l’équipe Datamove.&lt;br /&gt;
&lt;br /&gt;
==Organisation du travail==&lt;br /&gt;
&lt;br /&gt;
Au commencement de projet, notre objectif à tous était de se former rapidement sur Nix afin de comprendre l&#039;étendu des possibilités de l&#039;outil NixOS-Compose et de commencer à le tester.&lt;br /&gt;
&lt;br /&gt;
Notre première tâche a consisté à écrire une composition k3s compatible avec NixOS-Compose de manière à découvrir la puissance de l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Ensuite, nous sommes chacun parti sur un projet différent dans l&#039;optique de fournir trois expériences utilisateurs distinctes. La répartition des projets était la suivante :&lt;br /&gt;
* Titouan Minier Mancini : Kubernetes&lt;br /&gt;
* Corentin Humbert : Stack ELK&lt;br /&gt;
* Corentin Sueur : Hadoop&lt;br /&gt;
&lt;br /&gt;
Nous avons donc progressé chacun de notre côté sur nos projets respectifs tout en restant en contact constant de manière à éviter de passer trop temps bloqué sur une partie du projet. La communication a été impérative pour un tel projet au vu de sa complexité et du temps dont nous disposions pour le mener à terme.&lt;br /&gt;
&lt;br /&gt;
==Suivi du travail==&lt;br /&gt;
&lt;br /&gt;
En parallèle nous avons suivi la rédaction de carnets de route individuels où nous expliquons toutes nos actions dans la journée, avec un maximum de détails notamment sur les erreurs. L’objectif est de permettre aux membres de l’équipe Datamove de suivre notre avancée individuelle et d’aider sur les problèmes techniques éventuels. Ces carnet doivent permettre un maximum la reproductibilité des situations pour faciliter la correction.&lt;br /&gt;
&lt;br /&gt;
=Outils de travail=&lt;br /&gt;
&lt;br /&gt;
Au cours de notre projet, nous avons été amenés à utiliser de nombreux outils nous permettant d’échanger entre nous et avec l’équipe Datamove que ce soit pour poser des questions ou partager nos productions.&lt;br /&gt;
&lt;br /&gt;
* Communication écrite/orale :&lt;br /&gt;
** Au sein du groupe : Discord&lt;br /&gt;
** Avec l’équipe Datamove : Telegram, BBB, Zoom&lt;br /&gt;
* Échanges d’informations :&lt;br /&gt;
** Google docs, CodiMD&lt;br /&gt;
* Stockage des documents et du code produit :&lt;br /&gt;
** Dépôt GitLab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Métriques logiciels=&lt;br /&gt;
&lt;br /&gt;
Ce projet ne rentre pas dans le cadre d&#039;une production logicielle, la quantité de code produit est faible car le travail est avant tout un travail de compréhension et de recherche. Nous avons produit un fichier de composition pour chaque pile logicielle, ce qui correspond à une centaine de lignes chacune. Le temps était principalement accordé à l&#039;essai, l&#039;avancement à tâtons pour explorer les différentes options disponibles, et à la compréhension du fonctionnement de NixOS-Compose.&lt;br /&gt;
&lt;br /&gt;
Nous avons tous travaillé 35 heures par semaine, à l&#039;exception des première semaines en parallèle avec le projet ECOM où Titouan et Corention Humbert n&#039;étaient plus disponibles qu&#039;à hauteur de 21 à 28 heures par semaine.&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a avant tout permis de découvrir l&#039;environnement Nix et la solution NixOS-Compose, qui promet d&#039;être intéressante et un candidat potentiel à l&#039;*Infrastructure as Code* de demain. L&#039;approche est différente de ce que l&#039;on peut rencontrer avec d&#039;autres outils comme Terraform et il est enrichissant de s&#039;y pencher pour élargir sa pensée.&lt;br /&gt;
&lt;br /&gt;
Nous avons également pu travailler sur des piles logicielles que nous ne connaissions pas forcément, ce qui a aussi été très enrichissant. Nous avons appris à utiliser ces piles logicielles et à les configurer, ce qui est généralement le plus important pour ce genre de système. Nous avons appris ou réappris des technologies, et amélioré notre capacité à appréhender un système distribué, savoir d&#039;où viennent les problèmes et comment les résoudre.&lt;br /&gt;
&lt;br /&gt;
Les compositions que nous avons pu fournir à l&#039;issue du projet sont très satisfaisantes. Elles sont fonctionnelles et permettent à d&#039;autres utilisateurs d&#039;appréhender la solution NixOS-Compose. Nous avons également fourni des tutoriels et explications avec ces compositions pour exprimer des retours utilisateur au projet NixOS-Compose, ce qui, nous espérons, permettra de mettre en valeur ce beau projet.&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
La démonstration que nous proposons est de présenter le déploiement de chacune des piles logicielles.&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52324</id>
		<title>Projets 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52324"/>
		<updated>2022-03-17T20:33:29Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2020-2021]] | [[Projets]] | [[Projets 2022-2023]]&amp;gt;&amp;gt;&lt;br /&gt;
=INFO=&lt;br /&gt;
==INFO3==&lt;br /&gt;
&lt;br /&gt;
==INFO4==&lt;br /&gt;
===Projet Semestre S8===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: 10 Janvier 2021 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2021_2022. &#039;&#039;&#039;Cette fiche compte pour la note finale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Votre code&#039;&#039;&#039; pour doit être hébergé sur le gitlab et à l&#039;URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22 , vous utiliserez votre compte UGA.&lt;br /&gt;
&lt;br /&gt;
* Chaque projet doit avoir &#039;&#039;&#039;aux moins 2 dépôts git&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;Un pour les documents&#039;&#039;&#039; demandés rapport, présentation de pré-soutenante, de soutenance, flyer. &#039;&#039;&#039;Il sera appelé documents.&#039;&#039;&#039;&lt;br /&gt;
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. &lt;br /&gt;
&lt;br /&gt;
* Les &#039;&#039;&#039;documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)&#039;&#039;&#039;.  Le *rapport* sera aussi demandé en *anglais* (il fera la taille d&#039;un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;La note obtenue&#039;&#039;&#039; tiendra compte du &#039;&#039;&#039;nombre et de la qualité des commits&#039;&#039;&#039; observé dans &#039;&#039;&#039;vos dépots git et la branche master&#039;&#039;&#039; (or depot documents). La qualité comprend l&#039;intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n&#039;est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).&lt;br /&gt;
&lt;br /&gt;
* Il est fortement conseillé de suivre un &#039;&#039;&#039;développement incrémental&#039;&#039;&#039; qui permette d&#039;avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d&#039;une succession de &#039;&#039;&#039;démonstrateurs présentables séparément&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Vous devez faire aussi des &#039;&#039;&#039;schémas d&#039;architectures générales et/ou spéficiques, des diagrammes de séquence&#039;&#039;&#039;, et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.&lt;br /&gt;
&lt;br /&gt;
===Propositions de projets S8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1. [https://codimd.math.cnrs.fr/?next=%2Fs%2FB029qfT5Q Courriels à Suppression Programmée] : Michaël Périn&lt;br /&gt;
* 2. [[Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]], Didier DONSEZ.&lt;br /&gt;
* 3. [[Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]] (Suite 2022), Didier DONSEZ.&lt;br /&gt;
* 4. [[Algorithmes de géolocalisation d’objets par TDOA (Time Difference of Arrival)]] (suite), Didier DONSEZ.&lt;br /&gt;
* 5. [[Dashboard pour Overwatch]] Olivier Richard&lt;br /&gt;
* 6. [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 7. [[Bluetooth 5.1 Angle of Arrival based Indoor Localization]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 8. Intégration de composants de mesures environnementales (eau, air, ...) pour le [[Contribution au projet STM32Python|projet STM32Python]] à destination des lycéens: Didier DONSEZ&lt;br /&gt;
* 9. [[Air Quality Station]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 10. [[Floating Water Quality Station]] : Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
* 12. [[Testeur de terrain pour réseaux LoRaWAN privés et publics (TTN, CampusIoT et Helium)]] (suite 2021), Didier DONSEZ.&lt;br /&gt;
* 13. [[Géolocalition Indoor en LoRa 2.4GHz]], Didier DONSEZ.&lt;br /&gt;
* 14. [[RealWorld avec Dioxus]] (Rust + web), Olivier Richard&lt;br /&gt;
* 15. Poursuite projet 20-21 [[Rust Engine | Executeur de tâche en Rust]], Olivier Richard&lt;br /&gt;
* 16. Poursuite projet 20-21 [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard&lt;br /&gt;
* 17. Poursuite projet 19-20 [[Portail pour gestionnaire de taches]](react, Typescript), Olivier Richard&lt;br /&gt;
* 18. [[Paquets NIX pour Polytech]], Olivier Richard&lt;br /&gt;
* 19. [[Mini compilateur C pour mini CPU]], Olivier Richard&lt;br /&gt;
* 20. Mode jeu en réseau (Wifi/Bluetooth) pour [[TanksOfFreedom]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
Non affecté&lt;br /&gt;
* xx. [[Bibliothèque de décodeurs standards et d&#039;afficheurs Grafana pour objets connectés LoRaWAN]] : Didier DONSEZ&lt;br /&gt;
* xx. [[ASAC|Agriculture connectée]] en partenariat avec les projets collectifs IESE/MAT : Nicolas Palix&lt;br /&gt;
* xx. [[Faults In Linux]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
===Affectations===&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [https://air.imag.fr/index.php/Planned_Deletion_Emails Courriels à Suppression Programmée]&lt;br /&gt;
| CANIN CORENTIN,MONTEILLER JOSHUA,WAGNER SAMY&lt;br /&gt;
| Michaël PÉRIN&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/01/docs/-/blob/main/%20Courriels%20%C3%A0%20Suppression%20Programm%C3%A9e%20info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [https://air.imag.fr/index.php/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l%E2%80%99Internet_des_Objets_isol%C3%A9s# Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]&lt;br /&gt;
| CARMONA DAMIAN,DA COSTA TOM,WOZNY PIERRE-RAPHAEL&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/02/docs/-/blob/main/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l_Internet_des_Objets_isol%C3%A9s_info4_2021_2022.md# Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [https://air.imag.fr/index.php/Evaluation_du_toolkit_AI_de_STM32_pour_l%27analyse_de_l%27environnement_sonore Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]&lt;br /&gt;
| BACH THOMAS,BARBE FLORENT,SIMO YOKAM GEORGES HARRISSO&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/03/docs/ Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Midterm_presentation_3_2022.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [https://air.imag.fr/index.php/Dashboard_pour_Overwatch# Dashboard pour Overwatch]&lt;br /&gt;
| CAILLES MAXIME,REYGNER ETIENNE,VERRIER MARTIN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/05/docs/-/blob/main/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]]&lt;br /&gt;
| CHIOTTI MAEL,LAVIROTTE GAETAN,MOTTINO LORIS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/06/docs/-/tree/main Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [https://air.imag.fr/index.php/Contribution_au_projet_STM32Python  Intégration de composants de mesures environnementales (eau, air...) pour le projet STM32Python à destination des lycéens]&lt;br /&gt;
| GUIRGUIS MIRETTE,HADIBY CHEMSSEDDINE,MOHSEN HACHEM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/08/docs/-/blob/main/README.md#lorawan Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Floating Water Quality Station]]&lt;br /&gt;
| BRETON EMERIC,FAGHLOUMI AYMAN,VIALLET CAMILLE&lt;br /&gt;
| Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/info4_2021_2022_Fiche_suivi_projet.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/Soutenance%20mi-parcours%20Projet_S8.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [https://air.imag.fr/index.php/G%C3%A9olocalition_Indoor_en_LoRa_2.4GHz Géolocalition Indoor en LoRa 2.4GHz]&lt;br /&gt;
| BERNERD CLARA,JARDIN BAPTISTE,NGUYEN JUSTIN&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/13/docs/-/blob/main/Fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[RealWorld avec Dioxus]]&lt;br /&gt;
| IFAKIREN SAMI,MONTHE DJEUMOU BRICE,NGUYEN CLEMEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/14/docs Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [https://air.imag.fr/index.php/Rust_Engine Exécuteur de tâche en Rust]&lt;br /&gt;
| CHAPPAZ FLORIAN,DE OLIVEIRA VALENTIN,KURKLU FIKRET&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/Rust_Engine_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/rust_engine_mid_presentation.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [https://air.imag.fr/index.php/Portail_pour_gestionnaire_de_taches Portail Pour Gestionnaire De Taches]&lt;br /&gt;
| KACHA TOM,MAHAMAN NOURY ABDOURAHAMANE,MEIGNEN HUGO,ZHANG KEMING&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Fiche_De_Suivi_17.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Pr%C3%A9sentation-mi-parcours.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
| [[Paquets NIX pour Polytech]]&lt;br /&gt;
| CONJARD SAMUEL,FODOR GERGELY,PELISSE-VERDOUX CYPRIEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/18/docs/-/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[Mini compilateur C pour mini CPU]]&lt;br /&gt;
| CAPET THEO,POITEVIN EVE,ROYET JULIAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/19/docs/-/blob/main/C_compiler_for_MCPU_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| Mode jeu en réseau pour [[TanksOfFreedom]],&lt;br /&gt;
| ABECASSIS THOMAS,FOURNIER THOMAS,ZAFFUTO LUCA&lt;br /&gt;
| Nicolas Palix&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/20/docs/-/blob/main/fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier:  Octobre à Décembre 2021. Soutenance 24 Janvier 2022.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Choix des projet des projets INFO5 Réseaux 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Github/Trello&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Réseau de capteur de dichlorométhane]]&lt;br /&gt;
| Dorian BARET - Malone JULIENNE - Quentin CAMBUS&lt;br /&gt;
| [https://lesjoiesducode.fr/quand-notre-revue-de-sprint-se-passe-nickel Fiche]&lt;br /&gt;
| [https://github.com/Cambus-Quentin/DichloWan2021/blob/main/README.md git]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Création d&#039;un système pour localiser les élèves lors de courses d&#039;orientation]]&lt;br /&gt;
| Antoine Gitton, Gilles Mertens, Bertrand Baudeur&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_spec.pdf|Spécification paquets LoRa]]&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_backend.zip|Souces back-end]] - [[Media:2021_2022_INFO5_IOT_Orientation_carte.zip|Souces carte]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Harnais animalier permettant de suivre notre animal domestique]]&lt;br /&gt;
| Sami ELHADJI TCHIAMBOU, Corentin HUMBERT, Paul LAMBERT, Hugo PRAT CAPILLA&lt;br /&gt;
| [[Media:PSP_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Bicorpro Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[Géolocalisation et suivi des transports en commun]]&lt;br /&gt;
| Liam ANDRIEUX, Lucas DREZET, Roman REGOUIN&lt;br /&gt;
|&lt;br /&gt;
| [https://github.com/2021-2022-IoT-INFO5-G4 Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[Tracking des déplacements de joueurs sur un terrain]]&lt;br /&gt;
| Elias EL YANDOUZI, Lucas CHALOYARD&lt;br /&gt;
| [[Media:IOT_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Indoor-Shadow/ble-experiment Github Repo]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Beer Pong connecté]]&lt;br /&gt;
| Yael PARA, Théo TEYSSIER, Victor MALOD, Alexis LANQUETIN&lt;br /&gt;
| [[Media:BeerPong_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/McReaper/BeerPongLora Gitub Repo]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exposés points techniques 10&#039; - questions 5&#039;&lt;br /&gt;
* Nom Sujet&lt;br /&gt;
* ??? Python&lt;br /&gt;
* ??? MQTT&lt;br /&gt;
* ??? COAP&lt;br /&gt;
* 26/11/2021 - Elias El Yandouzi - Les différentes techniques de virtualisation&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignant responsable : [[user:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Convention des projets tutorés externes : Elise Didier.&lt;br /&gt;
&lt;br /&gt;
Calendrier: 27/01 (8H30-12H00) au 18/03.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: A voir dessus.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation et choix des sujets: 27/01 (8H30-12H00) en salle Polygone P206 (voir ADE)&lt;br /&gt;
&lt;br /&gt;
Démarrage : 27/01&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours (à définir) : ??/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance finale : 18/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. &lt;br /&gt;
&lt;br /&gt;
====Séances MPI====&lt;br /&gt;
&lt;br /&gt;
Voir ADE qui fait foi).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Soutenance intermédiaire S10 ====&lt;br /&gt;
Date: 18/02 Matin. Distantiel (sur Zoom). Créneaux de 10 minutes.&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de la soutenance intermédiaire est de vérifier si l&#039;équipe projet est en bon ordre de marche&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;équipe présentera en 5-6 transparents en 7 minutes.&lt;br /&gt;
* les équipiers et leurs rôles&lt;br /&gt;
* le contexte, le sujet et l&#039;objectif du projet&lt;br /&gt;
* l&#039;architecture du systèmes à réaliser&lt;br /&gt;
* les technologies utilisées&lt;br /&gt;
* le plan de travail (backlog, planning, ce qui est fait, ce qu&#039;il reste à faire ...)&lt;br /&gt;
* les difficultés (s&#039;il y a)&lt;br /&gt;
&lt;br /&gt;
Prévoyez du temps pour les questions-réponses (3 minutes max).&lt;br /&gt;
&lt;br /&gt;
Respectez bien les créneaux indiqués (par respect pour les autres équipes) et soyez présents un peu en avance dans la salle d&#039;attente.&lt;br /&gt;
&lt;br /&gt;
La présence des porteurs n&#039;est pas obligatoire.&lt;br /&gt;
&lt;br /&gt;
==== Soutenance finale S10 ====&lt;br /&gt;
Date provisoire: 18/03/2022 (8H30-12H00 et 13H30-17H00).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;La présence du(des) porteur(s) est obligatoire. Pensez à les prévenir bien à l&#039;avance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Durée: 30 minutes par équipe: présentation, questions/réponses et démonstration incluse.&lt;br /&gt;
&lt;br /&gt;
Les documents devront être en ligne sur le wiki (colonne Documents) la veille (ie avant le 17/03/2021 23:59:59 CET).&lt;br /&gt;
&lt;br /&gt;
La présentation est constituée des chapitres suivants:&lt;br /&gt;
* Rappel du sujet/besoin et cahier des charges&lt;br /&gt;
* Technologies employées&lt;br /&gt;
* Architecture techniques&lt;br /&gt;
* Réalisations techniques&lt;br /&gt;
* Gestion de projet (méthode, planning prévisionnel et effectif, gestion des risques, rôles des membres ...)&lt;br /&gt;
* Outils (collaboration, CD/CI ...)&lt;br /&gt;
* Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux), la répartition  des lignes de code et des commits en pourcentage entre les membres du projet ...)&lt;br /&gt;
* Conclusion (Retour d&#039;expérience)&lt;br /&gt;
* Transparent expliquant la démonstration&lt;br /&gt;
&lt;br /&gt;
L&#039;ensemble des documents doit être accessible depuis le tableau ci-dessus et dans chaque fiche de suivi.&lt;br /&gt;
&lt;br /&gt;
Le screencast (réalisé lors de la dernière répétition) sera rendu disponible via un partage caché (wetransfer, google drive …) dont le lien sera ajouté dans le devoir idoine sur Moodle et également envoyé par mail à votre tuteur.&lt;br /&gt;
&lt;br /&gt;
Le rapport final contient les mêmes chapitres que la présentation ainsi qu&#039;un glossaire et une bibliographie. Le rapport ne doit pas dépasser 15 pages (schémas et figures compris). Vous pourrez référencer les autres documents que vous avez produits au cours du projet (spécifications détaillées, algorithmes, conception d&#039;écrans ...).&lt;br /&gt;
&lt;br /&gt;
Le rapport final est au format Markdown et doit être placé dans un des dépôts Git de votre groupe/organisation.&lt;br /&gt;
&lt;br /&gt;
NB: le rapport technique listé dans la colonne Documents contient tout ce qui ne tient pas dans les 15 pages du rapport final : cahier des charges, diagrammes UML, enquêtes utilisateurs design UI, API, technologies employées (détail), plan de tests, term of services, conformance RPGD, audits/diagnostiques sécurité, MTBR, rapport de vulnérabilité, plan de charge, rapports de charge, manuel d&#039;installation …  : ça dépend un peu de la nature de votre projet.&lt;br /&gt;
&lt;br /&gt;
Conseil : 30 minutes c&#039;est très court alors répétez la soutenance auparavant ! Prévoyez des transparents supplémentaires en annexe pour répondre aux questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prière de rapporter au fablab le matériel emprunté juste après votre soutenance&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2021-2022&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Porteur(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Dépôt Git&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Soutenance intermédiaire&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Test d&#039;infrastructures avec NixOS]]&lt;br /&gt;
| HUMBERT CORENTIN, MINIER MANCINI TITOUAN (Chef de projet), SUEUR CORENTIN (Scrum master)&lt;br /&gt;
| Olivier RICHARD et Quentin GUILLETEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Rapport Test Infrastructures NixOS 2021-2022|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:English_Poster_NixOS.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Plan dynamique d’un appartement connecté]]&lt;br /&gt;
| GRANGER OSCAR (Chef de projet), NOERIE SOPHIE, SARRE MARGAUX, SALMON AMAD, TEYSSIER THEO (Scrum master)&lt;br /&gt;
| Sybille CAFFIAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Suivi de troupeaux (ovins, bovins) en zone montagneuse avec un réseau LoRaWAN : expérimentation dans la Matheysine]]&lt;br /&gt;
| GITTON ANTOINE, MALOD VICTOR, MUTEL MATHIS&lt;br /&gt;
| Fabrice FOREST&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:INFO5_AgriConnect_presentation_miparcours.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[FitSize]]&lt;br /&gt;
| GEITNER TEVA	, GONZALEZ JULES, PARA YAEL&lt;br /&gt;
| Fidèle Eya&#039;a&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[GenderedNews]]&lt;br /&gt;
| AGUIAR MATHILDE (Chef de projet), HAJJI OUMAIMA (SCRUM Master), SIDIBE ROKIATOU DITE ROSE&lt;br /&gt;
| François PORTET, Gilles BASTIN, Ange RICHARD&lt;br /&gt;
| [[PROJET-INFO5 2022 GenderedNews|Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:flyer_genderednews.pdf|Flyer]] - [[Media: Soutenance_interm_genderednews.pdf|Presentation de mi-parcours]] - [[Media:Poster-genderednews-fr.pdf|Poster FR]] - [[Media:Poster-genderednews-en.pdf|Poster EN]] - [[Media: Pitch_genderednews.pdf | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/getalp/genderednews Dépot Git]&lt;br /&gt;
| [[Media: Soutenance_interm_genderednews.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Système d&#039;analyse de traces sportives]]&lt;br /&gt;
| HERQUE ERIC (Scrum Master), VACHERIAS GUILLAUME (Chef de projet)&lt;br /&gt;
| Vivien QUEMA&lt;br /&gt;
| [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive fiche suivis | Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation de mi-parcours]]- [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster FR]] - [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster EN]] - [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive pitch | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/vacherig/systeme-analyse-de-traces-sportives Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Qualité de l&#039;Air et Santé des Populations]]&lt;br /&gt;
| BAUDEUR BERTRAND (Scrum Master), MERTENS GILLES (Chef)&lt;br /&gt;
| Marie-Laure AIX&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/Air-Quality-LoRa Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Artiphonie(saison 3)]] extension de la [[Artiphonie (saison 2)]]&lt;br /&gt;
| BUISINE JULIEN (Chef de Projet), ELHADJI TCHIAMBOU SAMI, LAMBERT DAPHNE (Scrum Master), LAMBERT PAUL&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]] - [[Media:Poster_Artiphonie_FR.pdf|Poster FR]] - [[Media:Poster_Artiphonie_-_LAMBERT,_BUISINE,_ELHADJI_TCHIAMBOU.pdf|Poster EN]] - [[Media: Pitch_Artiphonie_2022.pdf|Pitch Artiphonie 2022]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/artiphonie/projet-info5-21-22 Dépot Git]&lt;br /&gt;
| [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[Quark Project]] &lt;br /&gt;
| CHALOYARD LUCAS, EL YANDOUZI ELIAS&lt;br /&gt;
| Olivier Gruber&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Soutenance QuarkV3.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Soutenance QuarkV3.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Jorigine]]&lt;br /&gt;
| BLANQUET ANTOINE (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;), LANQUETIN ALEXIS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), MALECOT ETHAN, PRAT-CAPILLA HUGO&lt;br /&gt;
| Sylvain Delangue&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:PosterJorigine2022_vfinal.pdf|Poster EN]] - [[Media:Pitch_Jorigine_grp10.pdf|Pitch en 180 secondes]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Contributions open source au projet EdCampus|EdCampus]] &lt;br /&gt;
| ANDRIEUX LIAM, COSOTTI KEVIN, DREZET LUCAS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), REGOUIN ROMAN (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;)&lt;br /&gt;
| Anthony GEOURJON&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Rapport EDCampus 2021-2022|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation de mi-parcours] - [https://air.imag.fr/images/0/00/PosterFREDCampus20212022.pdf Poster FR] - [https://air.imag.fr/images/d/df/EDCampus_-_2021_2022.pdf Poster EN] - [https://air.imag.fr/images/d/d5/PitchEDCampus20212022.pdf Pitch]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus Dépot Git]&lt;br /&gt;
| [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Contributions open source au projet LabnBook|LabnBook]] &lt;br /&gt;
| CIRSTEA PAUL, SOULARD	ALEXANDRE (Chef de projet), TONDEUX EMILIE (Scrum master), YUNG	KEVIN&lt;br /&gt;
| Anthony GEOURJON, Cédric DHAM&lt;br /&gt;
| [[PROJET-INFO5 2022 LabNbook|Fiche de suivi]]&lt;br /&gt;
| [[Rapport LabNbook 2021-2022|Rapport final]] - [[Media:LabnBook_Presentation_finale.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Flyer]] - [[Media:LabnBook.pdf|Presentation de mi-parcours]] - [[Media:Poster_GroupLabnBook_Cirstea_Soulard_Tondeux_Yung.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes] - [https://drive.google.com/file/d/1eWU090ieX3dC8vweB4UKzwfu9E7jk1vI/view?usp=sharing Screencast]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:LabnBook.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[Green collect]]&lt;br /&gt;
| BARET	DORIAN, CAMBUS QUENTIN (Chef de projet), JULIENNE MALONE, MALLEN GUILLAUME (Scrum master)&lt;br /&gt;
| Bernard TOURANCHEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/report/CR-Final-Report.md Rapport final] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation de mi-parcours] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/GreenCollects Dépot Git]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sujets non choisis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[LoRaWAN Roaming]] avec [[Chirpstack]], [[TheThingStack]] et [[Actility]] pour le projet [https://gricad-gitlab.univ-grenoble-alpes.fr/thingsat/public/-/blob/master/cubesat_mission/README.md Thingsat]: Didier DONSEZ, Olivier ALPHAND.&lt;br /&gt;
# [[Contributions logicielles au projet RIOT OS pour le New Space]] : Francois-Xavier MOLINA, Olivier ALPHAND, Didier DONSEZ&lt;br /&gt;
# [[Réseaux social d&#039;organisation de sortie (saison 2)]] refonte [[Réseaux social d&#039;organisation de sortie]], Olivier Richard&lt;br /&gt;
# [[Experiment Process Management]], Olivier Richard&lt;br /&gt;
# [[Language Server for Visual Studio]]: Olivier Gruber&lt;br /&gt;
# ABANDONNé [[Réseau d&#039;Alumni de formations]] (à confirmer), Gérard POLLIER ([https://disrupt-campus.univ-grenoble-alpes.fr/design-factory-grenoble/ Design Factory Grenoble])&lt;br /&gt;
# [[Evaluation du kit IA embarqué Wio Terminal]]: Louis CLOSSON, Didier DONSEZ (sous réserve de réception du matériel commandé)&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52313</id>
		<title>Projets 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52313"/>
		<updated>2022-03-17T19:26:56Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2020-2021]] | [[Projets]] | [[Projets 2022-2023]]&amp;gt;&amp;gt;&lt;br /&gt;
=INFO=&lt;br /&gt;
==INFO3==&lt;br /&gt;
&lt;br /&gt;
==INFO4==&lt;br /&gt;
===Projet Semestre S8===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: 10 Janvier 2021 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2021_2022. &#039;&#039;&#039;Cette fiche compte pour la note finale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Votre code&#039;&#039;&#039; pour doit être hébergé sur le gitlab et à l&#039;URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22 , vous utiliserez votre compte UGA.&lt;br /&gt;
&lt;br /&gt;
* Chaque projet doit avoir &#039;&#039;&#039;aux moins 2 dépôts git&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;Un pour les documents&#039;&#039;&#039; demandés rapport, présentation de pré-soutenante, de soutenance, flyer. &#039;&#039;&#039;Il sera appelé documents.&#039;&#039;&#039;&lt;br /&gt;
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. &lt;br /&gt;
&lt;br /&gt;
* Les &#039;&#039;&#039;documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)&#039;&#039;&#039;.  Le *rapport* sera aussi demandé en *anglais* (il fera la taille d&#039;un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;La note obtenue&#039;&#039;&#039; tiendra compte du &#039;&#039;&#039;nombre et de la qualité des commits&#039;&#039;&#039; observé dans &#039;&#039;&#039;vos dépots git et la branche master&#039;&#039;&#039; (or depot documents). La qualité comprend l&#039;intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n&#039;est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).&lt;br /&gt;
&lt;br /&gt;
* Il est fortement conseillé de suivre un &#039;&#039;&#039;développement incrémental&#039;&#039;&#039; qui permette d&#039;avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d&#039;une succession de &#039;&#039;&#039;démonstrateurs présentables séparément&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Vous devez faire aussi des &#039;&#039;&#039;schémas d&#039;architectures générales et/ou spéficiques, des diagrammes de séquence&#039;&#039;&#039;, et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.&lt;br /&gt;
&lt;br /&gt;
===Propositions de projets S8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1. [https://codimd.math.cnrs.fr/?next=%2Fs%2FB029qfT5Q Courriels à Suppression Programmée] : Michaël Périn&lt;br /&gt;
* 2. [[Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]], Didier DONSEZ.&lt;br /&gt;
* 3. [[Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]] (Suite 2022), Didier DONSEZ.&lt;br /&gt;
* 4. [[Algorithmes de géolocalisation d’objets par TDOA (Time Difference of Arrival)]] (suite), Didier DONSEZ.&lt;br /&gt;
* 5. [[Dashboard pour Overwatch]] Olivier Richard&lt;br /&gt;
* 6. [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 7. [[Bluetooth 5.1 Angle of Arrival based Indoor Localization]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 8. Intégration de composants de mesures environnementales (eau, air, ...) pour le [[Contribution au projet STM32Python|projet STM32Python]] à destination des lycéens: Didier DONSEZ&lt;br /&gt;
* 9. [[Air Quality Station]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 10. [[Floating Water Quality Station]] : Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
* 12. [[Testeur de terrain pour réseaux LoRaWAN privés et publics (TTN, CampusIoT et Helium)]] (suite 2021), Didier DONSEZ.&lt;br /&gt;
* 13. [[Géolocalition Indoor en LoRa 2.4GHz]], Didier DONSEZ.&lt;br /&gt;
* 14. [[RealWorld avec Dioxus]] (Rust + web), Olivier Richard&lt;br /&gt;
* 15. Poursuite projet 20-21 [[Rust Engine | Executeur de tâche en Rust]], Olivier Richard&lt;br /&gt;
* 16. Poursuite projet 20-21 [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard&lt;br /&gt;
* 17. Poursuite projet 19-20 [[Portail pour gestionnaire de taches]](react, Typescript), Olivier Richard&lt;br /&gt;
* 18. [[Paquets NIX pour Polytech]], Olivier Richard&lt;br /&gt;
* 19. [[Mini compilateur C pour mini CPU]], Olivier Richard&lt;br /&gt;
* 20. Mode jeu en réseau (Wifi/Bluetooth) pour [[TanksOfFreedom]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
Non affecté&lt;br /&gt;
* xx. [[Bibliothèque de décodeurs standards et d&#039;afficheurs Grafana pour objets connectés LoRaWAN]] : Didier DONSEZ&lt;br /&gt;
* xx. [[ASAC|Agriculture connectée]] en partenariat avec les projets collectifs IESE/MAT : Nicolas Palix&lt;br /&gt;
* xx. [[Faults In Linux]], Nicolas Palix&lt;br /&gt;
&lt;br /&gt;
===Affectations===&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [https://air.imag.fr/index.php/Planned_Deletion_Emails Courriels à Suppression Programmée]&lt;br /&gt;
| CANIN CORENTIN,MONTEILLER JOSHUA,WAGNER SAMY&lt;br /&gt;
| Michaël PÉRIN&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/01/docs/-/blob/main/%20Courriels%20%C3%A0%20Suppression%20Programm%C3%A9e%20info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [https://air.imag.fr/index.php/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l%E2%80%99Internet_des_Objets_isol%C3%A9s# Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]&lt;br /&gt;
| CARMONA DAMIAN,DA COSTA TOM,WOZNY PIERRE-RAPHAEL&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/02/docs/-/blob/main/Firmwares_open_source_pour_une_station_de_r%C3%A9ception_de_satellites_pour_l_Internet_des_Objets_isol%C3%A9s_info4_2021_2022.md# Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [https://air.imag.fr/index.php/Evaluation_du_toolkit_AI_de_STM32_pour_l%27analyse_de_l%27environnement_sonore Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]&lt;br /&gt;
| BACH THOMAS,BARBE FLORENT,SIMO YOKAM GEORGES HARRISSO&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/03/docs/ Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Midterm_presentation_3_2022.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [https://air.imag.fr/index.php/Dashboard_pour_Overwatch# Dashboard pour Overwatch]&lt;br /&gt;
| CAILLES MAXIME,REYGNER ETIENNE,VERRIER MARTIN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/05/docs/-/blob/main/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]]&lt;br /&gt;
| CHIOTTI MAEL,LAVIROTTE GAETAN,MOTTINO LORIS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/06/docs/-/tree/main Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [https://air.imag.fr/index.php/Contribution_au_projet_STM32Python  Intégration de composants de mesures environnementales (eau, air...) pour le projet STM32Python à destination des lycéens]&lt;br /&gt;
| GUIRGUIS MIRETTE,HADIBY CHEMSSEDDINE,MOHSEN HACHEM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/08/docs/-/blob/main/README.md#lorawan Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Floating Water Quality Station]]&lt;br /&gt;
| BRETON EMERIC,FAGHLOUMI AYMAN,VIALLET CAMILLE&lt;br /&gt;
| Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/info4_2021_2022_Fiche_suivi_projet.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/Soutenance%20mi-parcours%20Projet_S8.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [https://air.imag.fr/index.php/G%C3%A9olocalition_Indoor_en_LoRa_2.4GHz Géolocalition Indoor en LoRa 2.4GHz]&lt;br /&gt;
| BERNERD CLARA,JARDIN BAPTISTE,NGUYEN JUSTIN&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/13/docs/-/blob/main/Fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[RealWorld avec Dioxus]]&lt;br /&gt;
| IFAKIREN SAMI,MONTHE DJEUMOU BRICE,NGUYEN CLEMEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/14/docs Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [https://air.imag.fr/index.php/Rust_Engine Exécuteur de tâche en Rust]&lt;br /&gt;
| CHAPPAZ FLORIAN,DE OLIVEIRA VALENTIN,KURKLU FIKRET&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/Rust_Engine_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/-/blob/main/rust_engine_mid_presentation.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [https://air.imag.fr/index.php/Portail_pour_gestionnaire_de_taches Portail Pour Gestionnaire De Taches]&lt;br /&gt;
| KACHA TOM,MAHAMAN NOURY ABDOURAHAMANE,MEIGNEN HUGO,ZHANG KEMING&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Fiche_De_Suivi_17.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/-/blob/main/Pr%C3%A9sentation-mi-parcours.pdf Presentation de mi-parcours]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
| [[Paquets NIX pour Polytech]]&lt;br /&gt;
| CONJARD SAMUEL,FODOR GERGELY,PELISSE-VERDOUX CYPRIEN&lt;br /&gt;
| Olivier RICHARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/18/docs/-/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[Mini compilateur C pour mini CPU]]&lt;br /&gt;
| CAPET THEO,POITEVIN EVE,ROYET JULIAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/19/docs/-/blob/main/C_compiler_for_MCPU_info4_2021_2022.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| Mode jeu en réseau pour [[TanksOfFreedom]],&lt;br /&gt;
| ABECASSIS THOMAS,FOURNIER THOMAS,ZAFFUTO LUCA&lt;br /&gt;
| Nicolas Palix&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/20/docs/-/blob/main/fiche_de_suivi.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier:  Octobre à Décembre 2021. Soutenance 24 Janvier 2022.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Choix des projet des projets INFO5 Réseaux 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Github/Trello&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Réseau de capteur de dichlorométhane]]&lt;br /&gt;
| Dorian BARET - Malone JULIENNE - Quentin CAMBUS&lt;br /&gt;
| [https://lesjoiesducode.fr/quand-notre-revue-de-sprint-se-passe-nickel Fiche]&lt;br /&gt;
| [https://github.com/Cambus-Quentin/DichloWan2021/blob/main/README.md git]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Création d&#039;un système pour localiser les élèves lors de courses d&#039;orientation]]&lt;br /&gt;
| Antoine Gitton, Gilles Mertens, Bertrand Baudeur&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_spec.pdf|Spécification paquets LoRa]]&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_backend.zip|Souces back-end]] - [[Media:2021_2022_INFO5_IOT_Orientation_carte.zip|Souces carte]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Harnais animalier permettant de suivre notre animal domestique]]&lt;br /&gt;
| Sami ELHADJI TCHIAMBOU, Corentin HUMBERT, Paul LAMBERT, Hugo PRAT CAPILLA&lt;br /&gt;
| [[Media:PSP_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Bicorpro Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[Géolocalisation et suivi des transports en commun]]&lt;br /&gt;
| Liam ANDRIEUX, Lucas DREZET, Roman REGOUIN&lt;br /&gt;
|&lt;br /&gt;
| [https://github.com/2021-2022-IoT-INFO5-G4 Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[Tracking des déplacements de joueurs sur un terrain]]&lt;br /&gt;
| Elias EL YANDOUZI, Lucas CHALOYARD&lt;br /&gt;
| [[Media:IOT_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/Indoor-Shadow/ble-experiment Github Repo]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Beer Pong connecté]]&lt;br /&gt;
| Yael PARA, Théo TEYSSIER, Victor MALOD, Alexis LANQUETIN&lt;br /&gt;
| [[Media:BeerPong_Presentation.pdf|Présentation finale]]&lt;br /&gt;
| [https://github.com/McReaper/BeerPongLora Gitub Repo]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exposés points techniques 10&#039; - questions 5&#039;&lt;br /&gt;
* Nom Sujet&lt;br /&gt;
* ??? Python&lt;br /&gt;
* ??? MQTT&lt;br /&gt;
* ??? COAP&lt;br /&gt;
* 26/11/2021 - Elias El Yandouzi - Les différentes techniques de virtualisation&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignant responsable : [[user:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Convention des projets tutorés externes : Elise Didier.&lt;br /&gt;
&lt;br /&gt;
Calendrier: 27/01 (8H30-12H00) au 18/03.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: A voir dessus.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation et choix des sujets: 27/01 (8H30-12H00) en salle Polygone P206 (voir ADE)&lt;br /&gt;
&lt;br /&gt;
Démarrage : 27/01&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours (à définir) : ??/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance finale : 18/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. &lt;br /&gt;
&lt;br /&gt;
====Séances MPI====&lt;br /&gt;
&lt;br /&gt;
Voir ADE qui fait foi).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Soutenance intermédiaire S10 ====&lt;br /&gt;
Date: 18/02 Matin. Distantiel (sur Zoom). Créneaux de 10 minutes.&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de la soutenance intermédiaire est de vérifier si l&#039;équipe projet est en bon ordre de marche&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;équipe présentera en 5-6 transparents en 7 minutes.&lt;br /&gt;
* les équipiers et leurs rôles&lt;br /&gt;
* le contexte, le sujet et l&#039;objectif du projet&lt;br /&gt;
* l&#039;architecture du systèmes à réaliser&lt;br /&gt;
* les technologies utilisées&lt;br /&gt;
* le plan de travail (backlog, planning, ce qui est fait, ce qu&#039;il reste à faire ...)&lt;br /&gt;
* les difficultés (s&#039;il y a)&lt;br /&gt;
&lt;br /&gt;
Prévoyez du temps pour les questions-réponses (3 minutes max).&lt;br /&gt;
&lt;br /&gt;
Respectez bien les créneaux indiqués (par respect pour les autres équipes) et soyez présents un peu en avance dans la salle d&#039;attente.&lt;br /&gt;
&lt;br /&gt;
La présence des porteurs n&#039;est pas obligatoire.&lt;br /&gt;
&lt;br /&gt;
==== Soutenance finale S10 ====&lt;br /&gt;
Date provisoire: 18/03/2022 (8H30-12H00 et 13H30-17H00).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;La présence du(des) porteur(s) est obligatoire. Pensez à les prévenir bien à l&#039;avance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Durée: 30 minutes par équipe: présentation, questions/réponses et démonstration incluse.&lt;br /&gt;
&lt;br /&gt;
Les documents devront être en ligne sur le wiki (colonne Documents) la veille (ie avant le 17/03/2021 23:59:59 CET).&lt;br /&gt;
&lt;br /&gt;
La présentation est constituée des chapitres suivants:&lt;br /&gt;
* Rappel du sujet/besoin et cahier des charges&lt;br /&gt;
* Technologies employées&lt;br /&gt;
* Architecture techniques&lt;br /&gt;
* Réalisations techniques&lt;br /&gt;
* Gestion de projet (méthode, planning prévisionnel et effectif, gestion des risques, rôles des membres ...)&lt;br /&gt;
* Outils (collaboration, CD/CI ...)&lt;br /&gt;
* Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux), la répartition  des lignes de code et des commits en pourcentage entre les membres du projet ...)&lt;br /&gt;
* Conclusion (Retour d&#039;expérience)&lt;br /&gt;
* Transparent expliquant la démonstration&lt;br /&gt;
&lt;br /&gt;
L&#039;ensemble des documents doit être accessible depuis le tableau ci-dessus et dans chaque fiche de suivi.&lt;br /&gt;
&lt;br /&gt;
Le screencast (réalisé lors de la dernière répétition) sera rendu disponible via un partage caché (wetransfer, google drive …) dont le lien sera ajouté dans le devoir idoine sur Moodle et également envoyé par mail à votre tuteur.&lt;br /&gt;
&lt;br /&gt;
Le rapport final contient les mêmes chapitres que la présentation ainsi qu&#039;un glossaire et une bibliographie. Le rapport ne doit pas dépasser 15 pages (schémas et figures compris). Vous pourrez référencer les autres documents que vous avez produits au cours du projet (spécifications détaillées, algorithmes, conception d&#039;écrans ...).&lt;br /&gt;
&lt;br /&gt;
Le rapport final est au format Markdown et doit être placé dans un des dépôts Git de votre groupe/organisation.&lt;br /&gt;
&lt;br /&gt;
NB: le rapport technique listé dans la colonne Documents contient tout ce qui ne tient pas dans les 15 pages du rapport final : cahier des charges, diagrammes UML, enquêtes utilisateurs design UI, API, technologies employées (détail), plan de tests, term of services, conformance RPGD, audits/diagnostiques sécurité, MTBR, rapport de vulnérabilité, plan de charge, rapports de charge, manuel d&#039;installation …  : ça dépend un peu de la nature de votre projet.&lt;br /&gt;
&lt;br /&gt;
Conseil : 30 minutes c&#039;est très court alors répétez la soutenance auparavant ! Prévoyez des transparents supplémentaires en annexe pour répondre aux questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prière de rapporter au fablab le matériel emprunté juste après votre soutenance&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2021-2022&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Porteur(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Dépôt Git&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Soutenance intermédiaire&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Test d&#039;infrastructures avec NixOS]]&lt;br /&gt;
| HUMBERT CORENTIN, MINIER MANCINI TITOUAN (Chef de projet), SUEUR CORENTIN (Scrum master)&lt;br /&gt;
| Olivier RICHARD et Quentin GUILLETEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:English_Poster_NixOS.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_NixOs.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Plan dynamique d’un appartement connecté]]&lt;br /&gt;
| GRANGER OSCAR (Chef de projet), NOERIE SOPHIE, SARRE MARGAUX, SALMON AMAD, TEYSSIER THEO (Scrum master)&lt;br /&gt;
| Sybille CAFFIAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_intermediaire_DOMUS.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Suivi de troupeaux (ovins, bovins) en zone montagneuse avec un réseau LoRaWAN : expérimentation dans la Matheysine]]&lt;br /&gt;
| GITTON ANTOINE, MALOD VICTOR, MUTEL MATHIS&lt;br /&gt;
| Fabrice FOREST&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:INFO5_AgriConnect_presentation_miparcours.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[FitSize]]&lt;br /&gt;
| GEITNER TEVA	, GONZALEZ JULES, PARA YAEL&lt;br /&gt;
| Fidèle Eya&#039;a&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:PrésentationFitSize.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[GenderedNews]]&lt;br /&gt;
| AGUIAR MATHILDE (Chef de projet), HAJJI OUMAIMA (SCRUM Master), SIDIBE ROKIATOU DITE ROSE&lt;br /&gt;
| François PORTET, Gilles BASTIN, Ange RICHARD&lt;br /&gt;
| [[PROJET-INFO5 2022 GenderedNews|Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:flyer_genderednews.pdf|Flyer]] - [[Media: Soutenance_interm_genderednews.pdf|Presentation de mi-parcours]] - [[Media:Poster-genderednews-fr.pdf|Poster FR]] - [[Media:Poster-genderednews-en.pdf|Poster EN]] - [[Media: Pitch_genderednews.pdf | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/getalp/genderednews Dépot Git]&lt;br /&gt;
| [[Media: Soutenance_interm_genderednews.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Système d&#039;analyse de traces sportives]]&lt;br /&gt;
| HERQUE ERIC (Scrum Master), VACHERIAS GUILLAUME (Chef de projet)&lt;br /&gt;
| Vivien QUEMA&lt;br /&gt;
| [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive fiche suivis | Fiche de suivi]]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation de mi-parcours]]- [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster FR]] - [[Media:Poster_systeme_analyse_trace_sportive.pdf|Poster EN]] - [[PROJET-INFO5 2022 Systeme d&#039;analyse de traces sportive pitch | Pitch 180 secondes]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/vacherig/systeme-analyse-de-traces-sportives Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_systeme_analyse_trace_sportive.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Qualité de l&#039;Air et Santé des Populations]]&lt;br /&gt;
| BAUDEUR BERTRAND (Scrum Master), MERTENS GILLES (Chef)&lt;br /&gt;
| Marie-Laure AIX&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/Air-Quality-LoRa Dépot Git]&lt;br /&gt;
| [[Media:Presentation_mi_parcours_qualite_air_baudeur_mertens.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Artiphonie(saison 3)]] extension de la [[Artiphonie (saison 2)]]&lt;br /&gt;
| BUISINE JULIEN (Chef de Projet), ELHADJI TCHIAMBOU SAMI, LAMBERT DAPHNE (Scrum Master), LAMBERT PAUL&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]] - [[Media:Poster_Artiphonie_FR.pdf|Poster FR]] - [[Media:Poster_Artiphonie_-_LAMBERT,_BUISINE,_ELHADJI_TCHIAMBOU.pdf|Poster EN]] - [[Media: Pitch_Artiphonie_2022.pdf|Pitch Artiphonie 2022]]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/artiphonie/projet-info5-21-22 Dépot Git]&lt;br /&gt;
| [[Media: Artiphonie-Presentation_mi-parcours.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[Quark Project]] &lt;br /&gt;
| CHALOYARD LUCAS, EL YANDOUZI ELIAS&lt;br /&gt;
| Olivier Gruber&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Soutenance QuarkV3.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Soutenance QuarkV3.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Jorigine]]&lt;br /&gt;
| BLANQUET ANTOINE (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;), LANQUETIN ALEXIS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), MALECOT ETHAN, PRAT-CAPILLA HUGO&lt;br /&gt;
| Sylvain Delangue&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:PosterJorigine2022_vfinal.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:Presentation_Projet_miparcours_S10.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Contributions open source au projet EdCampus|EdCampus]] &lt;br /&gt;
| ANDRIEUX LIAM, COSOTTI KEVIN, DREZET LUCAS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), REGOUIN ROMAN (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;)&lt;br /&gt;
| Anthony GEOURJON&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Rapport EDCampus 2021-2022|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation de mi-parcours] - [https://air.imag.fr/images/0/00/PosterFREDCampus20212022.pdf Poster FR] - [https://air.imag.fr/images/d/df/EDCampus_-_2021_2022.pdf Poster EN] - [https://air.imag.fr/images/d/d5/PitchEDCampus20212022.pdf Pitch]&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/edcampus Dépot Git]&lt;br /&gt;
| [https://air.imag.fr/images/c/ca/Soutenance_interm%C3%A9diaire_-_EDCampus_2021-2022.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Contributions open source au projet LabnBook|LabnBook]] &lt;br /&gt;
| CIRSTEA PAUL, SOULARD	ALEXANDRE (Chef de projet), TONDEUX EMILIE (Scrum master), YUNG	KEVIN&lt;br /&gt;
| Anthony GEOURJON, Cédric DHAM&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:LabnBook_Presentation_finale.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Flyer]] - [[Media:LabnBook.pdf|Presentation de mi-parcours]] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster_GroupLabnBook_Cirstea_Soulard_Tondeux_Yung.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:LabnBook.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[Green collect]]&lt;br /&gt;
| BARET	DORIAN, CAMBUS QUENTIN (Chef de projet), JULIENNE MALONE, MALLEN GUILLAUME (Scrum master)&lt;br /&gt;
| Bernard TOURANCHEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation de mi-parcours] - [[Media:Poster-xxx-fr.pdf|Poster FR]] - [[Media:Poster-xxx-en.pdf|Poster EN]] - [https://tontube.fr Pitch 180 secondes]&lt;br /&gt;
| [https://github.com/GreenCollects Dépot Git]&lt;br /&gt;
| [https://github.com/GreenCollects/docs/blob/main/soutenance/Soutenance%20de%20mi-parcours.pdf Presentation intermédiaire]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sujets non choisis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[LoRaWAN Roaming]] avec [[Chirpstack]], [[TheThingStack]] et [[Actility]] pour le projet [https://gricad-gitlab.univ-grenoble-alpes.fr/thingsat/public/-/blob/master/cubesat_mission/README.md Thingsat]: Didier DONSEZ, Olivier ALPHAND.&lt;br /&gt;
# [[Contributions logicielles au projet RIOT OS pour le New Space]] : Francois-Xavier MOLINA, Olivier ALPHAND, Didier DONSEZ&lt;br /&gt;
# [[Réseaux social d&#039;organisation de sortie (saison 2)]] refonte [[Réseaux social d&#039;organisation de sortie]], Olivier Richard&lt;br /&gt;
# [[Experiment Process Management]], Olivier Richard&lt;br /&gt;
# [[Language Server for Visual Studio]]: Olivier Gruber&lt;br /&gt;
# ABANDONNé [[Réseau d&#039;Alumni de formations]] (à confirmer), Gérard POLLIER ([https://disrupt-campus.univ-grenoble-alpes.fr/design-factory-grenoble/ Design Factory Grenoble])&lt;br /&gt;
# [[Evaluation du kit IA embarqué Wio Terminal]]: Louis CLOSSON, Didier DONSEZ (sous réserve de réception du matériel commandé)&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:English_Poster_NixOS.pdf&amp;diff=52309</id>
		<title>File:English Poster NixOS.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:English_Poster_NixOS.pdf&amp;diff=52309"/>
		<updated>2022-03-17T19:21:16Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Presentation_mi_parcours_NixOs.pdf&amp;diff=52199</id>
		<title>File:Presentation mi parcours NixOs.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Presentation_mi_parcours_NixOs.pdf&amp;diff=52199"/>
		<updated>2022-02-18T08:12:59Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Titouan.Minier-Mancini uploaded a new version of File:Presentation mi parcours NixOs.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52113</id>
		<title>Projets 2021-2022</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2021-2022&amp;diff=52113"/>
		<updated>2022-02-02T08:05:16Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2020-2021]] | [[Projets]] | [[Projets 2022-2023]]&amp;gt;&amp;gt;&lt;br /&gt;
=INFO=&lt;br /&gt;
==INFO3==&lt;br /&gt;
&lt;br /&gt;
==INFO4==&lt;br /&gt;
===Projet Semestre S8===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: 10 Janvier 2021 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2021_2022. &#039;&#039;&#039;Cette fiche compte pour la note finale&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Votre code&#039;&#039;&#039; pour doit être hébergé sur le gitlab et à l&#039;URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22 , vous utiliserez votre compte UGA.&lt;br /&gt;
&lt;br /&gt;
* Chaque projet doit avoir &#039;&#039;&#039;aux moins 2 dépôts git&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;Un pour les documents&#039;&#039;&#039; demandés rapport, présentation de pré-soutenante, de soutenance, flyer. &#039;&#039;&#039;Il sera appelé documents.&#039;&#039;&#039;&lt;br /&gt;
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. &lt;br /&gt;
&lt;br /&gt;
* Les &#039;&#039;&#039;documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions)&#039;&#039;&#039;.  Le *rapport* sera aussi demandé en *anglais* (il fera la taille d&#039;un rapport de TP). Les transparents des présentation peuvent être en anglais ou en francais, la soutenance sera taire en francais.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;La note obtenue&#039;&#039;&#039; tiendra compte du &#039;&#039;&#039;nombre et de la qualité des commits&#039;&#039;&#039; observé dans &#039;&#039;&#039;vos dépots git et la branche master&#039;&#039;&#039; (or depot documents). La qualité comprend l&#039;intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n&#039;est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).&lt;br /&gt;
&lt;br /&gt;
* Il est fortement conseillé de suivre un &#039;&#039;&#039;développement incrémental&#039;&#039;&#039; qui permette d&#039;avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d&#039;une succession de &#039;&#039;&#039;démonstrateurs présentables séparément&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* Vous devez faire aussi des &#039;&#039;&#039;schémas d&#039;architectures générales et/ou spéficiques, des diagrammes de séquence&#039;&#039;&#039;, et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.&lt;br /&gt;
&lt;br /&gt;
===Propositions de projets S8===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 1. [https://codimd.math.cnrs.fr/s/B029qfT5Q Courriels à Suppression Programmée] : Michaël Périn&lt;br /&gt;
* 2. [[Firmwares open source pour une station de réception de satellites pour l’Internet des Objets isolés]], Didier DONSEZ.&lt;br /&gt;
* 3. [[Evaluation du toolkit AI de STM32 pour l&#039;analyse de l&#039;environnement sonore]] (Suite 2022), Didier DONSEZ.&lt;br /&gt;
* 4. [[Algorithmes de géolocalisation d’objets par TDOA (Time Difference of Arrival)]] (suite), Didier DONSEZ.&lt;br /&gt;
* 5. [[Dashboard pour Overwatch]] Olivier Richard&lt;br /&gt;
* 6. [[Application mobile d&#039;enregistrements de noeuds IoT LoRaWAN dans plusieurs réseaux]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 7. [[Bluetooth 5.1 Angle of Arrival based Indoor Localization]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 8. Intégration de composants de mesures environnementales (eau, air, ...) pour le [[Contribution au projet STM32Python|projet STM32Python]] à destination des lycéens: Didier DONSEZ&lt;br /&gt;
* 9. [[Air Quality Station]] (Suite) : Didier DONSEZ&lt;br /&gt;
* 10. [[Floating Water Quality Station]] : Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
* 11. [[ASAC|Agriculture connectée]] en partenariat avec les projets collectifs IESE/MAT : Nicolas Palix&lt;br /&gt;
* 12. [[Testeur de terrain pour réseaux LoRaWAN privés et publics (TTN, CampusIoT et Helium)]] (suite 2021), Didier DONSEZ.&lt;br /&gt;
* 13. [[Géolocalition Indoor en LoRa 2.4GHz]], Didier DONSEZ.&lt;br /&gt;
* 14. [[RealWorld avec Dioxus]] (Rust + web), Olivier Richard&lt;br /&gt;
* 15. Poursuite projet 20-21 [[Rust Engine | Executeur de tâche en Rust]], Olivier Richard&lt;br /&gt;
* 16. Poursuite projet 20-21 [[Retrocompute simulateur | RetroComputing]]: (vintage style) Coupler le simulateur Digital avec un simulateur de processeur 8bits, Olivier Richard&lt;br /&gt;
* 17. Poursuite projet 19-20 [[Portail pour gestionnaire de taches]](react, Typescript), Olivier Richard&lt;br /&gt;
* 18. [[Paquets NIX pour Polytech]], Olivier Richard&lt;br /&gt;
* 19. [[Mini compilateur C pour mini CPU]], Olivier Richard&lt;br /&gt;
* 20. Mode jeu en réseau (Wifi/Bluetooth) pour [[TanksOfFreedom]], Nicolas Palix&lt;br /&gt;
* 21. [[Faults In Linux]], Nicolas Palix&lt;br /&gt;
* 22.&lt;br /&gt;
Non affecté&lt;br /&gt;
* xx. [[Bibliothèque de décodeurs standards et d&#039;afficheurs Grafana pour objets connectés LoRaWAN]] : Didier DONSEZ&lt;br /&gt;
&lt;br /&gt;
===Affectations===&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CANIN CORENTIN,MONTEILLER JOSHUA,WAGNER SAM&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/01/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CARMONA DAMIAN,DA COSTA TOM,WOZNY PIERRE-RAPHAE&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/02/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| BACH THOMAS,BARBE FLORENT,SIMO YOKAM GEORGES HARRISSO&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/03/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CAILLES MAXIME,REYGNER ETIENNE,VERRIER MARTI&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/05/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CHIOTTI MAEL,LAVIROTTE GAETAN,MOTTINO LORI&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/06/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| GUIRGUIS MIRETTE,HADIBY CHEMSSEDDINE,MOHSEN HACHE&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/08/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Floating Water Quality Station]]&lt;br /&gt;
| BRETON EMERIC,FAGHLOUMI AYMAN,VIALLET CAMILLE&lt;br /&gt;
| Didier DONSEZ, Nicolas PALIX&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/10/docs/-/blob/main/info4_2021_2022_Fiche_suivi_projet.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| BERNERD CLARA,JARDIN BAPTISTE,NGUYEN JUSTI&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/13/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| IFAKIREN SAMI,MONTHE DJEUMOU BRICE,NGUYEN CLEMEN&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/14/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CHAPPAZ FLORIAN,DE OLIVEIRA VALENTIN,KURKLU FIKRE&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/15/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| KACHA TOM,MAHAMAN NOURY ABDOURAHAMANE,MEIGNEN HUGO,ZHANG KEMIN&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/17/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
| [[Paquets NIX pour Polytech]]&lt;br /&gt;
| CONJARD SAMUEL,FODOR GERGELY,PELISSE-VERDOUX CYPRIEN&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/18/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CAPET THEO,POITEVIN EVE,ROYET JULIA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/19/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| Mode jeu en réseau pour [[TanksOfFreedom]],&lt;br /&gt;
| ABECASSIS THOMAS,FOURNIER THOMAS,ZAFFUTO LUCA&lt;br /&gt;
| Nicolas Palix&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/21-22/20/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier:  Octobre à Décembre 2021. Soutenance 24 Janvier 2022.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Choix des projet des projets INFO5 Réseaux 21-22&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Github/Trello&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Réseau de capteur de dichlorométhane]]&lt;br /&gt;
| Dorian BARET - Malone JULIENNE - Quentin CAMBUS&lt;br /&gt;
| [https://lesjoiesducode.fr/quand-notre-revue-de-sprint-se-passe-nickel Fiche]&lt;br /&gt;
| [https://github.com/Cambus-Quentin/DichloWan2021/blob/main/README.md git]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Création d&#039;un système pour localiser les élèves lors de courses d&#039;orientation]]&lt;br /&gt;
| Antoine Gitton, Gilles Mertens, Bertrand Baudeur&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_spec.pdf|Spécification paquets LoRa]]&lt;br /&gt;
| [[Media:2021_2022_INFO5_IOT_Orientation_backend.zip|Souces back-end]] - [[Media:2021_2022_INFO5_IOT_Orientation_carte.zip|Souces carte]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Harnais animalier permettant de suivre notre animal domestique]]&lt;br /&gt;
| Sami ELHADJI TCHIAMBOU, Corentin HUMBERT, Paul LAMBERT, Hugo PRAT CAPILLA&lt;br /&gt;
| &lt;br /&gt;
| [https://github.com/Bicorpro Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[Géolocalisation et suivi des transports en commun]]&lt;br /&gt;
| Liam ANDRIEUX, Lucas DREZET, Roman REGOUIN&lt;br /&gt;
|&lt;br /&gt;
| [https://github.com/2021-2022-IoT-INFO5-G4 Organisation GitHub]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[Tracking des déplacements de joueurs sur un terrain]]&lt;br /&gt;
| Elias EL YANDOUZI, Lucas CHALOYARD&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Beer Pong connecté]]&lt;br /&gt;
| Yael PARA, Théo TEYSSIER, Victor MALOD, Alexis LANQUETIN&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exposés points techniques 10&#039; - questions 5&#039;&lt;br /&gt;
* Nom Sujet&lt;br /&gt;
* ??? Python&lt;br /&gt;
* ??? MQTT&lt;br /&gt;
* ??? COAP&lt;br /&gt;
* 26/11/2021 - Elias El Yandouzi - Les différentes techniques de virtualisation&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignant responsable : [[user:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Convention des projets tutorés externes : Elise Didier.&lt;br /&gt;
&lt;br /&gt;
Calendrier: 27/01 (8H30-12H00) au 18/03.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: A voir dessus.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation et choix des sujets: 27/01 (8H30-12H00) en salle Polygone P206 (voir ADE)&lt;br /&gt;
&lt;br /&gt;
Démarrage : 27/01&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours (à définir) : ??/02/2021 13H30-17H30 en distantiel (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance finale : 18/03/2021 (8H30-12H00 et 13H30-17H00). 30 minutes par équipe, questions/réponses et démonstration incluse. Prière de rapporter au fablab le matériel emprunté juste après votre soutenance. &lt;br /&gt;
&lt;br /&gt;
====Séances MPI====&lt;br /&gt;
&lt;br /&gt;
Voir ADE qui fait foi).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Soutenance intermédiaire S10 ====&lt;br /&gt;
Date (à définir): ??/02 Après midi. Distantiel (sur Zoom).&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de la soutenance intermédiaire est de vérifier si l&#039;équipe projet est en bon ordre de marche. La présence du porteur n&#039;est pas obligatoire. Prévoyez du temps pour les questions-réponses (5 minutes max).&lt;br /&gt;
&lt;br /&gt;
L&#039;équipe présentera en 5-6 transparents en 8 minutes.&lt;br /&gt;
* les équipiers et leurs rôles&lt;br /&gt;
* le contexte, le sujet et l&#039;objectif du projet&lt;br /&gt;
* l&#039;architecture du systèmes à réaliser&lt;br /&gt;
* les technologies utilisées&lt;br /&gt;
* le plan de travail (backlog, planning, ce qui est fait, ce qu&#039;il reste à faire ...)&lt;br /&gt;
* les difficultés (s&#039;il y a)&lt;br /&gt;
&lt;br /&gt;
Respectez bien les créneaux indiqués (par respect pour les autres équipes).&lt;br /&gt;
&lt;br /&gt;
==== Soutenance finale S10 ====&lt;br /&gt;
Date provisoire: 18/03/2022 (8H30-12H00 et 13H30-17H00).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;La présence du(des) porteur(s) est obligatoire. Pensez à les prévenir bien à l&#039;avance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Durée: 30 minutes par équipe: présentation, questions/réponses et démonstration incluse.&lt;br /&gt;
&lt;br /&gt;
Les documents devront être en ligne sur le wiki (colonne Documents) la veille (ie avant le ??/03/2021 23:59:59 CET).&lt;br /&gt;
&lt;br /&gt;
La présentation est constituée des chapitres suivants:&lt;br /&gt;
* Rappel du sujet/besoin et cahier des charges&lt;br /&gt;
* Technologies employées&lt;br /&gt;
* Architecture techniques&lt;br /&gt;
* Réalisations techniques&lt;br /&gt;
* Gestion de projet (méthode, planning prévisionnel et effectif, gestion des risques, rôles des membres ...)&lt;br /&gt;
* Outils (collaboration, CD/CI ...)&lt;br /&gt;
* Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux), la répartition  des lignes de code et des commits en pourcentage entre les membres du projet ...)&lt;br /&gt;
* Conclusion (Retour d&#039;expérience)&lt;br /&gt;
* Transparent expliquant la démonstration&lt;br /&gt;
&lt;br /&gt;
L&#039;ensemble des documents doit être accessible depuis le tableau ci-dessus et dans chaque fiche de suivi.&lt;br /&gt;
&lt;br /&gt;
Le screencast (réalisé lors de la dernière répétition) sera rendu disponible via un partage caché (wetransfer, google drive …) dont le lien sera ajouté dans le devoir idoine sur Moodle et également envoyé par mail à votre tuteur.&lt;br /&gt;
&lt;br /&gt;
Le rapport final contient les mêmes chapitres que la présentation ainsi qu&#039;un glossaire et une bibliographie. Le rapport ne doit pas dépasser 15 pages (schémas et figures compris). Vous pourrez référencer les autres documents que vous avez produits au cours du projet (spécifications détaillées, algorithmes, conception d&#039;écrans ...).&lt;br /&gt;
&lt;br /&gt;
Le rapport final est au format Markdown et doit être placé dans un des dépôts Git de votre groupe/organisation.&lt;br /&gt;
&lt;br /&gt;
NB: le rapport technique listé dans la colonne Documents contient tout ce qui ne tient pas dans les 15 pages du rapport final : cahier des charges, diagrammes UML, enquêtes utilisateurs design UI, API, technologies employées (détail), plan de tests, term of services, conformance RPGD, audits/diagnostiques sécurité, MTBR, rapport de vulnérabilité, plan de charge, rapports de charge, manuel d&#039;installation …  : ça dépend un peu de la nature de votre projet.&lt;br /&gt;
&lt;br /&gt;
Conseil : 30 minutes c&#039;est très court alors répétez la soutenance auparavant ! Prévoyez des transparents supplémentaires en annexe pour répondre aux questions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prière de rapporter au fablab le matériel emprunté juste après votre soutenance&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2021-2022&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Porteur(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Dépôt Git&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Soutenance intermédiaire&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
| [[Test d&#039;infrastructures avec NixOS]]&lt;br /&gt;
| HUMBERT CORENTIN, MINIER MANCINI TITOUAN (Chef de projet), SUEUR CORENTIN (Scrum master)&lt;br /&gt;
| Olivier RICHARD et Quentin GUILLETEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
| [[Plan dynamique d’un appartement connecté]]&lt;br /&gt;
| GRANGER OSCAR, NOERIE SOPHIE, SARRE MARGAUX, SALMON AMAD, TEYSSIER THEO&lt;br /&gt;
| Sybille CAFFIAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[Suivi de troupeaux (ovins, bovins) en zone montagneuse avec un réseau LoRaWAN : expérimentation dans la Matheysine]]&lt;br /&gt;
| GITTON ANTOINE, MALOD VICTOR, MUTEL MATHIS&lt;br /&gt;
| Fabrice FOREST&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[FitSize]]&lt;br /&gt;
| GEITNER TEVA	, GONZALEZ JULES, PARA YAEL&lt;br /&gt;
| Fidèle Eya&#039;a&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
| [[GenderedNews]]&lt;br /&gt;
| AGUIAR MATHILDE (Chef de projet), HAJJI OUMAIMA (SCRUM Master), SIDIBE ROKIATOU DITE ROSE&lt;br /&gt;
| François PORTET, Gilles BASTIN, Ange RICHARD&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Système d&#039;analyse de traces sportives]]&lt;br /&gt;
| HERQUE ERIC (Scrum Master), VACHERIAS GUILLAUME (Chef de projet)&lt;br /&gt;
| Vivien QUEMA&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Qualité de l&#039;Air et Santé des Populations]]&lt;br /&gt;
| BAUDEUR BERTRAND (Scrum Master), MERTENS GILLES (Chef)&lt;br /&gt;
| Marie-Laure AIX&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Artiphonie(saison 3)]] extension de la [[Artiphonie (saison 2)]]&lt;br /&gt;
| BUISINE JULIEN, ELHADJI TCHIAMBOU SAMI, LAMBERT DAPHNE (Scrum Master), LAMBERT PAUL&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[Quark Project]] &lt;br /&gt;
| CHALOYARD LUCAS, EL YANDOUZI ELIAS&lt;br /&gt;
| Olivier Gruber&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[Jorigine]]&lt;br /&gt;
| BLANQUET ANTOINE, LANQUETIN ALEXIS, MALECOT ETHAN, PRAT-CAPILLA HUGO&lt;br /&gt;
| Sylvain Delangue&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Contributions open source au projet EdCampus|EdCampus]] &lt;br /&gt;
| ANDRIEUX LIAM, COSOTTI KEVIN, DREZET LUCAS (&#039;&#039;&#039;Chef de projet&#039;&#039;&#039;), REGOUIN ROMAN (&#039;&#039;&#039;Scrum Master&#039;&#039;&#039;)&lt;br /&gt;
| Anthony GEOURJON&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Contributions open source au projet LabnBook|LabnBook]] &lt;br /&gt;
| CIRSTEA PAUL, SOULARD	ALEXANDRE (Chef de projet), TONDEUX EMILIE (Scrum master), YUNG	KEVIN&lt;br /&gt;
| Anthony GEOURJON, Cédric DHAM&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://git/xxx Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[Green collect]]&lt;br /&gt;
| BARET	DORIAN, CAMBUS QUENTIN (Chef de projet), JULIENNE MALONE, MALLEN GUILLAUME (Scrum master)&lt;br /&gt;
| Bernard TOURANCHEAU&lt;br /&gt;
| [XXXX Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
| [https://github.com/malleng/Projet_S10 Dépot Git]&lt;br /&gt;
| [[Media:xxx.pdf|Presentation intermédiaire]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sujets non choisis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# [[LoRaWAN Roaming]] avec [[Chirpstack]], [[TheThingStack]] et [[Actility]] pour le projet [https://gricad-gitlab.univ-grenoble-alpes.fr/thingsat/public/-/blob/master/cubesat_mission/README.md Thingsat]: Didier DONSEZ, Olivier ALPHAND.&lt;br /&gt;
# [[Contributions logicielles au projet RIOT OS pour le New Space]] : Francois-Xavier MOLINA, Olivier ALPHAND, Didier DONSEZ&lt;br /&gt;
# [[Réseaux social d&#039;organisation de sortie (saison 2)]] refonte [[Réseaux social d&#039;organisation de sortie]], Olivier Richard&lt;br /&gt;
# [[Experiment Process Management]], Olivier Richard&lt;br /&gt;
# [[Language Server for Visual Studio]]: Olivier Gruber&lt;br /&gt;
# ABANDONNé [[Réseau d&#039;Alumni de formations]] (à confirmer), Gérard POLLIER ([https://disrupt-campus.univ-grenoble-alpes.fr/design-factory-grenoble/ Design Factory Grenoble])&lt;br /&gt;
# [[Evaluation du kit IA embarqué Wio Terminal]]: Louis CLOSSON, Didier DONSEZ (sous réserve de réception du matériel commandé)&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51502</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51502"/>
		<updated>2021-11-29T09:55:30Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://kind.sigs.k8s.io/ KiND] est une solution pour déployer des clusters [https://kubernetes.io/ Kubernetes(K8S)] localement pour simplifier les processus de développement et de test.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_logo.png|300px|thumb|right|Kind logo]]&lt;br /&gt;
&lt;br /&gt;
= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs [https://docs.docker.com/ Docker] en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme [https://minikube.sigs.k8s.io Minikube]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using [https://docs.docker.com/ Docker] containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like [https://minikube.sigs.k8s.io Minikube].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que [https://skaffold.dev/ Skaffold].&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|600px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec [https://kubernetes.io/docs/reference/setup-tools/kubeadm/ Kubeadm] et [https://www.weave.works/oss/net/ Weave]. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des [https://github.com/kubernetes-sigs K8S SIG (Special Interest Groups)], c&#039;est-à-dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible, ou du moins c&#039;est un problème difficile qui requerrait des outils suplémentaires, rajoutant à la charge du système. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. [https://metallb.universe.tf/ MetalLB] apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:VT2021_Kind_presentation.pdf&amp;diff=51501</id>
		<title>File:VT2021 Kind presentation.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:VT2021_Kind_presentation.pdf&amp;diff=51501"/>
		<updated>2021-11-28T22:04:59Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: Titouan.Minier-Mancini uploaded a new version of File:VT2021 Kind presentation.pdf&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51467</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51467"/>
		<updated>2021-11-28T18:25:40Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://kind.sigs.k8s.io/ KiND] est une solution pour déployer des clusters [https://kubernetes.io/ Kubernetes(K8S)] localement pour simplifier les processus de développement et de test.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_logo.png|300px|thumb|right|Kind logo]]&lt;br /&gt;
&lt;br /&gt;
= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs [https://docs.docker.com/ Docker] en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme [https://minikube.sigs.k8s.io Minikube]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using [https://docs.docker.com/ Docker] containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like [https://minikube.sigs.k8s.io Minikube].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que [https://skaffold.dev/ Skaffold].&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|600px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec [https://kubernetes.io/docs/reference/setup-tools/kubeadm/ Kubeadm] et [https://www.weave.works/oss/net/ Weave]. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des [https://github.com/kubernetes-sigs K8S SIG (Special Interest Groups)], c&#039;est -à -dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. [https://metallb.universe.tf/ MetalLB] apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51466</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51466"/>
		<updated>2021-11-28T17:35:50Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://kind.sigs.k8s.io/ KiND] est une solution pour déployer des clusters [https://kubernetes.io/ Kubernetes(K8S)] localement pour simplifier les processus de développement et de test.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_logo.png|300px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs [https://docs.docker.com/ Docker] en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme [https://minikube.sigs.k8s.io Minikube]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using [https://docs.docker.com/ Docker] containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like [https://minikube.sigs.k8s.io Minikube].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que [https://skaffold.dev/ Skaffold].&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|600px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec [https://kubernetes.io/docs/reference/setup-tools/kubeadm/ Kubeadm] et [https://www.weave.works/oss/net/ Weave]. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des [https://github.com/kubernetes-sigs K8S SIG (Special Interest Groups)], c&#039;est -à -dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. [https://metallb.universe.tf/ MetalLB] apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51465</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51465"/>
		<updated>2021-11-28T17:33:34Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://kind.sigs.k8s.io/ KiND] est une solution pour déployer des clusters [https://kubernetes.io/ Kubernetes(K8S)] localement pour simplifier les processus de développement et de test.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_logo.png|300px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs [https://docs.docker.com/ Docker] en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme [https://minikube.sigs.k8s.io Minikube]. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using [https://docs.docker.com/ Docker] containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like [https://minikube.sigs.k8s.io Minikube].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que [https://skaffold.dev/ Skaffold].&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|600px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec Kubeadm et Weave. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des K8S SIG (Special Interest Groups), c&#039;est -à -dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. [https://metallb.universe.tf/ MetalLB] apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51464</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51464"/>
		<updated>2021-11-28T17:29:13Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://kind.sigs.k8s.io/ KiND] est une solution pour déployer des clusters [https://kubernetes.io/ Kubernetes(K8S)] localement pour simplifier les processus de développement et de test.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_logo.png|300px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs Docker en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme Minikube. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using Docker containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like Minikube.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que Skaffold.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|600px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec Kubeadm et Weave. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des K8S SIG (Special Interest Groups), c&#039;est -à -dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. MetalLB apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Kind_logo.png&amp;diff=51463</id>
		<title>File:Kind logo.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Kind_logo.png&amp;diff=51463"/>
		<updated>2021-11-28T17:23:35Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51462</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51462"/>
		<updated>2021-11-28T17:22:08Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs Docker en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme Minikube. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using Docker containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like Minikube.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que Skaffold.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|600px|thumb|right|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec Kubeadm et Weave. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des K8S SIG (Special Interest Groups), c&#039;est -à -dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. MetalLB apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51461</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51461"/>
		<updated>2021-11-28T17:21:39Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs Docker en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme Minikube. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using Docker containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like Minikube.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que Skaffold.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|800px|thumb|left|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec Kubeadm et Weave. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des K8S SIG (Special Interest Groups), c&#039;est -à -dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. MetalLB apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51460</id>
		<title>VT2021 Kind fiche</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2021_Kind_fiche&amp;diff=51460"/>
		<updated>2021-11-28T17:19:26Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: /* Architecture haut niveau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation de KiND =&lt;br /&gt;
&lt;br /&gt;
GITTON Antoine - antoine.gitton@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
MINIER MANCINI Titouan - titouan.minier-mancini@etu.univ-grenoble-alpes.fr&lt;br /&gt;
&lt;br /&gt;
== Résumé ==&lt;br /&gt;
&lt;br /&gt;
Kind est un outil permettant le déploiement de clusters Kubernetes dans un environnement local, en utilisant directement des conteneurs Docker en tant que machine du cluster. Cet outil a été créé avec comme but principal de tester Kubernetes lui-même, mais il est maintenant très utilisé pour obtenir un cycle de développement et de tests end-to-end plus rapide, ainsi qu’une facilité de mise en place de CI (Continuous Integration). Dans un premier temps nous allons présenter l’architecture haut niveau de cette solution, pour ensuite discuter ses avantages et inconvénients, que l’on peut comparer à des concurrents comme Minikube. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Mot clés&amp;lt;/b&amp;gt;: Docker, Kubernetes, Conteneurs, Systèmes distribués, tests E2E&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
Kind is a tool that enables running Kubernetes clusters in a local environment, using Docker containers as the nodes of the cluster. This tool was initially created with the main purpose of testing Kubernetes itself, but it is nowadays widely used to perform end-to-end testing and develop more efficiently, as well as ease the implementation of CI (Continuous Integration). In the first part, we will present the high level concepts of Kind architecture, then we will discuss pros and cons of such a solution in comparison with close concurrents like Minikube.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Keywords&amp;lt;/b&amp;gt;: Docker, Kubernetes, Containers, Distributed systems, E2E testing&lt;br /&gt;
&lt;br /&gt;
== Synthèse ==&lt;br /&gt;
&lt;br /&gt;
=== Mettre son infrastructure en bouteille ===&lt;br /&gt;
&lt;br /&gt;
Kubernetes est un outil qui a pour objectif de partager des machines (noeud ou node) connectées en réseau entre plusieurs applications. Il permet d’automatiser le déploiement et la maintenance d’infrastructures décrites au travers de fichiers spécifiques (manifestes, yaml) par les ingénieurs. Ces infrastructures, nécessitant habituellement beaucoup de ressources (puissance de calcul, mémoire vive et stockage), sont la plupart du temps complexes. De ce fait, il est difficile de les tester dans un environnement réaliste (qui se rapproche de l&#039;environnement de production) localement, donc sur une seule machine qui est limitée en termes de ressources.&lt;br /&gt;
&lt;br /&gt;
C’est sur ce point que Kind propose une solution intéressante, car il permet de créer virtuellement des clusters qui peuvent imiter potentiellement tout cluster réel. On entend par là notamment la capacité de déployer des clusters multi-noeuds en n’utilisant fondamentalement qu’une seule machine physique. C’est de là que vient l’image de mettre son cluster Kubernetes en bouteille, environnement à échelle réduite qu’il est facile à manœuvrer.&lt;br /&gt;
&lt;br /&gt;
Il simplifie alors le processus de test, puisqu’il donne accès à un environnement réaliste, mais qui reste local et donc plus léger et simple à manoeuvrer pour le testeur. Au  delà du test, Kind donne accès à un environnement favorable au développement. Il est tout à fait compatible avec des solutions de développement pour Kubernetes, telles que Skaffold.&lt;br /&gt;
&lt;br /&gt;
=== Architecture haut niveau ===&lt;br /&gt;
&lt;br /&gt;
Kind, en tant que solution, incorpore différents composants. Il y a notamment la Command Line Interface (CLI) qui permet d&#039;interagir avec le cluster, et l’image Docker du node. Cette image est le cœur du fonctionnement de Kind puisqu’elle fournit cet environnement dans lequel peut s&#039;exécuter le cluster Kubernetes.&lt;br /&gt;
&lt;br /&gt;
Cette image contient trois couches. La couche centrale est l’image de Ubuntu 21.10. Par dessus celle-ci il y a la couche de base implémentée par Kind pour fournir un environnement qui respecte l’API CRI. CRI (Container Runtime Interface) est une API définie par Kubernetes pour que le Kubelet du nœud puisse communiquer correctement avec le container runtime (containerd, CRI-O, etc). De plus cette couche doit permettre l’utilisation de conteneurs imbriqués, puisque Kubernetes utilisera des conteneurs en étant lui-même dans un conteneur. Concrètement cette couche intègre systemd, avec uniquement les services utiles, containerd, et d’autres paquets nécessaires au bon fonctionnement des composants du Kube.&lt;br /&gt;
&lt;br /&gt;
Ensuite la troisième couche de l’image node est dédiée entièrement au fonctionnement de Kubernetes. Elle contient donc les composants du Kube avec Kubeadm et Weave. Kubeadm est un outil qui permet la mise en place facile et rapide d’un cluster Kubernetes minimum. Il déploie les composants du kube et gère les certificats pour assurer une bonne communication entre eux. Weave quant à lui est une implémentation de la CNI qui est une API définie par Kubernetes comme son modèle de networking. Weave fournit à Kubernetes un overlay sur le réseau sur lequel il peut faire communiquer ses pods au travers d’adresses IP.&lt;br /&gt;
&lt;br /&gt;
[[File:Kind_architecture.png|800px|thumb|left|Kind architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Killer features et Minikube ===&lt;br /&gt;
&lt;br /&gt;
Kind et Minikube sont tous deux des produits issus des K8S SIG (Special Interest Groups), c&#039;est -à -dire de la communauté autour de Kubernetes. De ce fait, on pourrait trouver étrange qu’une même communauté ait créé deux produits très similaires. Là où Kind se démarque très clairement de Minikube est en fait la capacité de déployer un cluster avec plusieurs nœuds, ce qui est absolument impossible avec Minikube.&lt;br /&gt;
&lt;br /&gt;
“Pourquoi avoir besoin d’un cluster multi-nœuds ?” - C’est une question qu’il est légitime de se poser lorsque l’on souhaite choisir entre Kind et Minikube (ou autre). La différence fondamentale se situe dans la qualité réaliste de l&#039;environnement utilisé. &lt;br /&gt;
En production, donc dans un “vrai” cluster, il est évident que plusieurs (voire énormément de) machines sont utilisées pour faire tourner l&#039;infrastructure. De cette différence d&#039;environnement naît un problème de réalisme, en effet le comportement des éléments dans le cluster peut être très différent selon que celui-ci ne contient qu’un nœud ou plusieurs. Il s’agit même de tout l’enjeu des systèmes distribués. Comment vérifier que ma base de données distribuée fonctionne alors que je n’ai qu’une seule machine ? Ce n’est pas possible. &lt;br /&gt;
&lt;br /&gt;
Kind apporte cet environnement un maximum proche de celui de production en donnant la possibilité de choisir son nombre de nœuds. Dans le cadre de test end-to-end c’est une fonctionnalité absolument incroyable en comparaison de Minikube.&lt;br /&gt;
&lt;br /&gt;
En revanche, il est intéressant de se poser la question dans le cadre du développement. Dans ce cas là  cet aspect de réalisme n’est pas aussi important (à distinguer selon le contexte). Cela dit, Kind est également natif sur les systèmes Linux puisqu&#039;il tourne dans des conteneurs Docker (natifs pour Linux et Windows servers). De ce fait, il est fondamentalement moins lourd que Minikube qui utilise une machine virtuelle. Bien sûr cela ne sera pas vrai si l’on déploie un cluster de dix nœuds avec Kind, qui deviendra alors plus consommateur en ressources.&lt;br /&gt;
&lt;br /&gt;
== Mécanismes de simplification ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Image sideload ===&lt;br /&gt;
&lt;br /&gt;
Tout cluster Kind possède son propre gestionnaire d’images Docker, il n’interfère pas avec celui de l’hôte. Il existe cependant un moyen de les interfacer, et ainsi charger une image de l’hôte vers les nœuds. Il permet aussi d’abstraire le niveau de gestionnaire d’image privés, afin de ne faire l’authentification qu’à un seul endroit (sur l’hôte). De manière générale, cela permet de ne pas avoir recours à un Docker registry pour partager ses images entre l’hôte et les nœuds.&lt;br /&gt;
&lt;br /&gt;
=== 2. Attribution dynamique de volumes ===&lt;br /&gt;
&lt;br /&gt;
Depuis 2019, Kind intègre une configuration de la solution “local-host-path” de Rancher. Celle-ci fournit une StorageClass qui assigne automatiquement des PV (Persistance Volume) au cluster à chaque PVC (Persistent Volume Claim) faite par des applications. De ce fait, le développeur n’a plus à se préoccuper de l’assignation des volumes sur son espace de stockage et peut se concentrer sur son activité principale.&lt;br /&gt;
&lt;br /&gt;
=== 3. Contrôleur Ingress ===&lt;br /&gt;
&lt;br /&gt;
Kind supporte des contrôleurs ingress, notamment Nginx, Contour et Ambassador. Pour les mettre en place il suffit d’appliquer leur manifeste avec Kubectl. Ces contrôleurs ingress permettent alors la création d’objets Ingress par les développeurs. Le contrôleur ingress gère notamment le routage des services en fonction de noms de DNS et chemin d’URL, et autorisent également l’utilisation du protocole TLS pour une communication en HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== 4. Load-balancing et MetalLB ===&lt;br /&gt;
&lt;br /&gt;
Parmi les services Kubernetes, il existe les LoadBalancer. Ce type de service permet à chaque service de disposer d’une adresse IP qui sera accessible par l’extérieur du cluster au travers de ce load balancer. Cette solution est fournie par les cloud providers à la demande, toutefois lorsque l’on utilise un cluster bare-metal (comprendre sur ses propres machines) cette fonctionnalité n’est pas disponible sans implémentation supplémentaire. MetalLB apporte une solution à ce problème, en créant un load balancer virtuel. Kind supporte parfaitement cette solution.&lt;br /&gt;
&lt;br /&gt;
== Les limitations à considérer ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Mises à jours et rythme de développement ===&lt;br /&gt;
&lt;br /&gt;
Kind est un outil développé par la communauté, et non pas l’équipe derrière Kubernetes lui-même. De ce fait l’effort mis dans son développement n’est pas le même. Le projet a démarré en 2018 et a suivi un rythme de mise à jour assez correct depuis. Il n&#039;y a cependant pas eu de nouvelle release depuis mai 2021. A noter qu’il est en version 0.11.1, et n’a donc pas encore atteint sa version 1.0.&lt;br /&gt;
&lt;br /&gt;
=== 2. Consommation en espace de stockage ===&lt;br /&gt;
&lt;br /&gt;
Du fait de la manière dont il a été conçu, Kind consomme un espace disque important. En effet, pour chaque image utilisée dans le cluster, il est nécessaire d’en avoir une copie sur la machine hôte, ainsi que sur chaque nœud afin qu’ils puissent les démarrer. Il faut donc bien faire attention à la place restante sur la machine hôte. &lt;br /&gt;
&lt;br /&gt;
L’espace utilisé est d’autant plus important que l’on utilise des solutions comme Skaffold qui produisent une grande quantité de volumes pour fournir du hot-reloading. On peut considérer que pour une dizaine de microservices sur quatre nœuds, l’espace disque nécessaire approche les 100 Go.&lt;br /&gt;
&lt;br /&gt;
=== 3. Consommation en RAM et CPU ===&lt;br /&gt;
&lt;br /&gt;
De plus, il faut se rappeler que l’utilisation de containers affecte (même si légèrement) les performances. Kubernetes est toujours un processus daemon qui se doit de fonctionner en arrière-plan sur chaque nœud, afin de répondre au mieux à l’état dans lequel se trouve le cluster. &lt;br /&gt;
&lt;br /&gt;
Couplé avec Skaffold pour le développement par exemple, si l’on souhaite déployer de nombreux microservices, alors la quantité de RAM consommée grimpe en flèche, et est proportionnelle au nombre de nœuds utilisés. On peut considérer que pour une dizaine de microservices et quatre nœuds, la consommation en mémoire vive dépasse les 10 Go et il est préférable d’avoir un processeur puissant (8+ coeurs).&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
https://kind.sigs.k8s.io/ - Site web de Kind&lt;br /&gt;
&lt;br /&gt;
https://github.com/kubernetes-sigs/kind/pull/1157 - Pull request PV&lt;br /&gt;
&lt;br /&gt;
https://minikube.sigs.k8s.io/docs/ - Site web de Minikube&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Kind_architecture.png&amp;diff=51459</id>
		<title>File:Kind architecture.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Kind_architecture.png&amp;diff=51459"/>
		<updated>2021-11-28T17:17:56Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:VT2021_Kind_presentation.pdf&amp;diff=51458</id>
		<title>File:VT2021 Kind presentation.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:VT2021_Kind_presentation.pdf&amp;diff=51458"/>
		<updated>2021-11-28T17:12:33Z</updated>

		<summary type="html">&lt;p&gt;Titouan.Minier-Mancini: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Titouan.Minier-Mancini</name></author>
	</entry>
</feed>