<?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=Quentin.Fombaron1</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=Quentin.Fombaron1"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Quentin.Fombaron1"/>
	<updated>2026-05-30T23:00:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=45552</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=45552"/>
		<updated>2019-03-23T15:02:05Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Affectations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Fin Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : 5 Mars, 9H00-11H30 (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  21 Mars de 12H00 à 18H30 salle P007.&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | [https://gitlab.com/Shadsa/loragan-project GitLab]&lt;br /&gt;
 | [https://loragan-project.bit.ai/pwl/XL5sjhb8jxwJAHCV Rapport final] - [https://loragan-project.bit.ai/pwl/Hln4qOwBNsKOJuEd Rapport technique] - [[Media:Présentation-ThingSat.pdf|Presentation finale FR]] - [[Media:Presentation-MiParcours-ThingSat.pdf|Presentation de mi-parcours]] - [https://gitlab.com/Shadsa/loragan-project GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | [[User:Servan.Charlot | CHARLOT Servan]] (chef de projet), [[User:Zoran.Chanet | CHANET Zoran]]&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | [[PROJET-INFO5 1819 EDCampus | Fiche de suivi ]],  Lien vers le dépôt Git&lt;br /&gt;
 | [[Media:Rapport-Projet-EDCampus-2019.pdf|Rapport final]] - [[Media:EDCampus-Final-CHANET-CHARLOT.pdf|Presentation finale]] - [[Media:EDCampus_Mi_Parcours_CHARLOT_CHANET.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[RICM5 2018 2019 - UGAChain|UGAChain 2019]] : [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 |  [[RICM5 2018 2019 - UGAChain | Fiche]],  [https://gitlab.com/ugachain Dépôt Git], [[RICM5 2018 2019 - UGAChain - Journal | Journal]] &lt;br /&gt;
 | [[Media:RapportUGAChain.pdf|Rapport final]] - [[Media:PresentationUGAChain.pdf|Presentation finale]] - [[Media:Presentation-MiParcours-UGAChain.pdf|Presentation de mi-parcours]] - [[RICM5 2018 2019 - UGAChain - Démonstration | Démonstration]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | [[ PROJET-INFO5_Aide_Deficients_Visuels | Fiche ]],  [https://github.com/Cucu2plus/CanneBlancheV2 Lien vers le dépôt Git]&lt;br /&gt;
 | [[Media:Rapport_final_aide_aux_deficients_visuels.pdf|Rapport final]] - [[Media:Presentation-Finale-DeficientsVisuels.pdf|Presentation finale]] - [[Media:Presentation-MiParcours-DeficientsVisuels.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[PROJET-1FO5_1819_CampusIoT|Fiche]],  Lien vers le dépôt Git&lt;br /&gt;
 | [[Media:Presentation_CAMPUSIOT2019.pdf|Rapport final]] - [[Media:PRESENTATION_CAMPUSIOT2019.pdf|Presentation finale FR]] - [[Media:Presentation-MiParcours-campusiot.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-INFO5_Kiné_Connecté | Fiche]],  Lien vers le dépôt Git&lt;br /&gt;
 | [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:KinéConnectéMiParcours.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-1FO5_1819_SkiLocator|Fiche]],  [https://github.com/huski-grenoble GitHub]&lt;br /&gt;
 | [[Media:Rapport_HuSki.pdf|Rapport HuSki]] - [[Media:Rapport_Management_HuSki.pdf|Rapport Management des projets innovants]] -[[Media:HuSki PDF.pdf|Presentation finale FR]] - [[Media:HuSki PDF EN.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-skiLocator-2019.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | &#039;&#039;&#039;Hugo GROS-DAILLON (CP)&#039;&#039;&#039;, Julien COURTIAL, Cédric LAFRASSE, Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | [[ PROJET-INFO5_Contributions_JHipster | Fiche ]],  [https://github.com/contribution-jhipster-uga GitHub]&lt;br /&gt;
 | [[Media:Rapport Contribution JHipster UGA.pdf|Rapport final]] - [[Media:Rapport - MANAGEMENT- Contribution JHipster UGA.pdf|Rapport Management]] - [[Media:PowerPoint-Contribution-JHipster-UGA.pdf|Presentation finale FR]] - [[Media:PowerPoint-Contribution-JHipster-UGA-ENG.pdf|Final Presentation EN]] - [[Media:Flyer-Contribution-JHipster-UGA.pdf|Flyer]] - [[Media:Jhipster_Contribution_miparcour_2019.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
==== Planning Soutenance Projet S10  ====&lt;br /&gt;
&lt;br /&gt;
19 et 21 Mars 2019 (Salles 144 et 007).&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Soutenance des projets INFO5 2018-2019&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Horaire&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;
&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 0&lt;br /&gt;
 | Mardi 19/03 12H15-13H00&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | 12H00-12H45&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | 12H45-13H30&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | [[User:Servan.Charlot | CHARLOT Servan]] (chef de projet), [[User:Zoran.Chanet | CHANET Zoran]]&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | 13H30-14H15&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | 14H30-15H15&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | 15H15-16H00&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | 16H00-16H45&lt;br /&gt;
 | [[RICM5 2018 2019 - UGAChain|UGAChain 2019]] : [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | &#039;&#039;&#039;Léo VALETTE (CP)&#039;&#039;&#039;, Loris GENTILLON, Jordan JEAN, Enzo MOLION&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | 17H00-17H45&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | &#039;&#039;&#039;Hugo GROS-DAILLON (CP)&#039;&#039;&#039;, Julien COURTIAL, Cédric LAFRASSE, Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Instructions pour la soutenance====&lt;br /&gt;
Chaque soutenance comporte 5 minutes d&#039;installation et de désinstallation, 20 minutes de présentation, 10 minutes de question et 10 minutes de démonstration.&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 par exemple ...)&lt;br /&gt;
** Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux)...)&lt;br /&gt;
** Conclusion (Retour d&#039;expérience)&lt;br /&gt;
** Transparent introduisant la démonstration&lt;br /&gt;
* Répétez plusieurs fois votre présentation et votre démonstration. Il y aura des personnalités invitées. Prévoyez un démonstration filmée pour palier à l&#039;effet &amp;quot;démo&amp;quot;.&lt;br /&gt;
* L&#039;ensemble des documents (y compris photos, vidéos et &#039;&#039;[[Logiciels#Screencast|screencast]]s&#039;&#039;) doivent être accessibles depuis le tableau ci-dessus et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.&lt;br /&gt;
* &#039;&#039;&#039;TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* L&#039;ensemble des documents demandé doit être accessible sur le wiki avant midi le 21/03. 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 10 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 ...).&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=45482</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=45482"/>
		<updated>2019-03-21T10:18:38Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Affectations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Fin Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : 5 Mars, 9H00-11H30 (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  21 Mars de 12H00 à 18H30 salle P007.&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | &lt;br /&gt;
 | [https://loragan-project.bit.ai/pwl/XL5sjhb8jxwJAHCV Rapport final] - [https://loragan-project.bit.ai/pwl/Hln4qOwBNsKOJuEd Rapport technique] - [[Media:Présentation-ThingSat.pdf|Presentation finale FR]] - [[Media:Presentation-MiParcours-ThingSat.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | [[User:Servan.Charlot | CHARLOT Servan]] (chef de projet), [[User:Zoran.Chanet | CHANET Zoran]]&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | [[PROJET-INFO5 1819 EDCampus | Fiche de suivi ]]&lt;br /&gt;
 | [[Media:Rapport-Projet-EDCampus-2019.pdf|Rapport final]] - [[Media:EDCampus-Final-CHANET-CHARLOT.pdf|Presentation finale]] - [[Media:EDCampus_Mi_Parcours_CHARLOT_CHANET.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[RICM5 2018 2019 - UGAChain|UGAChain 2019]] : [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | &lt;br /&gt;
* [[RICM5 2018 2019 - UGAChain | Fiche]] &lt;br /&gt;
*[[RICM5 2018 2019 - UGAChain - Journal | Journal]] &lt;br /&gt;
 | [[Media:RapportUGAChain.pdf|Rapport final]] - [[Media:PresentationUGAChain.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-UGAChain.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | [[ PROJET-INFO5_Aide_Deficients_Visuels | Fiche ]]&lt;br /&gt;
 | [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-DeficientsVisuels.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[PROJET-1FO5_1819_CampusIoT|Fiche]]&lt;br /&gt;
 | [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-campusiot.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-INFO5_Kiné_Connecté | Fiche]]&lt;br /&gt;
 | [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:KinéConnectéMiParcours.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-1FO5_1819_SkiLocator|Fiche]]&lt;br /&gt;
 | [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:HuSki PDF.pdf|Presentation finale FR]] - [[Media:HuSki PDF EN.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-skiLocator-2019.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | &#039;&#039;&#039;Hugo GROS-DAILLON (CP)&#039;&#039;&#039;, Julien COURTIAL, Cédric LAFRASSE, Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | [[ PROJET-INFO5_Contributions_JHipster | Fiche ]]&lt;br /&gt;
 | [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:Flyer-Contribution-JHipster-UGA.pdf|Flyer]] - [[Media:Jhipster_Contribution_miparcour_2019.pdf|Presentation de mi-parcours]]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
==== Planning Soutenance Projet S10  ====&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Soutenance des projets INFO5 2018-2019&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Horaire&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;
&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 0&lt;br /&gt;
 | Mardi 19/03 12H15-13H00&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | 12H00-12H45&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | 12H45-13H30&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | [[User:Servan.Charlot | CHARLOT Servan]] (chef de projet), [[User:Zoran.Chanet | CHANET Zoran]]&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | 13H30-14H15&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | 14H30-15H15&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | 15H15-16H00&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | 16H00-16H45&lt;br /&gt;
 | [[RICM5 2018 2019 - UGAChain|UGAChain 2019]] : [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | &#039;&#039;&#039;Léo VALETTE (CP)&#039;&#039;&#039;, Loris GENTILLON, Jordan JEAN, Enzo MOLION&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | 17H00-17H45&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | &#039;&#039;&#039;Hugo GROS-DAILLON (CP)&#039;&#039;&#039;, Julien COURTIAL, Cédric LAFRASSE, Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Instructions pour la soutenance====&lt;br /&gt;
Chaque soutenance comporte 5 minutes d&#039;installation et de désinstallation, 20 minutes de présentation, 10 minutes de question et 10 minutes de démonstration.&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 par exemple ...)&lt;br /&gt;
** Métriques logiciels : lignes de code, langages, performance, temps ingénieur (d&#039;après vos journaux)...)&lt;br /&gt;
** Conclusion (Retour d&#039;expérience)&lt;br /&gt;
** Transparent introduisant la démonstration&lt;br /&gt;
* Répétez plusieurs fois votre présentation et votre démonstration. Il y aura des personnalités invitées. Prévoyez un démonstration filmée pour palier à l&#039;effet &amp;quot;démo&amp;quot;.&lt;br /&gt;
* L&#039;ensemble des documents (y compris photos, vidéos et &#039;&#039;[[Logiciels#Screencast|screencast]]s&#039;&#039;) doivent être accessibles depuis le tableau ci-dessous et dans chaque fiche de suivi. Prévoyez une copie sur clé USB.&lt;br /&gt;
* &#039;&#039;&#039;TOUT Le matériel prêté devra être rapporté et restitué dans un sac cabas lors de la soutenance.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* L&#039;ensemble des documents demandé doit être accessible sur le wiki avant midi le 21/03. 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 10 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 ...).&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:HuSki_PDF_EN.pdf&amp;diff=45481</id>
		<title>File:HuSki PDF EN.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:HuSki_PDF_EN.pdf&amp;diff=45481"/>
		<updated>2019-03-21T10:18:27Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:HuSki_PDF.pdf&amp;diff=45480</id>
		<title>File:HuSki PDF.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:HuSki_PDF.pdf&amp;diff=45480"/>
		<updated>2019-03-21T10:17:02Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44526</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44526"/>
		<updated>2019-01-29T10:42:39Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Équipe du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ski Locator&#039;&#039;&#039; est une solution de géolocalisation de matériel sportif en cas de perte à l&#039;aide de la technologie &#039;&#039;&#039;LoRa&#039;&#039;&#039; et d&#039;une approche &#039;&#039;&#039;IoT&#039;&#039;&#039;. Dans notre scénario, nos clients pratiquent les sports d&#039;hivers et veulent éviter de perdre leurs skis dans la poudreuse en cas de chute.&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-lora-alliance-logo.png|200px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |Développeur&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |Développeur&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |Développeur&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44525</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44525"/>
		<updated>2019-01-29T10:40:02Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Ski Locator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ski Locator&#039;&#039;&#039; est une solution de géolocalisation de matériel sportif en cas de perte à l&#039;aide de la technologie &#039;&#039;&#039;LoRa&#039;&#039;&#039; et d&#039;une approche &#039;&#039;&#039;IoT&#039;&#039;&#039;. Dans notre scénario, nos clients pratiquent les sports d&#039;hivers et veulent éviter de perdre leurs skis dans la poudreuse en cas de chute.&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-lora-alliance-logo.png|200px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44524</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44524"/>
		<updated>2019-01-29T10:39:46Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Ski Locator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
Ski Locator est une solution de géolocalisation de matériel sportif en cas de perte à l&#039;aide de la technologie LoRa et d&#039;une approche IoT. Dans notre scénario, nos clients pratiquent les sports d&#039;hivers et veulent éviter de perdre leurs skis dans la poudreuse en cas de chute.&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-lora-alliance-logo.png|200px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44523</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44523"/>
		<updated>2019-01-29T10:33:47Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* SCRUM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
Ski Locator est une solution de géolocalisation de matériel de sport d&#039;hiver (ski, snowboard, etc.) en cas de perte à l&#039;aide de la technologie LoRa et d&#039;une approche IoT.&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-lora-alliance-logo.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44522</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44522"/>
		<updated>2019-01-29T10:33:37Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* SCRUM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
Ski Locator est une solution de géolocalisation de matériel de sport d&#039;hiver (ski, snowboard, etc.) en cas de perte à l&#039;aide de la technologie LoRa et d&#039;une approche IoT.&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-lora-alliance-logo.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : [[https://trello.com/b/HOoSXhjP/kanban Trello]]&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44521</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44521"/>
		<updated>2019-01-29T10:33:27Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* SCRUM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
Ski Locator est une solution de géolocalisation de matériel de sport d&#039;hiver (ski, snowboard, etc.) en cas de perte à l&#039;aide de la technologie LoRa et d&#039;une approche IoT.&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-lora-alliance-logo.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : [[https://trello.com/b/HOoSXhjP/kanban|Trello]]&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44520</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44520"/>
		<updated>2019-01-29T10:32:19Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Ski Locator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
Ski Locator est une solution de géolocalisation de matériel de sport d&#039;hiver (ski, snowboard, etc.) en cas de perte à l&#039;aide de la technologie LoRa et d&#039;une approche IoT.&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-lora-alliance-logo.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : &#039;&#039;Trello ICI&#039;&#039;&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Iot-lora-alliance-logo.png&amp;diff=44519</id>
		<title>File:Iot-lora-alliance-logo.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Iot-lora-alliance-logo.png&amp;diff=44519"/>
		<updated>2019-01-29T10:32:13Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator/SRS&amp;diff=44517</id>
		<title>PROJET-1FO5 1819 SkiLocator/SRS</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator/SRS&amp;diff=44517"/>
		<updated>2019-01-29T10:26:00Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: Created page with &amp;quot;=Equipe= =Introduction= =Description générale= =Exigence fonctionelles= =Exigence de performance= =Evolution potentielles=&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Equipe=&lt;br /&gt;
=Introduction=&lt;br /&gt;
=Description générale=&lt;br /&gt;
=Exigence fonctionelles=&lt;br /&gt;
=Exigence de performance=&lt;br /&gt;
=Evolution potentielles=&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44516</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44516"/>
		<updated>2019-01-29T10:25:12Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Affectations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Mi Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : A définir, 8H00-11H00 (30 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances mi-parcours ====&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances finales ====&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | CHARLOT Servan (chef de projet), CHANET Zoran&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | UGAChain 2019: [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-1FO5_1819_SkiLocator|Fiche]] - [[PROJET-1FO5_1819_SkiLocator/SRS|SRS]]&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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | Julien COURTIAL, Hugo GROS-DAILLON (Chef de projet), Cédric LAFRASSE,Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
&lt;br /&gt;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44515</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44515"/>
		<updated>2019-01-29T10:24:49Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Affectations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Mi Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : A définir, 8H00-11H00 (30 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances mi-parcours ====&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances finales ====&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | CHARLOT Servan (chef de projet), CHANET Zoran&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | UGAChain 2019: [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-1FO5_1819_SkiLocator|Fiche]][[PROJET-1FO5_1819_SkiLocator/SRS|SRS]]&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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | Julien COURTIAL, Hugo GROS-DAILLON (Chef de projet), Cédric LAFRASSE,Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
&lt;br /&gt;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44513</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44513"/>
		<updated>2019-01-29T10:22:03Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Ski Locator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Description ICI&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:image.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : &#039;&#039;Trello ICI&#039;&#039;&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44512</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44512"/>
		<updated>2019-01-29T10:21:51Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Équipe du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Description ICI&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim LEPAGE&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : &#039;&#039;Trello ICI&#039;&#039;&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44511</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44511"/>
		<updated>2019-01-29T10:21:40Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Équipe du projet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Description ICI&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin FOMBARON&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey FERREIRA&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim Lepage&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan LARNICOL&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas OZENDA&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : &#039;&#039;Trello ICI&#039;&#039;&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44510</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44510"/>
		<updated>2019-01-29T10:21:01Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Sprint1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Description ICI&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin Fombaron&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey Ferreira&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim Lepage&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan Larnicol&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas Ozenda&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : &#039;&#039;Trello ICI&#039;&#039;&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;7&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44509</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44509"/>
		<updated>2019-01-29T10:20:43Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Journal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Description ICI&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin Fombaron&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey Ferreira&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim Lepage&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan Larnicol&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas Ozenda&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : &#039;&#039;Trello ICI&#039;&#039;&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Quentin FOMBARON&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Joffrey FERREIRA&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Tim LEPAGE&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Titouan LARNICOL&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Thomas OZENDA&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi ...&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Quentin --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
 |&amp;lt;!-- Joffrey --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Tim --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Titouan --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Thomas --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44508</id>
		<title>PROJET-1FO5 1819 SkiLocator</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&amp;diff=44508"/>
		<updated>2019-01-29T10:15:21Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: Created page with &amp;quot;=Ski Locator=  &amp;#039;&amp;#039;Description ICI&amp;#039;&amp;#039;  300px  =Équipe du projet= {| class=&amp;quot;wikitable&amp;quot;  |-  ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre  ! scope=&amp;quot;col&amp;quot; | Rôles  |-  |Quent...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Ski Locator=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Description ICI&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=Équipe du projet=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;200px&amp;quot; | Membre&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Rôles&lt;br /&gt;
 |-&lt;br /&gt;
 |Quentin Fombaron&lt;br /&gt;
 |Chef de projet&lt;br /&gt;
 |-&lt;br /&gt;
 |Joffrey Ferreira&lt;br /&gt;
 |SCRUM Master&lt;br /&gt;
 |-&lt;br /&gt;
 |Tim Lepage&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Titouan Larnicol&lt;br /&gt;
 |&lt;br /&gt;
 |-&lt;br /&gt;
 |Thomas Ozenda&lt;br /&gt;
 |&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
* Supervisé par : Bernard  Tourancheau&lt;br /&gt;
&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
===Mots clés===&lt;br /&gt;
* &lt;br /&gt;
=Présentation= &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
&lt;br /&gt;
Une liste plus actualisé des tâches est disponible sur Trello : &#039;&#039;Trello ICI&#039;&#039;&lt;br /&gt;
==Sprint 1 - Du ... au ... ==&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=Journal=&lt;br /&gt;
&lt;br /&gt;
==Sprint1==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| GEOURJON Anthony&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| LEMAIRE Timothée&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| ROUQUIER Clément&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| TURRIN Vincent&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 1&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi 29/01/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Récupération du matériel au fablab (Arduino 101)&lt;br /&gt;
*Tentative d&#039;un flash d&#039;un exemple sur la carte&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Lecture et compréhension des divers documents produits durant le S9 par les 3 autres membres du projet, un gros travail de conception ayant déjà été effectué en amont de mon arrivée&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;  |&lt;br /&gt;
*Impossible de faire marcher quelque chose sur la carte pourtant elle est détecté&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Confrontation de l&#039;idée que m&#039;ont donné les documents de conception avec la vision des autres membres afin d&#039;assurer une divergence de trajectoire aussi faible que possible&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mardi 30/01/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Tentative d&#039;un flash d&#039;un exemple sur la carte&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*La technologie de communication entre les cartes et le téléphone s&#039;effectuera sur la base du [https://developer.android.com/guide/topics/connectivity/bluetooth-le.html Bluetooth BLE]. Ayant déjà travaillé sur cette technologie sur le projet [http://air.imag.fr/index.php/UltraTeam UltraTeam], je ferai cette partie.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Le bootloader de la carte est broken et ne fonctionne depuis Linux, Avec Windows Timothée y arrive facilement&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Le BLE est une technologie qui m&#039;avait donné beaucoup de tord durant le précédent projet et il m&#039;intéresse de m&#039;y remettre dessus. le nombre de ressources disponibles est assez peu limité et les ressources existantes ont généralement été conçues pour du HardWare spécial&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mercredi 31/01/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de management de projets innovants - 4h&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de management de projets innovants - 4h&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de management de projets innovants - 4h&lt;br /&gt;
*Analyse du code d&#039;[https://github.com/ultratrail/mobapp2 UltraTeam] pour voir ce qui est récupérable du travail déjà effectué dans le cadre du projet antérieur&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de management de projets innovants - 4h&lt;br /&gt;
*Etude problématique projet&lt;br /&gt;
*Formation tensorflow : tuto simple, structure du code et concepts de base&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Je ne récupérerai que peu de code du précédent projet en raison du nombre important de bricolage. J&#039;ai décidé de me rebaser quasi-exclusivement sur le [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT]&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Vendredi 02/02/18&amp;lt;/span&amp;gt;&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;  &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Tentative de flash sur l’Arduino récupéré par Anthony au fablab, finalement réussi sur Windows.&lt;br /&gt;
*Essai de l&#039;exemple &amp;quot;HearthRate Monitor&amp;quot; avec connexion Bluetooth.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Création d&#039;un [https://github.com/SmartMove-PolytechGrenoble/SmartMove dépot Github] se basant sur un Fork du Google Sample et qui aura ensuite pour but d&#039;être intégré dans l&#039;application finale créée par les autres. &lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Continuation de la formation TF Visionnage vidéos, notamment conférence sur deep learning adapté à Tensorflow&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Travail avec Clément pour faire fonctionner l&#039;exemple en BLE sur son début d&#039;appli. finalement fonctionnel en demandant l&#039;utilisation du GPS sur android (Comme le requière la spécification BLE)&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Le GoogleSample se base sur un design [https://developer.android.com/reference/android/support/v7/app/AppCompatActivity.html AppCompat], ce qui n&#039;est pas pratique pour l&#039;intégration. Je me souviens avoir eu le même problème sur [http://air.imag.fr/index.php/UltraTeam UltraTeam]. Je le gèrerai cependant de façon opposée -&amp;gt; Au lieu de passer toute mon application sur le même design, je vais transformer le code pour l&#039;utiliser sans ce Framework.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sprint 2==&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| GEOURJON Anthony&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| LEMAIRE Timothée&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| ROUQUIER Clément&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| TURRIN Vincent&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 2&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi 05/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Travail sur le AIR&lt;br /&gt;
*Export des taches backlog sur Trello&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Début du code Arduino en partant de l&#039;exemple &amp;quot;HeartRate Monitor&amp;quot;&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*L&#039;APK fournie par un clone du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] ne trouve pas toujours les périphériques BLE environnants. Début des investigations&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Pas mal de difficultés lors du test, en raison de difficultés de debugging sur l&#039;Arduino.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*L&#039;application fonctionne sans soucis sur les plus anciennes versions d&#039;Android mais semble avoir des soucis à partir d&#039;une certaine version du SDK toujours indéterminée.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Étude des problématiques propres à notre projet : Stream de data, Dynamic Time&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mardi 06/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Étude avec Vincent d&#039;une application utilisant de la détection de mouvement Tensor Flow sur  Android. https://blog.lemberg.co.uk/motion-gesture-detection-using-tensorflow-android&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Avancement du code Arduino.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Résolution du bug. Il faut depuis le SDK 23 une autorisation de localisation pour faire fonctionner le Bluetooth. [https://stackoverflow.com/questions/32708374/bluetooth-le-scanfilters-dont-work-on-android-m Problème et solution détaillée]&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Etude d’un code de reconnaissance de mouvement tensorflow Android, + test, comprendre pour pouvoir modifier en conséquence&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Résolution des problèmes rencontrés la veille (Mauvais initialisation du module gérant les capteurs), puis travail sur l&#039;envoie des données par blutooth.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*le problème a également fait l&#039;objet de plusieurs [https://github.com/googlesamples/android-BluetoothLeGatt/pulls Pull Requests] sur le dépo. Certaines ont été validées mais aucune mergées.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mercredi 07/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Cours de management de projets innovants - 4h&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de management de projets innovants - 4h&lt;br /&gt;
*Finalisation du code arduino pour le moment.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de management de projets innovants - 4h&lt;br /&gt;
*Début du travail d&#039;intégration du [https://github.com/googlesamples/android-BluetoothLeGatt GoogleSample BleGATT] en tant qu&#039;activité secondaire&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de management de projets innovants - 4h&lt;br /&gt;
*Étude approfondie des modèles : il faut sûrement utiliser un LSTM &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
|&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Recherches sur les UUID (pour l&#039;arduino).&lt;br /&gt;
*Envoie des valeurs depuis l&#039;arduino sous forme binaire (nécessite de séparer les octets des ints)&lt;br /&gt;
*Mise sur Git du code arduino.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*La forme choisie est celle d&#039;un [https://stackoverflow.com/questions/1979369/android-activity-as-a-dialog Dialog Activity] pour avoir une interaction ergonomique et user friendly&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Jeudi 08/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Diverses expérimentations avec le MotionGesture. Installation de Gesture Manager sur mon téléphone et record de quelques mouvemnts sur un seul capteur (ceux du téléphone). &lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Application fonctionnelle de façon satisfaisante. Cependant, elle ne gère qu&#039;un serveur [https://www.bluetooth.com/specifications/gatt/generic-attributes-overview BLE GATT] là où un par capteur serait nécessaire. Début des modifications en ce sens.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Beaucoup de travail est reste à effectuer afin de permettre la gestion de plusieurs serveurs en simultanée quand l&#039;application de base ne le gère pas du tout. Une meilleure conception aurait réduit l&#039;impact de ce problème&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Vendredi 09/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;appli MotionGestureDemo https://github.com/ryanchyshyn/motion_gestures_detection/tree/master/MotionGesturesDemo&lt;br /&gt;
*L’intérêt de cette appli est qu&#039;elle exécute un modèle Tensorflow. Le code nécessaire a cela est externalisé dans une librairie que nous pourrions éventuellement réutiliser&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Hackathlon&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Travail de transition pour une gestion multi-serveurs. Modification des structures de données et des Callbacks.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Abandon du code trouvé précédemment car le modèle ne nous correspond pas. Reprise d’un code utilisant un modèle LSTM en Tensorflow, qui reconnait l’activité d’une personne (assis, debout, en train de marcher, montant des marches…)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sprint 3==&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| GEOURJON Anthony&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| LEMAIRE Timothée&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| ROUQUIER Clément&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| TURRIN Vincent&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 3&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi 12/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
*Recherche de modèle avec Vincent. Expérimentation avec un modèle LSTM : https://medium.com/@curiousily/human-activity-recognition-using-lstms-on-android-tensorflow-for-hackers-part-vi-492da5adef64&lt;br /&gt;
*Prise en main de ce code &lt;br /&gt;
&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Etudes du protocole BLE pour l&#039;intégration à l&#039;application android&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Modification de la [https://developer.android.com/reference/android/app/ListActivity.html ListActivity] pour avoir une sélection [https://www.101apps.co.za/articles/making-a-list-coding-multiple-choice-list-dialogs.html Multi Choice]&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Déchiffrage de codes utilisant un modèle LSTM : cela semble être un bon modèle pour notre cas, à voir les résultats pour des moves assez court.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Cela crée un océan de problèmes de logique en raison de la modification a la volée de la liste lors d&#039;une découverte et du clic sur le bouton menu &amp;quot;Scan/Stop&amp;quot;. Après beaucoup de travail sur le Sample je me permet de dire que son design est plus que discutable&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mardi 13/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Fork du modèle LSTM : https://github.com/SmartMove-PolytechGrenoble/TensorFlow-on-Android-for-Human-Activity-Recognition-with-LSTMs &lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Poursuite de l&#039;étude BLE.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Suite de la veille&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Modifications du code pour correspondre à notre formattage de données + modification du prétraitement des données&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mercredi 14/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Conception de la gestion des entraînements. Entraînements au sens &amp;quot;suite d&#039;activités&amp;quot; que l&#039;utilisateur peut faire et vouloir détecter&lt;br /&gt;
*Soutenance mi parcours&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Soutenance mi parcours&lt;br /&gt;
*Prévision de l&#039;abandon de l&#039;utilisation d&#039;arduinos pour l&#039;utilisation de sensorTags.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Préparation de la soutenance&lt;br /&gt;
*Soutenance mi parcours&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Soutenance mi parcours&lt;br /&gt;
* Résolution problèmes inconnus Tensorflow&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Jeudi 15/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours gestion&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours gestion&lt;br /&gt;
*Découverte sensorTag&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Absence jusqu&#039;aux vacances pour cause de déménagement&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours gestion&lt;br /&gt;
* Test d&#039;entraîner le modèle avec des jeux de données : impossible à faire tourner hardware trop faible.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Vendredi 16/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Essai tensor flow sur mon CPU &lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Faire tourner Tensorflow sur GPU : fonctionne mieux.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sprint 4 (Vacances) ==&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| GEOURJON Anthony&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| LEMAIRE Timothée&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| ROUQUIER Clément&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| TURRIN Vincent&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 4&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;/!\Vacances/!\&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Semaine du 19 au 25 février&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
|&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* [...]&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* [...]&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* [...]&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Quelques tests sur SensorTag&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sprint 5==&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| GEOURJON Anthony&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| LEMAIRE Timothée&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| ROUQUIER Clément&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| TURRIN Vincent&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 5&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi 26/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de gestion&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de gestion&lt;br /&gt;
*Analyse de l&#039;application Android sensorTag officiel (openSource)&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de gestion&lt;br /&gt;
*Changement de trajectoire du projet, nous utiliserons désormais des [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG]. Début d&#039;analyse des ressources disponibles afin de voir s&#039;il n&#039;est pas possible d&#039;utiliser un code facile à intégrer&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Cours de gestion&lt;br /&gt;
* Début modification du code Android d&#039;évalutation : comptabilisation, du nombre de mouvement, chronométrage.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Solution propriétaire à TI analysée : [http://www.ti.com/tool/ble-stack?DCMP=wbu-blestack&amp;amp;HQS=blestack BLE Stack]&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mardi 27/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Travail sur la gestion des entraînements (création d&#039;entrainement et sauvegarde)&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*La solution fonctionne parfaitement mais ne gère pas le Multi Server GATT. Code trop complexe pour modifications et intégration. Abandon de la solution&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Début modification code enregistrement data. Objectif : labéliser, choisir librement les limites.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mercredi 28/02/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Travail sur la gestion des entraînements (création d&#039;entrainement et sauvegarde)&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Recherche de stage&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Recherche de solution alternative pour la connexion au [http://www.ti.com/ww/en/wireless_connectivity/sensortag/ SensorTAG] avec gestion de multi serveur GATT&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Ajout du support du gyroscope&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Beaucoup de ressources disponibles sur le net fonctionnement en fait avec un Gateway Hardware propriétaire, elles sont donc toutes inutilisables dans notre cas&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Jeudi 01/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Travail sur la gestion des entraînements (Visualisation)&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Découverte du service [https://github.com/devicehive/android-ble Android BLE] de [https://devicehive.com/ DeviceHive] qui se sert d&#039;un téléphone Android comme Gateway entre plusieurs périphériques BLE et un serveur, répondant à toutes nos contraintes. Exploration et mise en place de cette solution&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Entraînement avec nos propres données : il faut beaucoup de données, avec peu de données la précision est vraiment mauvaise.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Solution un peu complexe d&#039;utilisation et qui ne pourra pas être inclue dans une version en production. Cependant très pratique pour acquérir des jeux de données lors du développement&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Vendredi 02/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Travail sur la gestion des entraînements (Visualisation)&lt;br /&gt;
* Réunion 2&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Réunion 2&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Solution de [https://devicehive.com/ DeviceHive] fonctionnelle, et découverte d&#039;une nouvelle problématique : La fréquence de notifications des données est de 300 ms, bien trop lent. Pourtant, les [http://www.ti.com/lit/sl/szzy004a/szzy004a.pdf spécifications] de la carte indiquent une fréquence minimale de 100 ms (il est d&#039;ailleurs [https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/385413 apparemment] de flasher l&#039;appareil pour augmenter la fréquence)&lt;br /&gt;
* Réunion 2&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Réunion 2&lt;br /&gt;
* Récolte de plus de données.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Le problème de fréquence est donc soit lié à DeviceHive soit au téléphone Android. Dans l&#039;immédiat, abandon de la solution DeviceHive pour avoir une version fonctionnelle aussi vite que possible&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sprint 6 ==&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| GEOURJON Anthony&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| LEMAIRE Timothée&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| ROUQUIER Clément&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| TURRIN Vincent&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 6&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi 05/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Expérimentations avec des jeux de données difféerents&lt;br /&gt;
*MaJ Air&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
Analyse code BLE Android (celui de Clément)&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*L&#039;[https://github.com/SmartMove-PolytechGrenoble/motion_gestures_detection/tree/dev_mesh application] développée par Vincent est suffisamment aboutie pour accepter une intégration des services Bluetooth. Début de cette intégration&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Modif learning pour utiliser les nouvelles infos capteurs : gyroscope + accél, Modifications formattage des données (Python)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Cela demandera tout de même beaucoup de travail étant donné les problèmes de clone et d&#039;intégration inhérents à Android.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mardi 06/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Refactoring de la gestion des entraînements pour prendre dynamiquement en compte le nombre de mouvements&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Réunion avec Clément.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Réunion avec Timothée afin de se mettre d&#039;accord pour permettre une parallélisation du travail.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Le vecteur angulaire n&#039;est pas l&#039;information qu&#039;il nous faut mais plutôt la gravité : changement du code, et reprise de la récupération des données.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
*Je travaillerai sur la partie connexion Bluetooth et lui sur la partie GATT (découverte des services et caractéristiques, inscription et lecture des notifications)&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mercredi 07/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
*Recherche sur les caractéristiques bluetooth du sensorTag et leur utilisations&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Intégration de la connexion a l&#039;appli de récupération des données&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* En fait différentes variable pour l&#039;apprentissage n&#039;avaient pas été touchées, il est possible d&#039;avoir de bons résultats avec peu de données.&lt;br /&gt;
* Reprise des tests : très bonne précision avec seulement 40 secondes d&#039;entraînement : les mouvements marcher et sauter sont distingués avec une très bonne précision en ligne droite.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Jeudi 08/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Excusé (TOEIC)&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Papier et téléphone pour le stage.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Suite. Connexion réussie.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Rectification après tests : il faut bien l&#039;accélération angulaire, je n&#039;ai pas le capteur sur mon téléphone, je reste sur des infos accéléromètre et c&#039;est précis.&lt;br /&gt;
* Multiples essais en faisant varier les variables pour l&#039;apprentissage tensorflow.&lt;br /&gt;
* Essais et modification du code pour pouvoir faire descendre le nombre de valeur en input assez bas : reconnaître les mouvements de toute durée.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Vendredi 09/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Développement d&#039;une API pour le contrôle du sensorTag une fois connecté.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Suite. Clean du code et de la connexion.&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Tests avec gyroscope (j&#039;ai utilisé le téléphone de Timothée car j&#039;ai pas de gyroscope). Les résultats sont moins bons qu&#039;avec seulement l&#039;accéléromètre. Il faut plus de training. Je cherche comment donner moins d&#039;importance au gyroscope.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sprint 7 (en cours)==&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Date&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| GEOURJON Anthony&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| LEMAIRE Timothée&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| ROUQUIER Clément&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| TURRIN Vincent&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=&amp;quot;text-align: center; background-color:purple;&amp;quot;| &amp;lt;span style=&amp;quot;color:white&amp;quot;&amp;gt;SPRINT 7&amp;lt;/span&amp;gt;&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Lundi 12/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Intégration de la gestion des entrainements&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Suite développement de l&#039;API pour le sensorTag, avancées grâce à une doc pertinente.&lt;br /&gt;
* Obtention de valeur de l&#039;accéléromètre et du gyroscope du sensorTag.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Rien&lt;br /&gt;
* Rien &lt;br /&gt;
* Rien&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Test d&#039;un très grand nombre de settings : retenu analyse d&#039;une fenêtre de 2 secondes, glissante de 500ms en 500ms.&lt;br /&gt;
* Code Python (learning) et code Android (utilisant le modèle) rendus totalement scalable avec quelques tableaux en dur à remplir selon nos besoins (capteurs en entrée, moves en sortie, moves à compter...) --&amp;gt; l&#039;entraînement / l&#039;UI est généré en conséquence .&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
* Intégration de la gestion des entrainements&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
* Il faut que je modifie le code pour éviter certains doublons, et éviter des événements incompatibles à la suite. Un autre point : ajouter un deuxième seuil de validation (autre que la probabilité) : assurer une proba &amp;gt; 0.98 pendant deux avancées de la fenêtre par exemple, je pense que cela va donner des résultats robustes. Un gros problème de notre projet est qu&#039;on est en Open set : nos classes ne représentent pas tous les mouvements possibles (c&#039;est un domaine de recherche très répandu actuellement). On a alors du bruit. On va essayer d&#039;utiliser la méthode simple : enregistrer du bruit, et des moves qui n&#039;ont aucun sens.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mardi 13/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Cours de gestion de projet&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Cours de gestion de projet&lt;br /&gt;
* support de Clément pour l&#039;implémentation l&#039;API sur la base de l&#039;appli.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Cours de gestion de projet&lt;br /&gt;
* Mise en relation de la connexion avec a partie de Timothée, résolution de problèmes&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* De nombreux tweaks par rapport à la problématique : être temps réel/précision/pas de faux positif.&lt;br /&gt;
* Réengistrement pour la 70000 fois de données mais ce coup-ci au niveau de la jambe avec et sans gyroscope (j&#039;ai mal aux jambes).&lt;br /&gt;
* Ajout de plus d&#039;option pour ajuster la validation d&#039;un move : un move peut être plus ou moins dur à valider.&lt;br /&gt;
* Cours de gestion de projet&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
* Problème de fréquence d’échantillonnage, la caractéristique BLE prévu a cette effet ne semble pas avoir d&#039;effet.&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
* L&#039;ajout du gyroscope (on passe alors à 6 variables) fait exploser la complexité du modèle il prend un temps très long à être entraîné (normal...)&lt;br /&gt;
* Retour à accéléromètre seul.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Mercredi 14/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Fin d&#039;intégration de la gestion des entrainements&lt;br /&gt;
* Enregistrement de jeu de données&lt;br /&gt;
* Diapo&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Tentative d&#039;implémentation du SensorTag sur l&#039;autre application (???) de gestion des entrainements&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Merge avec le code d&#039;entraînement d&#039;Antho.&lt;br /&gt;
* Réengistrement avec Anthony de plein de données (tout au niveau de la ceinture), avec 10Mo de données on devrait être assez précis.&lt;br /&gt;
* Tweak du modèle encore et encore.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
* Échec&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 | rowspan=&amp;quot;2&amp;quot; | &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Jeudi 15/03/18&amp;lt;/span&amp;gt; &lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Tâches&amp;lt;/span&amp;gt;&lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Soutenance&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Soutenance&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Matin : Soutenance&lt;br /&gt;
* Apres-Midi : Partir le plus loin possible et ne jamais revenir&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; |&lt;br /&gt;
* Soutenance&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
 | rowspan=&amp;quot;1&amp;quot; | &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Remarques&amp;lt;/span&amp;gt; &lt;br /&gt;
 |&amp;lt;!-- Anthony --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot;|&lt;br /&gt;
 |&amp;lt;!-- Timothée --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Clément --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
 |&amp;lt;!-- Vincent --&amp;gt; style=&amp;quot;width: 280px;&amp;quot; style=&amp;quot;color:purple&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44507</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44507"/>
		<updated>2019-01-29T10:09:53Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Affectations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Mi Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : A définir, 8H00-11H00 (30 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances mi-parcours ====&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances finales ====&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | CHARLOT Servan (chef de projet), CHANET Zoran&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | UGAChain 2019: [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-1FO5_1819_SkiLocator|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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | Julien COURTIAL, Hugo GROS-DAILLON (Chef de projet), Cédric LAFRASSE,Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
&lt;br /&gt;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44506</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44506"/>
		<updated>2019-01-29T10:09:21Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Affectations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Mi Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : A définir, 8H00-11H00 (30 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances mi-parcours ====&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances finales ====&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | CHARLOT Servan (chef de projet), CHANET Zoran&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | UGAChain 2019: [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-1FO5_1819_SkiLocator 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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | Julien COURTIAL, Hugo GROS-DAILLON (Chef de projet), Cédric LAFRASSE,Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
&lt;br /&gt;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44505</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44505"/>
		<updated>2019-01-29T10:08:42Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Affectations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Mi Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : A définir, 8H00-11H00 (30 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances mi-parcours ====&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances finales ====&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | Thibaud VEGREVILLE,Aurélien SURIER GAROFALO&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 | CHARLOT Servan (chef de projet), CHANET Zoran&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | UGAChain 2019: [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 | Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 | Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 | &#039;&#039;&#039;William Weill (CP)&#039;&#039;&#039;, Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 | &#039;&#039;&#039;Sekina Belguendouz (CP)&#039;&#039;&#039;, Vincent Aubert, Amina Boucherima, Najwa Ez-Zine&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [[PROJET-1FO5_1819_SkiLocator]]&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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contributions open-source au projet JHipster]]&lt;br /&gt;
 | Julien COURTIAL, Hugo GROS-DAILLON (Chef de projet), Cédric LAFRASSE,Bastien TERRIER&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
&lt;br /&gt;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44465</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44465"/>
		<updated>2019-01-28T18:48:30Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Mi Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : A définir, 8H00-11H00 (30 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances mi-parcours ====&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances finales ====&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | XX (chef de projet), YY&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 |&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | UGAChain 2019: [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 |&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 |&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 |&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 |&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CP)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44464</id>
		<title>Projets 2018-2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2018-2019&amp;diff=44464"/>
		<updated>2019-01-28T18:46:48Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]&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, Didier Donsez&lt;br /&gt;
&lt;br /&gt;
* Dates : Lundi après-midi, Mardi après-midi  &lt;br /&gt;
* Lancement: &#039;&#039;&#039;21/01/19 à 14h30&#039;&#039;&#039;&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_2018_2019. &#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/18-19 , 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 documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera 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===&lt;br /&gt;
&lt;br /&gt;
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)&lt;br /&gt;
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)&lt;br /&gt;
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)&lt;br /&gt;
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.&lt;br /&gt;
* [[Dataviz de la qualité de l&#039;air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)&lt;br /&gt;
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&amp;amp;M)&lt;br /&gt;
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)&lt;br /&gt;
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&amp;amp;M)&lt;br /&gt;
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)&lt;br /&gt;
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)&lt;br /&gt;
* [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]], Olivier Richard (S)&lt;br /&gt;
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)&lt;br /&gt;
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&amp;amp;M)&lt;br /&gt;
* [[generate_NIX_expression | Génération d&#039;expression NIX]] (S)&lt;br /&gt;
 &lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* Intégration de [[Walabot]] à [[RobAIR]]&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO4 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN]]&lt;br /&gt;
 | VINCENT	Mathieu, SAUTON	Tanguy, ANCRENAZ	Ariane&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[LoRaRescueBalloon]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Didier Donsez avec le [https://www.csug.fr/ CSUG]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[ASAC/AP/AP-2019-2|Serre Polytech]]&lt;br /&gt;
 | RAKOTOARIMALALA 	Andriamahatratra, BARDOU	Eva, GAUFFIER	Léni&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[ASAC/SJC/SJC-2019|Serre St Cassien]]&lt;br /&gt;
 | DECAMPS	Marceau, LANDI	Estelle, BONASPETTI	GIULIA&lt;br /&gt;
 | Nicolas Palix&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet FICHA - tri sélectif connecté]]&lt;br /&gt;
 | SCHANEN	Loïc, VINCENT	Maxence, VANDAL	Jade&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Dataviz de la qualité de l&#039;air]]&lt;br /&gt;
 | ZARCOS 	Paul, ZHENG	Jian, REYMOND	Estelle&lt;br /&gt;
 | Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/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;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]&lt;br /&gt;
 | SERRE	Ancelin, BOUVIER	Baptiste, WYKLAND	Damien&lt;br /&gt;
 | Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
 | THOMAS	Antoine, RIVOIRE	Antoine, DENIS	Guillaume&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 | [[Serious game multi-joueurs pour tables tactiles en réseau]]&lt;br /&gt;
 | DUMENIL	Antoine, BETEND	Baptiste, JAN 	Léo&lt;br /&gt;
 | Anne-Laure Finkel, Tim Lepage, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 | [[Interface de visualisation mobile du projet e-Tree]]&lt;br /&gt;
 | SOLVERY	Tom, SALA	Ergi, DUMAX-VORZET	Mathieu&lt;br /&gt;
 | Anne Delaballe, Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 | [[OpenHAB UPnP DCS 2018]]&lt;br /&gt;
 | VARENNE	Rémi, TRESTOUR	Grégory, SOUCHON	Loïc&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 | [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]&lt;br /&gt;
 | LORDEY	Maxime, LATTARD	Alexis, GILBERT-COLLET	Bertrand&lt;br /&gt;
 | Didier Donsez et d&#039;autres avec Neoxia&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
 | [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]&lt;br /&gt;
 | REYGROBELLET 	Lucas, BRES 	Maxence, PELISSON	Antoine&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
 | [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
 | [[Colmet_energy | Mesure de consommation d&#039;énergie et de perfomance pour cluster]]&lt;br /&gt;
 | DALAINE	Nathan, FONTFREYDE	Joachim, GAUTIER-PIGNONBLANC	Yann&lt;br /&gt;
 | Olivier Richard, Adrien Faure&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
 | [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]&lt;br /&gt;
 | Non attribué&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 18&lt;br /&gt;
 | [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]&lt;br /&gt;
 | BADAT	Léya, CUAU	Victor, MASSON	Jérémy&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
 | [[generate_NIX_expression | Génération d&#039;expression NIX]]&lt;br /&gt;
 | CHABRE	Manon, DE ARAUJO 	Bastien, COSCIA	Daniel&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
 | [[Gestion des Polypoints]]&lt;br /&gt;
 | CASTANO	Nicolas, SIBUE	Quentin, LAPLANTE	Juliette&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
 | [[Smart Recruting]]&lt;br /&gt;
 | GUILLOT	Romain, ARNOUX	Thibaut, CHASSEGUET	Corentin&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
 | [[Aide aux handicaps]]&lt;br /&gt;
 | JALMIN	Hoël, ALACALI	Kadir uraz, MASTOURA	Iheb&lt;br /&gt;
 | Didier Donsez, Olivier Richard&lt;br /&gt;
 | [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/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;
&lt;br /&gt;
==INFO5==&lt;br /&gt;
===Projet IoT S9===&lt;br /&gt;
Enseignants responsables : Bernard Tourancheau&lt;br /&gt;
&lt;br /&gt;
Calendrier: ??? Septembre à ??? Décembre 2017.&lt;br /&gt;
&lt;br /&gt;
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Projet Semestre S10===&lt;br /&gt;
&lt;br /&gt;
Enseignants responsables : [[user:Donsez | Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
Calendrier: Fin Janvier à Mi Mars 2019.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants:&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : A définir, 8H00-11H00 (30 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances mi-parcours ====&lt;br /&gt;
&lt;br /&gt;
==== Planning soutenances finales ====&lt;br /&gt;
&lt;br /&gt;
==== Affectations ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2018-2019&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;| Dépot git&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[LoRaGAN/INFO5A/2019|LoRaGAN]]&lt;br /&gt;
 | XX (chef de projet), YY&lt;br /&gt;
 | Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions open-source au projet Eclipse EdCampus]]&lt;br /&gt;
 |&lt;br /&gt;
 | Anthony Geourjon, Gérard Pollier, Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | UGAChain 2019: [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]&lt;br /&gt;
 |&lt;br /&gt;
 | Didier Donsez, Anthony Geourjon&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)&lt;br /&gt;
 |&lt;br /&gt;
 | Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Plateforme CampusIoT]]&lt;br /&gt;
 |&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Rééducation Kiné connecté]]&lt;br /&gt;
 |&lt;br /&gt;
 | Sylvain Toru, Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | Projet IoT 3 : [[Ski-locator]]&lt;br /&gt;
 | &#039;&#039;&#039;Quentin Fombaron (CF)&#039;&#039;&#039;, Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | TBD&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;
Réserve&lt;br /&gt;
* [[Contributions à Software Heritage]] (Didier Donsez and co)&lt;br /&gt;
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --&amp;gt; commun avec CampusIoT et UGAChain&lt;br /&gt;
&lt;br /&gt;
= Projets collectifs MAT/IESE =&lt;br /&gt;
&lt;br /&gt;
== Années 3 et 4 ==&lt;br /&gt;
&lt;br /&gt;
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/GEJC|Gestion de l&#039;eau @ Jardin du coteau]]&lt;br /&gt;
* [[ASAC/AP|Aquaponie @ Polytech]]&lt;br /&gt;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;br /&gt;
&lt;br /&gt;
=Réserve (boite à idées)=&lt;br /&gt;
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]&lt;br /&gt;
# [[Sonotone à apprentissage profond]]&lt;br /&gt;
# [[StartAIR2]] (Nicolas Palix)&lt;br /&gt;
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) &lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;br /&gt;
# [[Parking Intelligent]]&lt;br /&gt;
# Frontend Web multi-utilisateur pour un jeu sérieux d&#039;entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.&lt;br /&gt;
# Construction d&#039;un roadbook d&#039;ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM-1FO_1819_Sport&amp;diff=44010</id>
		<title>ECOM-1FO 1819 Sport</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM-1FO_1819_Sport&amp;diff=44010"/>
		<updated>2018-12-18T06:48:41Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* L18. Slides de présentation finale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[ECOM-1FO|&amp;lt;&amp;lt;&amp;lt;&amp;lt; Retour vers la page ECOM 2018-2019]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Le projet en quelques mots=&lt;br /&gt;
Le but de ce projet est de réaliser une application web ainsi qu&#039;une application mobile permettant la création, la gestion, l&#039;inscription, la participation et le paiement des frais à des évènements sportifs comme des marathons, des courses à pied, des courses de vélo, etc.&lt;br /&gt;
&lt;br /&gt;
Les différents types d&#039;utilisateurs que nous pourrons retrouver dans notre application sont :&lt;br /&gt;
&lt;br /&gt;
* L&#039;organisateur, c&#039;est lui qui créé les évènements, il peut accéder à son &amp;quot;Espace Organisateur&amp;quot; pour visualiser ses évènements, les participants, etc.&lt;br /&gt;
* Le bénévole, il peut s&#039;inscrire gratuitement à un évènement en tant que bénévole pour différents roles : Kinésithérapiste, photographe, docteur, etc.&lt;br /&gt;
* Le coureur, c&#039;est l&#039;utilisateur de base, il peut s&#039;inscrire à un évènement sportif et payer son inscription. Il pourra ensuite se rendre à l&#039;évènement et y participer.&lt;br /&gt;
&lt;br /&gt;
=L&#039;équipe et leurs rôles=&lt;br /&gt;
&lt;br /&gt;
* Hugo GROS-DAILLON : Chef de projet + Backend, Code review, Doc review&lt;br /&gt;
* Tim LEPAGE : Scrum Master + Frontend&lt;br /&gt;
* Quentin FOMBARON : Développeur Frontend, CSO&lt;br /&gt;
* Vincent AUBERT : Développeur Backend, CPO&lt;br /&gt;
&lt;br /&gt;
=Gestion de projet=&lt;br /&gt;
Choix des outils :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Gitlab&#039;&#039; : pour le dépôt, pour la documentation, l&#039;intégration en continu&lt;br /&gt;
* &#039;&#039;[https://trello.com/b/4Y985yyt Trello]&#039;&#039;  : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)&lt;br /&gt;
&lt;br /&gt;
=SCRUM=&lt;br /&gt;
==Sprint 1 25 Sept au 9 Oct==&lt;br /&gt;
* Découverte du projet&lt;br /&gt;
* Mise en place des rôles au sein de l’équipe&lt;br /&gt;
* Détermination des dates clés du projet&lt;br /&gt;
* Etablissement de la longueur des sprints&lt;br /&gt;
* Icon de l&#039;application&lt;br /&gt;
* Finalisation du diagramme de tâche&lt;br /&gt;
* IHM Concrète&lt;br /&gt;
* Arbre des tâches&lt;br /&gt;
* IHM abstraite&lt;br /&gt;
* Diagrammes de cas d&#039;utilisation&lt;br /&gt;
* Diagrammes de contexte&lt;br /&gt;
&lt;br /&gt;
==Sprint 2 9 Oct au 20 Oct==&lt;br /&gt;
* Préparation à l&#039;audit&lt;br /&gt;
* Réflexion sur la structure de la future DB&lt;br /&gt;
* Routage entre les pages web&lt;br /&gt;
* Réflexion sur la langage JDL&lt;br /&gt;
* Mise en place du projet Jhipster&lt;br /&gt;
* Début de la mise en place de la Leafleft Map&lt;br /&gt;
* Correction du glossaire sur la page AIR.&lt;br /&gt;
* Création de la barre de navigation du site avec Bootstrap.&lt;br /&gt;
* Création du squelette de la page d&#039;accueil avec Bootstrap.&lt;br /&gt;
* Squelette de la page de visualisation d&#039;une course&lt;br /&gt;
* Formulaires d&#039;inscription&lt;br /&gt;
* Insertion d&#039;une carte OpenStreetMap avec Leaflet sur la page d&#039;accueil d&#039;un projet JHipster&lt;br /&gt;
* Insertion de markers et de tracés sur cette carte.&lt;br /&gt;
* Rédaction page air&lt;br /&gt;
* Compréhension du fonctionnement de l&#039;API Rest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Remarque durant l&#039;audit :&lt;br /&gt;
&lt;br /&gt;
- Ajouter un fil conducteur lors de la navigation. L&#039;utilisateur doit **toujours** savoir ou il se trouve et comment il en est arrivé là.&lt;br /&gt;
- Aligner les champs lors de l&#039;inscription&lt;br /&gt;
- Rédiger un glossaire&lt;br /&gt;
&lt;br /&gt;
==Sprint 3 20 Oct au 6 Nov==&lt;br /&gt;
* Création d&#039;un service&lt;br /&gt;
* ⚠️ Gros soucis avec la version 11 de Node, obligé de downgrade pour le bon fonctionnement de `yarn start` entre autre&lt;br /&gt;
* Vues logiques&lt;br /&gt;
* IHM page de visualisation&lt;br /&gt;
* Formation pour réaliser des requêtes dans la base de données grâce aux JPA queries.&lt;br /&gt;
* Création de méthodes pour l&#039;API REST.&lt;br /&gt;
* Vue logique de haut niveau&lt;br /&gt;
* Vue dynamique&lt;br /&gt;
* API Rest&lt;br /&gt;
* Diaporama de l&#039;Audit 2&lt;br /&gt;
* Formulaire inscription bénévole&lt;br /&gt;
* Insertion des utilisateurs dans la base de données&lt;br /&gt;
* API Rest avec la base de données&lt;br /&gt;
* Test API Rest avec la base de donnée&lt;br /&gt;
&lt;br /&gt;
==Sprint 4 6 Nov au 20 Nov==&lt;br /&gt;
* Barre de recherche&lt;br /&gt;
* Filtres&lt;br /&gt;
* page de visualisation liée avec le backend&lt;br /&gt;
* merge front end&lt;br /&gt;
* debug&lt;br /&gt;
* Api rest&lt;br /&gt;
* Vue logique haut niveau&lt;br /&gt;
* Vue physique&lt;br /&gt;
* Envoi de mails lors de l&#039;inscription.&lt;br /&gt;
* Utilisation d&#039;une API externe permettant de trouver la longitude et la latitude en fonction d&#039;un lieu.&lt;br /&gt;
* Mise en place de l&#039;intégration continue&lt;br /&gt;
* Page de visualisation&lt;br /&gt;
&lt;br /&gt;
==Sprint 5 20 Nov au 11 Dec==&lt;br /&gt;
* Mise en place de la récupération de la longitude et de la latitude en fonction d&#039;un lieu grâce à une API externe.&lt;br /&gt;
* Mise en place de l&#039;intégration continue.&lt;br /&gt;
*Mise en place du chargement des images Lazy&lt;br /&gt;
* Mise en place du déploiement continu&lt;br /&gt;
* Déploiement du docker &lt;br /&gt;
* Mise en place de l&#039;intégration continue&lt;br /&gt;
* Page de visualisation&lt;br /&gt;
* Application mobile, github: https://github.com/TimLepage/MesCoursesApp&lt;br /&gt;
* Page de confirmation&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
==L2. Dossier de conception système ==&lt;br /&gt;
&lt;br /&gt;
[https://air.imag.fr/images/1/1b/DossierdeConceptionECOMMesCourses2018.pdf Dossier de Conception Système - Mes Courses]&lt;br /&gt;
&lt;br /&gt;
==L3. Analyse des scénarios clients ==&lt;br /&gt;
* Scan des feuilles&lt;br /&gt;
&lt;br /&gt;
==L4. Maquette ==&lt;br /&gt;
&lt;br /&gt;
=== Page d&#039;accueil ===&lt;br /&gt;
&lt;br /&gt;
[[File:IHM_Concrète_Maquette-Index.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
=== Inscription d&#039;un participant ===&lt;br /&gt;
&lt;br /&gt;
[[File:IHM_Concrète_Maquette-Inscription_coureur.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
=== Inscription d&#039;un bénévole ===&lt;br /&gt;
&lt;br /&gt;
[[File:IHM_Concrète_Maquette-Inscription_bénévole.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
=== Selection d&#039;une course ===&lt;br /&gt;
&lt;br /&gt;
[[File:IHM_Concrète_Maquette-Select._course.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==L5. SRS ==&lt;br /&gt;
[[ECOM-1FO_1819_Sport_L5_SRS|SRS]]&lt;br /&gt;
&lt;br /&gt;
==L6. Diagramme UML ==&lt;br /&gt;
===Diagramme de contexte===&lt;br /&gt;
[[File:diagramme_de_contexte_ecom_2018_2019_mescourses.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Diagramme de cas d&#039;utilisation d&#039;un participant===&lt;br /&gt;
[[File:UseCaseParticipant_ecom20182019_mescourses.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Diagramme de cas d&#039;utilisation d&#039;un bénévole===&lt;br /&gt;
[[File:UseCaseBenevole_ecom20182019_mescourses.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Diagramme de cas d&#039;utilisation d&#039;un organisateur===&lt;br /&gt;
[[File:UseCaseOrganisateur_ecom20182019_mescourses.png]]&lt;br /&gt;
&lt;br /&gt;
===Diagramme Base de données (JDL)===&lt;br /&gt;
[[File:Jhipster-jdlMesCourses2018.png]]&lt;br /&gt;
&lt;br /&gt;
==L7. Modèles des tâches==&lt;br /&gt;
&lt;br /&gt;
===Arbre des tâches de l&#039;inscription à une course - participant===&lt;br /&gt;
&lt;br /&gt;
[[File:Arbre_Taches-Participants_ecom2018_mescourses.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arbre des tâches de la création d&#039;une course - organisateur===&lt;br /&gt;
&lt;br /&gt;
[[File:Arbre Taches-Organisateurs ecom20182019 mescourses.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==L8. Journal==&lt;br /&gt;
[[ECOM-1FO_1819_Sport_L9_LOG|Journal de l&#039;équipe]]&lt;br /&gt;
&lt;br /&gt;
==L9. Dépôt Git==&lt;br /&gt;
[https://gricad-gitlab.univ-grenoble-alpes.fr/grosdaih/ecom-mescourses GitLab Application web]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/TimLepage/MesCoursesApp GitHub Application mobile]&lt;br /&gt;
&lt;br /&gt;
==L10. Application en ligne==&lt;br /&gt;
&lt;br /&gt;
[https://mes-courses-2018.herokuapp.com website]&lt;br /&gt;
&lt;br /&gt;
==L11. Evaluation IHM réalisée==&lt;br /&gt;
&lt;br /&gt;
==L12. Evaluation qualité du projet==&lt;br /&gt;
&lt;br /&gt;
[https://sonarcloud.io/dashboard?id=QuentinFombaron_ECOM-MesCourses SonarQube]&lt;br /&gt;
&lt;br /&gt;
==L13. Evaluation économique du projet==&lt;br /&gt;
&lt;br /&gt;
===COCOMO===&lt;br /&gt;
Grâce à la commande : &#039;&#039;&#039;git ls-files | xargs cat | wc -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Nous avons pu savoir que le projet à son état final comportait 65359 lignes de codes avec uniquement ce qui est envoyé sur GitLab (donc sans les nodes_modules, etc.)&lt;br /&gt;
&lt;br /&gt;
Nous avons décidés que comme nous étions des jeunes diplomés, le salaire développeur pour ce projet serait de 2000€ net par mois.&lt;br /&gt;
&lt;br /&gt;
Le résultat COCOMO II correspondant est le suivant :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:CocomoEcomMesCourses2018.png]]&lt;br /&gt;
&lt;br /&gt;
===Evaluation économique du projet===&lt;br /&gt;
Vous pouvez utiliser les évaluations des salaires avec cette [https://stackoverflow.com/jobs/salary calculatrice] pour connaître les salaires des membres de l&#039;équipe. (pensez à ajouter les charges).&lt;br /&gt;
&lt;br /&gt;
==L14. Evaluation de la cybersécurité du projet (option)==&lt;br /&gt;
* [[Media:ECOM-1FO_1819_Sport_RGPD_Report.pdf]] (1 page de type checklist)&lt;br /&gt;
&lt;br /&gt;
==L15. Evaluation des performances (option)==&lt;br /&gt;
* [[Media:ECOM-1FO_1819_Sport_YYYYYY.pdf]] (résultat des injections de charge JMeter, Gatling, ...)&lt;br /&gt;
&lt;br /&gt;
==L16. Gestion des risques (option)==&lt;br /&gt;
* [[Media:ECOM-1FO_1819_Sport_YYYYYY.pdf]]&lt;br /&gt;
&lt;br /&gt;
==L17. Slides de présentation conception==&lt;br /&gt;
* [https://air.imag.fr/images/f/f3/Dossier_de_Conception_ECOM2018_MesCourses.pdf Dossier de Conception Système - Mes Courses]&lt;br /&gt;
&lt;br /&gt;
==L18. Slides de présentation finale==&lt;br /&gt;
*[[Media:Audit 3 ECOM MesCourses.pdf]]&lt;br /&gt;
&lt;br /&gt;
==L19. Auto-évaluation==&lt;br /&gt;
* [[Media:ECOM-1FO_1819_Sport_YYYYYY.pdf]]&lt;br /&gt;
&lt;br /&gt;
==L20. Slides de présentation client==&lt;br /&gt;
* [[Media:ECOM-1FO_1819_Sport_YYYYYY.pdf]]&lt;br /&gt;
&lt;br /&gt;
==L21. Glossaire==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evénement&#039;&#039;&#039; : Une compétition sportive créée et organisée par un organisateur. Il comprend des participants, des bénévoles et un organisateur qui gère le bon déroulement de la compétition (ex: course à pied, marathon, triathlon, randonnée, course de vélo, etc.).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Organisateur&#039;&#039;&#039; : Personne qui est à l&#039;origine de la course. Elle va gérer la course comme l&#039;affectation des bénévoles.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Participant&#039;&#039;&#039; : Personne participant à un évènement. Cette personne s&#039;inscrit à une course, paye le montant et participe à l&#039;évènement.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Bénévole&#039;&#039;&#039; : Personne participant à un évènement mais sans être un participant. Elle a un rôle (kiné, contrôleur, .etc..) et le rempli durant la l&#039;évènement.&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Audit_3_ECOM_MesCourses.pdf&amp;diff=44008</id>
		<title>File:Audit 3 ECOM MesCourses.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Audit_3_ECOM_MesCourses.pdf&amp;diff=44008"/>
		<updated>2018-12-18T06:46:44Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM-1FO_1819_Sport_L9_LOG&amp;diff=44007</id>
		<title>ECOM-1FO 1819 Sport L9 LOG</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM-1FO_1819_Sport_L9_LOG&amp;diff=44007"/>
		<updated>2018-12-18T06:43:47Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* 👨🏼‍💻 Quentin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Semaine 1 : 24/09/18 - 28/09/18==&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💻 Quentin===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
- Mise au propre des arbres de tâche sur [draw.io](https://drive.google.com/file/d/1cuzMqQcOHlCRC1jZ9Lt3t24mbo0hoeTT/view?usp=sharing).&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Tim===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Hugo===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💼 Vincent===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
==Semaine 2 : 01/10/18 - 05/10/18==&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💻 Quentin===&lt;br /&gt;
&lt;br /&gt;
- Icon de l&#039;application&lt;br /&gt;
&lt;br /&gt;
- Finalisation du diagramme de tâche&lt;br /&gt;
&lt;br /&gt;
- IHM Concrète&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Tim===&lt;br /&gt;
&lt;br /&gt;
- Arbre des tâches&lt;br /&gt;
&lt;br /&gt;
- IHM abstraite&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Hugo===&lt;br /&gt;
&lt;br /&gt;
- Diagrammes de cas d&#039;utilisation&lt;br /&gt;
&lt;br /&gt;
- Arbres des tâches&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💼 Vincent===&lt;br /&gt;
&lt;br /&gt;
- Diagrammes de contexte&lt;br /&gt;
&lt;br /&gt;
- Diagrammes de cas d&#039;utilisation&lt;br /&gt;
&lt;br /&gt;
==Semaine 3 : 08/10/18 - 12/10/18 - Audit 1==&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💻 Quentin===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future DB&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Tim===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Squelette de l&#039;application&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future base de données&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Hugo===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future base de données&lt;br /&gt;
&lt;br /&gt;
- Design de la base de données&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la langage JDL&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💼 Vincent===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future DB&lt;br /&gt;
&lt;br /&gt;
- Mise en place du projet Jhipster&lt;br /&gt;
&lt;br /&gt;
- Début de la mise en place de la LeafletMap&lt;br /&gt;
&lt;br /&gt;
===Remarque durant l&#039;audit===&lt;br /&gt;
&lt;br /&gt;
- Ajouter un fil conducteur lors de la navigation. L&#039;utilisateur doit **toujours** savoir ou il se trouve et comment il en est arrivé là.&lt;br /&gt;
&lt;br /&gt;
- Aligner les champs lors de l&#039;inscription&lt;br /&gt;
&lt;br /&gt;
- Rédiger un glossaire&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3 : 15/10/18 - 19/10/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Correction du glossaire sur la page AIR.&lt;br /&gt;
&lt;br /&gt;
- Création de la barre de navigation du site avec Bootstrap.&lt;br /&gt;
&lt;br /&gt;
- Création du squelette de la page d&#039;accueil avec Bootstrap.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![](http://gdurl.com/IHZX)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Squelette de la page de visualisation d&#039;une course&lt;br /&gt;
&lt;br /&gt;
- Formulaires d&#039;inscription&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Insertion d&#039;une carte OpenStreetMap avec Leaflet sur la page d&#039;accueil d&#039;un projet JHipster&lt;br /&gt;
&lt;br /&gt;
- Insertion de markers et de tracés sur cette carte.&lt;br /&gt;
&lt;br /&gt;
- Rédaction page air imag&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Compréhension du fonctionnement de l&#039;API Rest&lt;br /&gt;
&lt;br /&gt;
- Rédaction du glossaire&lt;br /&gt;
&lt;br /&gt;
==Semaine 4 : 22/10/18 - 26/10/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Création d&#039;un service&lt;br /&gt;
&lt;br /&gt;
- ⚠️ Gros soucis avec la version 11 de Node, obligé de downgrade pour le bon fonctionnement de `yarn start` entre autre&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Vues logiques&lt;br /&gt;
&lt;br /&gt;
- IHM page de visualisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Formation pour réaliser des requêtes dans la base de données grâce aux JPA queries.&lt;br /&gt;
&lt;br /&gt;
- Création de méthodes pour l&#039;API REST.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Vue logique de haut niveau&lt;br /&gt;
&lt;br /&gt;
- Vue dynamique&lt;br /&gt;
&lt;br /&gt;
- API Rest&lt;br /&gt;
&lt;br /&gt;
==Semaine 5 : 05/11/18 - 09/11/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Diaporama de l&#039;Audit 2&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Formulaire inscription bénévole&lt;br /&gt;
- Insertion des utilisateurs dans la base de données&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
- Préparation Audit 2&lt;br /&gt;
- API Rest avec la base de données&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Préparation audit 2&lt;br /&gt;
- Test API Rest avec la base de donnée&lt;br /&gt;
&lt;br /&gt;
==Semaine 6 : 11/11/18 -  15/11/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Barre de recherche&lt;br /&gt;
&lt;br /&gt;
- Filtres&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- page de visualisation liée avec le backend&lt;br /&gt;
&lt;br /&gt;
- merge front end&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Merge + debug&lt;br /&gt;
&lt;br /&gt;
- Api rest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Vue logique haut niveau&lt;br /&gt;
&lt;br /&gt;
- Vue physique&lt;br /&gt;
&lt;br /&gt;
==Semaine 7 : 19/11/18 - 23/10/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Avancement de la page d&#039;accueil &lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Merge différentes branches&lt;br /&gt;
&lt;br /&gt;
- Application mobile&lt;br /&gt;
&lt;br /&gt;
- Améliorations pages de visualisation et confirmation&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Envoi de mails lors de l&#039;inscription.&lt;br /&gt;
&lt;br /&gt;
- Utilisation d&#039;une API externe permettant de trouver la longitude et la latitude en fonction d&#039;un lieu.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue&lt;br /&gt;
&lt;br /&gt;
==Semaine 8 : 26/11/18 - 30/11/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Avancement de la page d&#039;accueil&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
- Application mobile&lt;br /&gt;
- Page de confirmation&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Mise en place de la récupération de la longitude et de la latitude en fonction d&#039;un lieu grâce à une API externe.&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue.&lt;br /&gt;
&lt;br /&gt;
-Mise en place du chargement des images Lazy&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Mise en place du déploiement continu&lt;br /&gt;
&lt;br /&gt;
- Déploiement du docker &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue&lt;br /&gt;
&lt;br /&gt;
==Semaine 9 : 03/12/18 - 07/12/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Résolution de bug de pipeline&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
- Application mobile &lt;br /&gt;
&lt;br /&gt;
-Page de confirmation&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Lien réalisé entre les courses présentes dans la base de données et la carte leaflet&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Intégration continue fonctionnelle --&amp;gt; Correction de l&#039;erreur qui faisait en sorte qu&#039;aucun build n&#039;était fonctionnel&lt;br /&gt;
&lt;br /&gt;
==Semaine 10 : 09/12/18 - 11/12/18 ==&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Amélioration du front end&lt;br /&gt;
- Aide au déploiement continu&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
- Application mobile&lt;br /&gt;
&lt;br /&gt;
- Améliorations front end&lt;br /&gt;
&lt;br /&gt;
- Préparattion soutenance&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
- Mise à jour du dossier de conception système.&lt;br /&gt;
&lt;br /&gt;
- Réalisation du document SRS.&lt;br /&gt;
&lt;br /&gt;
- Intégration continue.&lt;br /&gt;
&lt;br /&gt;
- Déploiement de l&#039;application sur Heroku.&lt;br /&gt;
&lt;br /&gt;
- Déploiement continu mis en place.&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue&lt;br /&gt;
- Déploiement fonctionnel avec Heroku&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM-1FO_1819_Sport_L9_LOG&amp;diff=44006</id>
		<title>ECOM-1FO 1819 Sport L9 LOG</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM-1FO_1819_Sport_L9_LOG&amp;diff=44006"/>
		<updated>2018-12-18T06:43:23Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* 👨🏼‍💻 Quentin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Semaine 1 : 24/09/18 - 28/09/18==&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💻 Quentin===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
- Mise au propre des arbres de tâche sur [draw.io](https://drive.google.com/file/d/1cuzMqQcOHlCRC1jZ9Lt3t24mbo0hoeTT/view?usp=sharing).&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Tim===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Hugo===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💼 Vincent===&lt;br /&gt;
&lt;br /&gt;
- Mise en place des outils Trello et Slack.&lt;br /&gt;
&lt;br /&gt;
- Confection des arbres de tâche en groupe.&lt;br /&gt;
&lt;br /&gt;
==Semaine 2 : 01/10/18 - 05/10/18==&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💻 Quentin===&lt;br /&gt;
&lt;br /&gt;
- Icon de l&#039;application&lt;br /&gt;
&lt;br /&gt;
- Finalisation du diagramme de tâche&lt;br /&gt;
&lt;br /&gt;
- IHM Concrète&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Tim===&lt;br /&gt;
&lt;br /&gt;
- Arbre des tâches&lt;br /&gt;
&lt;br /&gt;
- IHM abstraite&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Hugo===&lt;br /&gt;
&lt;br /&gt;
- Diagrammes de cas d&#039;utilisation&lt;br /&gt;
&lt;br /&gt;
- Arbres des tâches&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💼 Vincent===&lt;br /&gt;
&lt;br /&gt;
- Diagrammes de contexte&lt;br /&gt;
&lt;br /&gt;
- Diagrammes de cas d&#039;utilisation&lt;br /&gt;
&lt;br /&gt;
==Semaine 3 : 08/10/18 - 12/10/18 - Audit 1==&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💻 Quentin===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future DB&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Tim===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Squelette de l&#039;application&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future base de données&lt;br /&gt;
&lt;br /&gt;
===👨🏻‍💼 Hugo===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future base de données&lt;br /&gt;
&lt;br /&gt;
- Design de la base de données&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la langage JDL&lt;br /&gt;
&lt;br /&gt;
===👨🏼‍💼 Vincent===&lt;br /&gt;
&lt;br /&gt;
- Préparation à l&#039;audit&lt;br /&gt;
&lt;br /&gt;
- Réflexion sur la structure de la future DB&lt;br /&gt;
&lt;br /&gt;
- Mise en place du projet Jhipster&lt;br /&gt;
&lt;br /&gt;
- Début de la mise en place de la LeafletMap&lt;br /&gt;
&lt;br /&gt;
===Remarque durant l&#039;audit===&lt;br /&gt;
&lt;br /&gt;
- Ajouter un fil conducteur lors de la navigation. L&#039;utilisateur doit **toujours** savoir ou il se trouve et comment il en est arrivé là.&lt;br /&gt;
&lt;br /&gt;
- Aligner les champs lors de l&#039;inscription&lt;br /&gt;
&lt;br /&gt;
- Rédiger un glossaire&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Semaine 3 : 15/10/18 - 19/10/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Correction du glossaire sur la page AIR.&lt;br /&gt;
&lt;br /&gt;
- Création de la barre de navigation du site avec Bootstrap.&lt;br /&gt;
&lt;br /&gt;
- Création du squelette de la page d&#039;accueil avec Bootstrap.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![](http://gdurl.com/IHZX)&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Squelette de la page de visualisation d&#039;une course&lt;br /&gt;
&lt;br /&gt;
- Formulaires d&#039;inscription&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Insertion d&#039;une carte OpenStreetMap avec Leaflet sur la page d&#039;accueil d&#039;un projet JHipster&lt;br /&gt;
&lt;br /&gt;
- Insertion de markers et de tracés sur cette carte.&lt;br /&gt;
&lt;br /&gt;
- Rédaction page air imag&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Compréhension du fonctionnement de l&#039;API Rest&lt;br /&gt;
&lt;br /&gt;
- Rédaction du glossaire&lt;br /&gt;
&lt;br /&gt;
==Semaine 4 : 22/10/18 - 26/10/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Création d&#039;un service&lt;br /&gt;
&lt;br /&gt;
- ⚠️ Gros soucis avec la version 11 de Node, obligé de downgrade pour le bon fonctionnement de `yarn start` entre autre&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Vues logiques&lt;br /&gt;
&lt;br /&gt;
- IHM page de visualisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Formation pour réaliser des requêtes dans la base de données grâce aux JPA queries.&lt;br /&gt;
&lt;br /&gt;
- Création de méthodes pour l&#039;API REST.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Vue logique de haut niveau&lt;br /&gt;
&lt;br /&gt;
- Vue dynamique&lt;br /&gt;
&lt;br /&gt;
- API Rest&lt;br /&gt;
&lt;br /&gt;
==Semaine 5 : 05/11/18 - 09/11/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Diaporama de l&#039;Audit 2&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Formulaire inscription bénévole&lt;br /&gt;
- Insertion des utilisateurs dans la base de données&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
- Préparation Audit 2&lt;br /&gt;
- API Rest avec la base de données&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Préparation audit 2&lt;br /&gt;
- Test API Rest avec la base de donnée&lt;br /&gt;
&lt;br /&gt;
==Semaine 6 : 11/11/18 -  15/11/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Barre de recherche&lt;br /&gt;
&lt;br /&gt;
- Filtres&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- page de visualisation liée avec le backend&lt;br /&gt;
&lt;br /&gt;
- merge front end&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Merge + debug&lt;br /&gt;
&lt;br /&gt;
- Api rest&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Vue logique haut niveau&lt;br /&gt;
&lt;br /&gt;
- Vue physique&lt;br /&gt;
&lt;br /&gt;
==Semaine 7 : 19/11/18 - 23/10/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Avancement de la page d&#039;accueil &lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
&lt;br /&gt;
- Merge différentes branches&lt;br /&gt;
&lt;br /&gt;
- Application mobile&lt;br /&gt;
&lt;br /&gt;
- Améliorations pages de visualisation et confirmation&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Envoi de mails lors de l&#039;inscription.&lt;br /&gt;
&lt;br /&gt;
- Utilisation d&#039;une API externe permettant de trouver la longitude et la latitude en fonction d&#039;un lieu.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue&lt;br /&gt;
&lt;br /&gt;
==Semaine 8 : 26/11/18 - 30/11/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
- Application mobile&lt;br /&gt;
- Page de confirmation&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Mise en place de la récupération de la longitude et de la latitude en fonction d&#039;un lieu grâce à une API externe.&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue.&lt;br /&gt;
&lt;br /&gt;
-Mise en place du chargement des images Lazy&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Mise en place du déploiement continu&lt;br /&gt;
&lt;br /&gt;
- Déploiement du docker &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue&lt;br /&gt;
&lt;br /&gt;
==Semaine 9 : 03/12/18 - 07/12/18 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Résolution de bug de pipeline&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
- Application mobile &lt;br /&gt;
&lt;br /&gt;
-Page de confirmation&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
&lt;br /&gt;
- Lien réalisé entre les courses présentes dans la base de données et la carte leaflet&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Intégration continue fonctionnelle --&amp;gt; Correction de l&#039;erreur qui faisait en sorte qu&#039;aucun build n&#039;était fonctionnel&lt;br /&gt;
&lt;br /&gt;
==Semaine 10 : 09/12/18 - 11/12/18 ==&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💻 Quentin ===&lt;br /&gt;
&lt;br /&gt;
- Amélioration du front end&lt;br /&gt;
- Aide au déploiement continu&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Tim ===&lt;br /&gt;
- Application mobile&lt;br /&gt;
&lt;br /&gt;
- Améliorations front end&lt;br /&gt;
&lt;br /&gt;
- Préparattion soutenance&lt;br /&gt;
&lt;br /&gt;
=== 👨🏻‍💼 Hugo ===&lt;br /&gt;
- Mise à jour du dossier de conception système.&lt;br /&gt;
&lt;br /&gt;
- Réalisation du document SRS.&lt;br /&gt;
&lt;br /&gt;
- Intégration continue.&lt;br /&gt;
&lt;br /&gt;
- Déploiement de l&#039;application sur Heroku.&lt;br /&gt;
&lt;br /&gt;
- Déploiement continu mis en place.&lt;br /&gt;
&lt;br /&gt;
=== 👨🏼‍💼 Vincent ===&lt;br /&gt;
&lt;br /&gt;
- Mise en place de l&#039;intégration continue&lt;br /&gt;
- Déploiement fonctionnel avec Heroku&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018&amp;diff=43815</id>
		<title>VT2018</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018&amp;diff=43815"/>
		<updated>2018-12-17T10:29:17Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VT2017|&amp;lt;&amp;lt; Etudes 2017]] [[VT|Sommaire]] [[VT2019|Etudes 2019 &amp;gt;&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Veille Technologique et Stratégique=&lt;br /&gt;
* Enseignants: [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
* UE/Module: EAM (HPRJ9R6B) et EAR (HPRJ9R4B) en RICM5&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de cette UE est de réaliser un travail de synthèse et d’évaluation sur une technologie / spécification / tendance&lt;br /&gt;
&lt;br /&gt;
Dans votre futur vie d&#039;ingénieur, vous aurez à d&#039;une part, vous former par vous-même sur une technologie émergente et d&#039;autre part à réaliser une veille technologique (et stratégique) par rapport à votre entreprise et projet.&lt;br /&gt;
Il s&#039;agira de réaliser&lt;br /&gt;
* le positionnement par rapport au marché&lt;br /&gt;
* d&#039;être critique&lt;br /&gt;
&lt;br /&gt;
Votre synthèse fait l&#039;objet d&#039;une présentation orale convaincante devant un auditoire (dans le futur, vos collègues, vos chefs ou vos clients) avec des transparents et un discours répété.&lt;br /&gt;
Pour finir de convaincre (Saint Thomas), vous ferez la présentation d&#039;une démonstration.&lt;br /&gt;
&lt;br /&gt;
Votre présentation sera noté et commenté par tous vos camarades via un sondage (téléphone mobile). Leurs notes et leurs commentaires seront notés en fonction de leur exactitude de jugement.&lt;br /&gt;
&lt;br /&gt;
Remarque: Le [https://fr.wikipedia.org/wiki/Plagiat plagiat] est incompatible avec l&#039;éthique de l&#039;ingénieur. Le directeur d&#039;école peut demander à votre traduction devant la commission disciplinaire de l&#039;université. La sanction peut aller jusqu’à une interdiction d&#039;inscription dans les établissements de l&#039;enseignement supérieur français pendant plusieurs années : Le jeu, en vaut-il la chandelle ?&lt;br /&gt;
&lt;br /&gt;
La présentation peut être réalisée avec [[reveal.js]]&lt;br /&gt;
&lt;br /&gt;
[[File:presentation-VT-RICM5-1516.pdf|transparents d&#039;introduction à l&#039;UE]]&lt;br /&gt;
&lt;br /&gt;
=Affectation des sujets=&lt;br /&gt;
[[File:AffectationSujetsVT2018.pdf]]&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
* Vendredi 7/9: présentation et choix des sujets&lt;br /&gt;
[[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
* Lundi 12/11: (GPB,DD en visio)&lt;br /&gt;
** 1: Julien COURTIAL - Apollo 2.0, [[VT2018_Apollo|Fiche de synthèse]], [[Media:Apollo_Auto_Platform.pdf|Transparents]], [https://github.com/ApolloAuto/apollo/tree/master/docs/demo_guide Démo]&lt;br /&gt;
** 2: Sekina BELGUENDOUZ - Service Mesh, [[VT2018_Service_Mesh|Fiche de synthèse]], [[Media:VT2018_Service_Mesh_presentation.pdf|Transparents]], [[VT2018_Service_Mesh_Demo|Démo avec Istrio]] (Reporté)&lt;br /&gt;
** 3: Servan CHARLOT - [[OpenWhisk]] : [[VT2018_OpenWhisk|Fiche de synthèse]], [[Media:VT2018_OpenWhisk_presentation.pdf|Transparents]], [[VT2018_OpenWhisk_Demo|Démo]]&lt;br /&gt;
** 4: Théo ECHEVET - Fabric8, [[VT2018_fabric8|Fiche de synthèse]], [[Media:Fabric8_Pres_Theo_Echevet.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 5: Bastien TERRIER - [[Performance_Monitoring|Performance Monitoring]], [[VT2018_Performance_Monitoring|Fiche de synthèse]], [[Media:VT2018_Performance_Monitoring_presentation.pdf|Transparents]], [[VT2018_Performance_Monitoring_Demo|Démo]]&lt;br /&gt;
* Lundi 19/11: (GPB,DD en visio)&lt;br /&gt;
** 6: Samuel BAMBA - DevSecOps, [[VT2018_DevSecOps|Fiche de synthèse]], [[Media:VT2018_DevSecOps.pdf|Transparents]], [https://github.com/CoolerVoid/codewarrior Démo]&lt;br /&gt;
** 7: Zoran CHANET - [[Wildfly_Swarm|&amp;lt;strike&amp;gt;Wildfly Swarm&amp;lt;/strike&amp;gt;]] [[Thorntail|Thorntail]], [[VT2018_Thorntail|Fiche de synthèse]], [[Media:VT2018_Thorntail_presentation.pdf|Transparents]], [[VT2018_Thorntail_Demo|Démo]] (reporté)&lt;br /&gt;
** 8: Thibaud VEGREVILLE, Techniques et technologies de &amp;quot;Lag Compensation&amp;quot; dans les jeux en ligne, [[VT2018_Lag_Compensation|Fiche de synthèse]], [[Media:Lag_Compensation_in_Games.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 9: Hugo GROS-DAILLON - [[ActionHero.js]], [[VT2018_ActionHero|Fiche de synthèse]], [[Media:VT2018ActionHero.pdf|Transparents]], [https://github.com/HugoSecteur4/DemoVT2018ActionHero/tree/master/ActionHero Démo]&lt;br /&gt;
** 10: Vincent AUBERT - Apache MXNet : Demo avec Intel Movidius, [[VT2018_Apache_Mxnet|Fiche de synthèse]], [[Media:VT2018_Mxnet_presentation.pdf|Transparents]], [[VT2018_Mxnet_Demo|Démo]]&lt;br /&gt;
* Lundi 10/12: (GPB+DD)&lt;br /&gt;
** 11: Joffrey FERREIRA - Keycloak, [[VT2018_Keycloak|Fiche de synthèse]], [[Media:VT2018_Keycloak_presentation.pdf|Transparents]], [[VT2018_Keycloak_Demo|Démo]]&lt;br /&gt;
** 12: Loris GENTILLON - Gceasy, [[VT2018_GCeasy-synthese|Fiche de synthèse]], [[Media:GCeasy_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]] &lt;br /&gt;
** 13: Thomas OZENDA - Zipkin et Daper, [[VT2018_Zipkin|Fiche de synthèse]], [[Media:VT2018_Zipkin_presentation.pdf|Transparents]], [[VT2018_Zipkin_Demo|Démo]]&lt;br /&gt;
** 14: Aurélien SURIER - CloudFoundry, [[VT2018_CloudFoundry|Fiche de synthèse]], [[Media:VT2018_CloudFoundry_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 15: Enzo MOLION - Web3j, [[VT2018_Web3j|Fiche de synthèse]], [[Media:Presentation_Web3j.pdf|Transparents]], [https://air.imag.fr/index.php/VT2018_Web3j#D.C3.A9monstration Démo]&lt;br /&gt;
* Lundi 17/12: (GPB)&lt;br /&gt;
** 16: Quentin FOMBRAON - Web Assembly, [[VT2018_WebAssembly|Fiche de synthèse]], [[Media:VT2018_WebAssembly_presentation.pdf|Transparents]], [[VT2018_WebAssembly#D.C3.A9monstration|Démo]]&lt;br /&gt;
** 17: Timothée DEPRIESTER - Kafka Stream, [[VT2018_Kafka|Fiche de synthèse]], [[Media:VT2018_kafka_presentation.pdf|Transparents]], [[VT2018_kafka_Demo|Démo]]&lt;br /&gt;
** 18: Benjamin BESNIER - Apache Beam, [[VT2018_ApacheBeam|Fiche de synthèse]], [[Media:VT2018_ApacheBeam_presentation.pdf|Transparents]], [[VT2018_ApacheBeam#Demonstration|Démo]]&lt;br /&gt;
** 19: Théo LEVESQUE - OpenShift, [[VT2018_OpenShift|Fiche de synthèse]], [[Media:VT2018_OpenShift.pdf|Transparents]], [[VT2018_OpenShift#D.C3.A9monstration|Démo]]&lt;br /&gt;
** 20: William WEILL - CMS, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
* Lundi 07/01/2019: (GPB+DD)&lt;br /&gt;
** 21: Tim LEPAGE - Moby, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 22: Cédric LAFRASSE - SIG, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 23: Léo VALETTE - Architectures de processeurs pour le Deep Learning (NPU): Démo de l&#039;Intel Movidius, , [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 24: Florian CUZIN - , [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 25: Raphael MANGER - Apache Solr, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
* Lundi 14/01/2019: (GPD, DD absent)&lt;br /&gt;
** 26: Amina BOUCHERIMA - Content delivery networks, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 27: Najwa EZ-ZINE - FIDO, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]&lt;br /&gt;
** 28: Sekina BELGUENDOUZ - Service Mesh, [[VT2018_Service_Mesh|Fiche de synthèse]], [[Media:VT2018_Service_Mesh_presentation.pdf|Transparents]], [[VT2018_Service_Mesh_Demo|Démo avec Istrio]]&lt;br /&gt;
** 29: Zoran CHANET - [[Wildfly_Swarm|&amp;lt;strike&amp;gt;Wildfly Swarm&amp;lt;/strike&amp;gt;]] [[Thorntail|Thorntail]], [[VT2018_Thorntail|Fiche de synthèse]], [[Media:VT2018_Thorntail_presentation.pdf|Transparents]], [[VT2018_Thorntail_Demo|Démo]]&lt;br /&gt;
** 30:&lt;br /&gt;
&lt;br /&gt;
=Sujets non sélectionnés=&lt;br /&gt;
# [[Single Sign On]] : démonstration de [[Keycloak]] avec [[JHipster]].&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Service Mesh]] : démonstration de [[Istio]] avec [[JHispter]] kubernetes subgenerator&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [[gVisor]]: a new kind of sandbox that helps provide secure isolation for containers&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[WebAssembly]]&lt;br /&gt;
# [[Fast Identity Online Alliance]] (FIDO)&lt;br /&gt;
# [[Apache MXNet]] : Demo avec [[Intel Movidius]] ([https://github.com/tspannhw/rpi-mxnet-movidius-minifi lien])&lt;br /&gt;
# [[DevSecOps]] &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# Portails et l&#039;API [[Portlet]] : Démo avec [[Liferay]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Apache Beam]]&lt;br /&gt;
# [[plateforme logicielle open source de conduite autonome Apollo 2.0]]&lt;br /&gt;
# [[Neural Processing Unit]] (NPU) : Demo de la clé [[Intel Movidius]] sur un RPI&lt;br /&gt;
# [[Kafka Streams]]&lt;br /&gt;
# [[Moby]] : démonstration de containers avec votre projet [[ECOM-RICM|eCOM]].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [[Hazelcast]] : Démo avec Spring Boot ([https://dzone.com/storage/assets/6459742-dzone-rc247-gettingstartedwithspringbootandmicrose.pdf lien]) dans un projet [[JHipster]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Zipkin]] (et Dapper) : Démonstration sur [[eCOM]] avec [[JHipster]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [[In-Memory Data Grids]] : Démonstration de [[Gigaspaces]] et [[XAP]] Open Source&lt;br /&gt;
# Insport Video&lt;br /&gt;
# Gestionnaires de contenu : démonstration de  [[Apache Jackrabbit]] dans le projet [[eCOM]]&lt;br /&gt;
# [[Memory-centric virtual distributed storage system]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[Performance Monitoring]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [[ESB]] : démonstration de [[Mule ESB]]&lt;br /&gt;
# [[MemCached]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# [[CloudFoundry]]&lt;br /&gt;
# [[Fabric8]]&lt;br /&gt;
# [[gceasy]] : Universal garbage collection log Analyser&lt;br /&gt;
# [[OpenWhisk]]&lt;br /&gt;
# [[Wildfly Swarm]]&lt;br /&gt;
# [[Apache Solr]] : Démonstration avec [http://hortonworks.com/hadoop-tutorial/indexing-and-searching-text-within-images-with-apache-solr/ Tesseract OCR]&lt;br /&gt;
# [[Content Delivery Network]]s : Démonstration de [[Amazon S3]], Azure, Akamaï ... sur votre projet [[ECOM-RICM|eCOM]]&lt;br /&gt;
# [[ActionHero.js]]&lt;br /&gt;
# [[OpenShift]] CaaS : démo sur le projet eCOM&lt;br /&gt;
# [[web3j]]&lt;br /&gt;
# [[CMS]] : Demo avec [[Crafter CMS]]&lt;br /&gt;
# [[SIG]] : Démonstration de [[QGIS]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [[Low-Power Global Area Network]]s ([[Sat-IoT]])&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43794</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43794"/>
		<updated>2018-12-17T06:59:29Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Comment ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performances pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On lance la commande &amp;lt;code&amp;gt;npx serve&amp;lt;/code&amp;gt; pour créer un serveur et ainsi éviter l&#039;erreur &amp;quot;Cross-origin resource sharing&amp;quot;. On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43793</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43793"/>
		<updated>2018-12-17T06:59:13Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Comment ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performances pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|300px|right|thumb|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On lance la commande &amp;lt;code&amp;gt;npx serve&amp;lt;/code&amp;gt; pour créer un serveur et ainsi éviter l&#039;erreur &amp;quot;Cross-origin resource sharing&amp;quot;. On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43792</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43792"/>
		<updated>2018-12-17T06:58:37Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Comment ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performances pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|300px|right|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On lance la commande &amp;lt;code&amp;gt;npx serve&amp;lt;/code&amp;gt; pour créer un serveur et ainsi éviter l&#039;erreur &amp;quot;Cross-origin resource sharing&amp;quot;. On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43791</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43791"/>
		<updated>2018-12-17T06:57:34Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Résumé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performances pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On lance la commande &amp;lt;code&amp;gt;npx serve&amp;lt;/code&amp;gt; pour créer un serveur et ainsi éviter l&#039;erreur &amp;quot;Cross-origin resource sharing&amp;quot;. On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43790</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43790"/>
		<updated>2018-12-17T06:57:04Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Résumé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performances pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On lance la commande &amp;lt;code&amp;gt;npx serve&amp;lt;/code&amp;gt; pour créer un serveur et ainsi éviter l&#039;erreur &amp;quot;Cross-origin resource sharing&amp;quot;. On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43789</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43789"/>
		<updated>2018-12-17T06:56:11Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Résumé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performances pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On lance la commande &amp;lt;code&amp;gt;npx serve&amp;lt;/code&amp;gt; pour créer un serveur et ainsi éviter l&#039;erreur &amp;quot;Cross-origin resource sharing&amp;quot;. On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43719</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43719"/>
		<updated>2018-12-16T15:03:17Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On lance la commande &amp;lt;code&amp;gt;npx serve&amp;lt;/code&amp;gt; pour créer un serveur et ainsi éviter l&#039;erreur &amp;quot;Cross-origin resource sharing&amp;quot;. On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43718</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43718"/>
		<updated>2018-12-16T14:45:46Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;square.wasm&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;script.js&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;index.html&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43717</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43717"/>
		<updated>2018-12-16T14:44:47Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo2.png|1200px|center|Demo2]]&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
[[File:WebAssemblyDemo3.png|1200px|center|Demo3]]&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:WebAssemblyDemo3.png&amp;diff=43716</id>
		<title>File:WebAssemblyDemo3.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:WebAssemblyDemo3.png&amp;diff=43716"/>
		<updated>2018-12-16T14:44:42Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43715</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43715"/>
		<updated>2018-12-16T14:43:50Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|Demo]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:WebAssemblyDemo2.png&amp;diff=43714</id>
		<title>File:WebAssemblyDemo2.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:WebAssemblyDemo2.png&amp;diff=43714"/>
		<updated>2018-12-16T14:43:41Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43713</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43713"/>
		<updated>2018-12-16T14:43:10Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43712</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43712"/>
		<updated>2018-12-16T14:40:55Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + 5 + &#039;) = &#039; + squareWASM(5) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43711</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43711"/>
		<updated>2018-12-16T14:34:09Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei; /*Il faut donner ici le nom présent dans le fichier binaire .wasm commençant par &amp;lt;code&amp;gt;_Z6&amp;lt;/code&amp;gt;*/&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + i + &#039;) = &#039; + squareWASM(i) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43710</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43710"/>
		<updated>2018-12-16T14:32:26Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++ dans le [https://mbebenita.github.io/WasmExplorer/ compilateur en ligne] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile, on obtient alors le code .wat :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi que le code assembleur :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il suffit ensuite d&#039;importer le fichier binaire .wasm dans le Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei;&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + i + &#039;) = &#039; + squareWASM(i) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43709</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43709"/>
		<updated>2018-12-16T14:30:04Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
On compile &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.wat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code assembleur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importer le WASM dans le fichier Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei;&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + i + &#039;) = &#039; + squareWASM(i) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43708</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43708"/>
		<updated>2018-12-16T14:29:48Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.wat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code assembleur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text&amp;gt;&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Importer le WASM dans le fichier Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei;&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + i + &#039;) = &#039; + squareWASM(i) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43707</id>
		<title>VT2018 WebAssembly</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2018_WebAssembly&amp;diff=43707"/>
		<updated>2018-12-16T14:29:00Z</updated>

		<summary type="html">&lt;p&gt;Quentin.Fombaron1: /* Partie 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:WebAssembly_logo.jpg|400px|thumb|right|Logo WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
*Nom : Quentin FOMBARON&lt;br /&gt;
*Mail : q.fombaron@outlook.fr&lt;br /&gt;
*Sujet : WebAssembly&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
Dans chaque navigateur que nous utilisons comme Chrome, Firefox, Edge ou Safari, le code est interprété et exécuté par un moteur JavaScript, c&#039;est à lui que revient le travail d&#039;exécuter le code, et uniquement le JavaScript. Malheureusement, JavaScript n&#039;est pas idéal au point de vue des performance pour toutes les tâches que nous voulons effectuer. C&#039;est là qu&#039;intervient WebAssembly, c&#039;est est un nouveau type de code qui peut être exécuté dans les navigateurs modernes. Il a été créé pour obtenir de meilleures performances sur le web. Comment cela est-il possible ? C&#039;est un format binaire de bas niveau qui a une petite taille, donc très rapide à charger et à exécuter. La clé est que nous n&#039;écrivons pas WebAssembly, nous le compilons d&#039;autres langages de niveau supérieur comme du C, C++ ou encore du Rust.&lt;br /&gt;
&lt;br /&gt;
=== Mots clés ===&lt;br /&gt;
* Navigateur&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
&lt;br /&gt;
In each browser we use such as Chrome, Firefox, Edge or Safari, the code is interpreted and executed by a JavaScript engine, it is the responsibility of the browser to execute the code, and only the JavaScript. Unfortunately, JavaScript is not ideal in terms of performance for all the tasks we want to perform. This is where WebAssembly comes in, this is a new type of code that can be executed in modern browsers. It was created to get better performance on the web. How is this possible? It is a low-level binary format that has a small size, so it is very fast to load and execute. The key is that we don&#039;t write WebAssembly, we compile it from other higher-level languages like C, C++ or Rust.&lt;br /&gt;
&lt;br /&gt;
=== Keywords ===&lt;br /&gt;
&lt;br /&gt;
* Browser&lt;br /&gt;
* Javascript&lt;br /&gt;
* Performance&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
&lt;br /&gt;
== Comment ? ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.001.jpeg|500px|center|WebAssembly extensions]]&lt;br /&gt;
&lt;br /&gt;
Lorsque le navigateur télécharge le code de WebAssembly, il peut rapidement le transmettre à n&#039;importe quel assemblage machine. Voici à quoi ressemble WebAssembly : il a un format textuel facile à lire (.wat pour WebAssembly Text Format), mais la représentation binaire est ce que l&#039;on fournit réellement au navigateur (.wasm).&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.002.jpeg|500px|center|WebAssembly]]&lt;br /&gt;
&lt;br /&gt;
Ce que WebAssembly nous permet de faire est de prendre du code de niveau supérieur comme du C, C++ ou Rust (un langage recent développé par Mozilla) et de le compiler dans ce qu&#039;on appelle un module WebAssembly. Vous pouvez le charger dans votre application web et l&#039;appeler depuis JavaScript. Il est important de préciser que ce n&#039;est pas un remplacement pour JavaScript, au contraire, il fonctionne avec JavaScript.&lt;br /&gt;
&lt;br /&gt;
== Pourquoi ? == &lt;br /&gt;
&lt;br /&gt;
Dans le besoin d&#039;utiliser un logiciel en dehors du navigateur : jeux vidéo, montage vidéo, rendu 3D ou production musicale. Ces applications font beaucoup de calculs et exigent un haut degré de performance. Ce genre de performance est difficile à obtenir avec JavaScript.&lt;br /&gt;
JavaScript a commencé comme un simple langage de script destiné à apporter une certaine interactivité sur le web, qui a l&#039;époque était composé uniquement de documents hypertextes légers. Il a été conçu pour être facile à apprendre et à écrire, mais pas pour être rapide. Au fil des ans, les navigateurs ont ajouté des optimisations dans la façon dont ils interprètent JavaScript, ce qui a apporté d&#039;importantes améliorations de performance.&lt;br /&gt;
Au fur et à mesure que les choses s&#039;accéléraient, la liste des possibilités dans le navigateur a commencé à s&#039;allonger. Les nouvelles API ont apporté des éléments tels que les graphiques interactifs, le streaming vidéo, la navigation hors ligne et bien d&#039;autres choses encore. En retour, de plus en plus d&#039;applications riches, qui n&#039;étaient auparavant que des applications natives, ont commencé à apparaître sur le Web. Aujourd&#039;hui, vous pouvez facilement modifier des documents et envoyer des mails à partir d&#039;un navigateur, mais il y a des domaines où la performance JavaScript est toujours un challenge.&lt;br /&gt;
Les jeux vidéo sont particulièrement difficiles car ils doivent coordonner non seulement l&#039;audio et la vidéo, mais aussi souvent la physique et l&#039;intelligence artificielle. Etre capable d&#039;atteindre la performance pour faire tourner des jeux sur le web de manière efficace ouvrirait la porte à de nombreuses autres applications sur le web et c&#039;est ce que WebAssembly s&#039;est mis en tête de faire.&lt;br /&gt;
&lt;br /&gt;
== Des avantages ? ==&lt;br /&gt;
&lt;br /&gt;
Voici ce qui rend WebAssembly spécial et si bien adapté au Web : rapidité, portabilité, flexibilité.&lt;br /&gt;
&lt;br /&gt;
=== Rapidité ===&lt;br /&gt;
&lt;br /&gt;
WebAssembly a été conçu pour la vitesse. Ses binaires sont beaucoup plus petits que les fichiers JavaScript textuels. En raison de leur taille, ils sont plus rapides à télécharger, ce qui est particulièrement important sur les réseaux lents.&lt;br /&gt;
&lt;br /&gt;
=== Portabilité ===&lt;br /&gt;
&lt;br /&gt;
L&#039;un des principaux objectifs de la conception de WebAssembly était la portabilité. Pour exécuter une application sur un périphérique, elle doit être compatible avec l&#039;architecture processeur et le système d&#039;exploitation du périphérique. Cela signifie compiler le code source pour chaque combinaison de système d&#039;exploitation et d&#039;architecture CPU que vous souhaitez prendre en charge. Avec WebAssembly, il n&#039;y a qu&#039;une seule étape de compilation et votre application s&#039;exécutera dans tous les navigateurs modernes.&lt;br /&gt;
&lt;br /&gt;
=== Flexibilité ===&lt;br /&gt;
&lt;br /&gt;
Avec WebAssembly, les développeurs Web pourront choisir d&#039;autres langues et plus de développeurs pourront écrire du code pour le Web. JavaScript sera toujours le meilleur choix pour la plupart des cas d&#039;utilisation, mais maintenant il y aura une option pour passer à un langage spécialisé de temps en temps lorsque l&#039;on a vraiment besoin d&#039;un coup de pouce. Des parties comme l&#039;interface utilisateur et la logique applicative peuvent être en JavaScript, avec les fonctionnalités de base de WebAssembly. Lors de l&#039;optimisation des performances des applications JS existantes, les goulets d&#039;étranglement pourraient être réécrits dans un langage mieux adapté au problème.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.003.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
JavaScript aura toujours sa place dans le développement web. C&#039;est un langage très puissant, assez flexible pour construire presque n&#039;importe quoi et ces quelques lacunes qu&#039;il ne peut pas bien gérer peuvent maintenant être comblées avec WebAssembly. Compiler JavaScript en WebAssembly n&#039;est pas possible, et cela n&#039;aurait vraiment aucun sens car les navigateurs sont déjà conçus pour fonctionner directement avec JS et maximiser ses performances.&lt;br /&gt;
Mais même si l&#039;on continue à travailler uniquement avec JavaScript, nous pouvons toujours bénéficier de WebAssembly et des gains de vitesse qu&#039;il apporte, grâce à des bibliothèques et des frameworks améliorés.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
== Partie 1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:VT-WebAssembly.004.jpeg|500px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
Un simple HelloWorld pour tester le fonctionnement de WebAssemby. L&#039;installation de &amp;lt;code&amp;gt;[https://github.com/juj/emsdk emsdk]&amp;lt;/code&amp;gt; est requise pour compiler du C.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=C&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
int main(int argc, char ** argv) {&lt;br /&gt;
  printf(&amp;quot;Hello, world!\n&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile le code C :&lt;br /&gt;
&amp;lt;code&amp;gt;emcc hello.c -s WASM=1 -o hello.html&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-s WASM=1&amp;lt;/code&amp;gt; à &amp;lt;code&amp;gt;emcc&amp;lt;/code&amp;gt; pour utiliser WASM, sinon par défaut, c&#039;est &amp;lt;code&amp;gt;asm.js&amp;lt;/code&amp;gt; qui est utilisé&lt;br /&gt;
* &amp;lt;code&amp;gt;.html&amp;lt;/code&amp;gt; pour génèrer une page HTML&lt;br /&gt;
&lt;br /&gt;
On lance un serveur :&lt;br /&gt;
&amp;lt;code&amp;gt;emrun --no_browser --port 8080 .&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis à l&#039;adresse &amp;lt;code&amp;gt;http://localhost:8080/&amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:WebAssemblyDemo.png|1200px|center|The end of Javascript ?]]&lt;br /&gt;
&lt;br /&gt;
== Partie 2 ==&lt;br /&gt;
&lt;br /&gt;
https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
&lt;br /&gt;
On écrit un exemple simple en C++&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
int square (int num) { &lt;br /&gt;
  return num * num;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On compile &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
.wat&lt;br /&gt;
&amp;lt;syntaxhighlight lang=asm&amp;gt;&lt;br /&gt;
(module&lt;br /&gt;
 (table 0 anyfunc)&lt;br /&gt;
 (memory $0 1)&lt;br /&gt;
 (export &amp;quot;memory&amp;quot; (memory $0))&lt;br /&gt;
 (export &amp;quot;_Z6squarei&amp;quot; (func $_Z6squarei))&lt;br /&gt;
 (func $_Z6squarei (; 0 ;) (param $0 i32) (result i32)&lt;br /&gt;
  (i32.mul&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
   (get_local $0)&lt;br /&gt;
  )&lt;br /&gt;
 )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Code assembleur &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=arm&amp;gt;&lt;br /&gt;
wasm-function[0]:&lt;br /&gt;
  sub rsp, 8                            ; 0x000000 48 83 ec 08&lt;br /&gt;
  mov edx, edi                          ; 0x000004 8b d7&lt;br /&gt;
  mov ecx, edx                          ; 0x000006 8b ca&lt;br /&gt;
  mov eax, edx                          ; 0x000008 8b c2&lt;br /&gt;
  imul ecx, eax                         ; 0x00000a 0f af c8&lt;br /&gt;
  mov eax, ecx                          ; 0x00000d 8b c1&lt;br /&gt;
  nop                                   ; 0x00000f 66 90&lt;br /&gt;
  add rsp, 8                            ; 0x000011 48 83 c4 08&lt;br /&gt;
  ret    &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce que l&#039;on télécharge est en réalité le fichier .wasm&lt;br /&gt;
&lt;br /&gt;
�asm�����������`�����������������p��������������������������memory��&lt;br /&gt;
_Z6squarei��&lt;br /&gt;
������������ � �l�&lt;br /&gt;
&lt;br /&gt;
Importer le WASM dans le fichier Javascript :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=javascript&amp;gt;&lt;br /&gt;
let squareWASM ;&lt;br /&gt;
&lt;br /&gt;
function loadWebAssembly(fileName) {&lt;br /&gt;
    return fetch(fileName)&lt;br /&gt;
        .then(response =&amp;gt; response.arrayBuffer())&lt;br /&gt;
        .then(buffer =&amp;gt; WebAssembly.compile(buffer))&lt;br /&gt;
        .then(module =&amp;gt; {return new WebAssembly.Instance(module)});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
loadWebAssembly(&#039;square.wasm&#039;)&lt;br /&gt;
    .then(instance =&amp;gt; {&lt;br /&gt;
        squareWASM = instance.exports._Z6squarei;&lt;br /&gt;
       document.getElementById(&amp;quot;webassembly&amp;quot;).innerHTML += &#039;&amp;lt;code&amp;gt;squareWASM(&#039; + i + &#039;) = &#039; + squareWASM(i) + &#039;&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&#039;;&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, importer le script JS dans l&#039;HTML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=html5&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;WebAssembly Demonstration&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h1&amp;gt;WebAssembly Demonstration&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;script.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Test WebAssembly&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p id=&amp;quot;webassembly&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On obtient alors le comportement voulu :&lt;br /&gt;
&lt;br /&gt;
= Sources =&lt;br /&gt;
&lt;br /&gt;
* Article sur WebAssembly : https://blog.logrocket.com/webassembly-how-and-why-559b7f96cd71&lt;br /&gt;
* Site de WebAssembly : https://webassembly.org&lt;br /&gt;
* Vidéo YouTube explicative : https://www.youtube.com/watch?v=5XtA3k07jEQ&lt;br /&gt;
* Compilateur WASM en ligne : https://mbebenita.github.io/WasmExplorer/&lt;br /&gt;
* IDE WASM en ligne : https://webassembly.studio&lt;br /&gt;
* Comparatif JS &amp;lt;-&amp;gt; WASM : https://takahirox.github.io/WebAssembly-benchmark/&lt;/div&gt;</summary>
		<author><name>Quentin.Fombaron1</name></author>
	</entry>
</feed>