<?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=Damien.Wykland</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=Damien.Wykland"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Damien.Wykland"/>
	<updated>2026-05-31T07:57:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47089</id>
		<title>Projets 2019-2020</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47089"/>
		<updated>2020-01-28T14:20:06Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2018-2019]] | [[Projets]] | [[Projets 2020-2021]]&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: 20 Janvier 2020 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2019_2020. &#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/19-20 , 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;
* 1. [[ThingSat]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* 2. [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et l&#039;[[Institut polaire Paul Emile Victor]]&lt;br /&gt;
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
** 3. à [[ASAC/AP|Polytech]] : Nicolas Palix&lt;br /&gt;
** 4. à [[ASAC/SJC|St Cassien]] : Nicolas Palix&lt;br /&gt;
* 5. [[Dataviz de la qualité de l&#039;air et de la pollution sonore]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* 6. [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M) (Tech Ionic à confirmer)&lt;br /&gt;
* 7. Intégration d&#039;Intel [[Movidius]] ou [[MAix BiT]] à [[RobAIR]], Olivier Richard&lt;br /&gt;
* 8. [[Application mobile de secours du PGHM]] : Didier Donsez, Olivier Fabre (PGHM)&lt;br /&gt;
* 9. [[Application mobile pour la capture de marmottes]] : Didier Donsez, Franck Delbard&lt;br /&gt;
* 10. [[Supports pédagogiques open-source pour l&#039;initiation à l’Internet des Objets pour l’enseignement de SNT (Sciences Numériques et Technologie) au lycée]] : Olivier Richard et Didier Donsez&lt;br /&gt;
* 11. [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]] : Didier DONSEZ, Franck ROUDET (Orange Labs Meylan)&lt;br /&gt;
* DatViz pour l&#039;IoT&lt;br /&gt;
** 12. [[Amélioration de greffons Grafana]] : Didier Donsez&lt;br /&gt;
** 13. [[Tableau de bord et kit de mesure du confort dans les bâtiments de l&#039;UGA]] : Didier Donsez, Fabien Hornebeck (DG DAPAL), Laurence Deligny (DG DAPAL)&lt;br /&gt;
** 14. [[Tableau de bord des capteurs LoRaWAN de la Ville de La Mure]] : Didier Donsez, Virginie Gondrand (Ville de La Mure)&lt;br /&gt;
** 15. [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]] : Didier Donsez, Jean-François Knoepfli (MoonshotLab), Joris Brémond (MoonshotLab)&lt;br /&gt;
* 16. [[Contributions open source au projet EdCampus]] : Didier Donsez, Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* 17. [[VisuGPX : Application mobile pour ski rando]], Didier Donsez, Ye.Ti (M)&lt;br /&gt;
* 18. [[Projet d&#039;Auscultation Partagée]] avec IESE4 et TIS5, Olivier Richard, Didier Donsez, Julie Fontecave-Jallon&lt;br /&gt;
* 19. [[FPGA et Deep Learnning]] : Olivier Richard&lt;br /&gt;
* 20. [[Source Héritage et NIX]] : Olivier Richard&lt;br /&gt;
* 21. [[Proxy Cache HTTPS]] : Olivier Richard&lt;br /&gt;
* 22. [[Reverse Proxy pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 23. [[Portail pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 24. [[Paquets NIX pour Polytech]] : Olivier Richard&lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Application mobile de calcul de son empreinte carbone]] : Didier Donsez, Anne Delaballe (Disrupt Campus), XX (Café Collapse)&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;
* [[Benchmark de MCU pour l&#039;IoT]] : Didier Donsez&lt;br /&gt;
* [[Connecteur InfluxDB pour Cube.js]] : Didier Donsez&lt;br /&gt;
* [[SimCity]] avec [[ThreeJS]]&lt;br /&gt;
* [[WhereIsMyCar]] : application mobile pour se souvenir de l&#039;endroit où sa voiture est garée. : Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[Intégration d&#039;OpenAM à la génération de JHipster]] : Didier Donsez&lt;br /&gt;
* [[Comptage anonymisé de personnes]] : Didier Donsez et Franck Delbart&lt;br /&gt;
* Carte de service étudiant avec [[Eclipse Keyple]] : Didier Donsez&lt;br /&gt;
* [[Tableau de bord et kit de mesure du confort dans les bâtiments du CROUS]] : Didier Donsez (SOUS RESERVE)&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 2019-2020&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[ASAC/AP|Agriculture connectée Polytech]]&lt;br /&gt;
| VERNET MAXIME, SAJIDE IDRISS&lt;br /&gt;
| PALIX Nicolas &lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[ASAC/ACJC|Agriculture connectée St Cassien]]&lt;br /&gt;
| LABBE NICOLAS,RUZAFA REMY&lt;br /&gt;
| PALIX Nicolas&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
| CROCIATI MORGAN,GRAUGNARD TOM&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Intégration d&#039;Intel Movidius ou MAix BiT à RobAIR]]&lt;br /&gt;
| PALOMO REMY, BOLEAT BAPTISTE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/7/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Application mobile de secours du PGHM]]&lt;br /&gt;
| CHATON ALEXANDRA,FRION THOMAS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[ Application mobile pour la capture de marmottes ]]&lt;br /&gt;
| EL JRAIDI RIM, NELSON WILLIAM&lt;br /&gt;
| Didier DONSEZ, Franck DELBARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CHAIX MANON,NGUENA ZEMAO GLORIA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]]&lt;br /&gt;
| ARTAUD Adrien,FOUGERE SEBASTIAN&lt;br /&gt;
| Didier DONSEZ, Franck ROUDET&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Amélioration de greffons Grafana]]&lt;br /&gt;
| MURPHY MICA,VELUT CLAIRE&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| HO NHAT QUANG,MANISSADJIAN GABRIEL&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/13/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| BILOUNGA-BI-NDONG ALECK,LOMBARD MYRIAM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/14/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]]&lt;br /&gt;
| GUIVARCH ALAN, PAREILLEUX KILLIAN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/15/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
| [[Contribution au logiciel EDCampus]]&lt;br /&gt;
| BEAUGRAND ELISA,DE GAUDENZI LOUIS&lt;br /&gt;
| Didier Donsez, Anthony Geourjon&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [[VisuGPX : Application mobile pour ski rando]]&lt;br /&gt;
| ZERAMDINI OTBA, EL MUFTI ALI, DELBOS ROBIN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/17/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[FPGA et Deep Learnning]]&lt;br /&gt;
| COURTHIAL SAMUEL, LUIS FILIPE VELASCO DA SILVA&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/19/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| [[Source Héritage et NIX]]&lt;br /&gt;
| PASDELOUP ROMAIN,SALMON ALEXANDRE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
| [[Proxy Cache HTTPS]]&lt;br /&gt;
| AUDIN RAPHAEL,RIVAL GAETAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
| [[Reverse Proxy pour gestionnaire de taches]]&lt;br /&gt;
| GUYOT SACHA,EL AJI HOUDA,ASSI DIMA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/22/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 23&lt;br /&gt;
| [[Portail_pour_gestionnaire_de_taches|Portail pour gestionnaire de tâches]]&lt;br /&gt;
| ROLLIN ALEXIS,SAGET ANTOINE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/23/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&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 2019.&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: 28/01 (13H30) à Fin Mars 2020.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: 29/01, 06/02, 13/02, 17/02, 18/03.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : Début Mars, 9H00-11H30 (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir : Semaine 16-20 Mars (probablement Jeudi ou Vendredi).&lt;br /&gt;
&lt;br /&gt;
14/02: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2020 Eclipse IoT Day Grenoble]&lt;br /&gt;
&lt;br /&gt;
====Propositions de projets S10====&lt;br /&gt;
* [[Contributions à Software Heritage]] : : Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
* [[Contribution au projet open-souce ChirpStack]] (aka LoRaServer) : Didier Donsez&lt;br /&gt;
* [[Contributions open-source au projet JHipster]] : Didier Donsez&lt;br /&gt;
* [[Ecrire en gestes]] : Olivier Richard&lt;br /&gt;
* [[Kine 2.0]] (suite de [[Rééducation Kiné connecté]] 2019): Sylvain Toru&lt;br /&gt;
* [[Contributions open source au projet EdCampus]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Contributions open source au projet SmartRecruiting]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Secours Montagne avec LoRa]] : Bernard Tourancheau ??? avec le PGHM Isère&lt;br /&gt;
* [[Monnaies locales et blockchains]] avec Hyperledger, Didier Donsez, XXX (Cairn Grenoble). A CONFIRMER.&lt;br /&gt;
* [[IoTChain]] : Didier Donsez&lt;br /&gt;
* [[Projet STAPS]] : Didier Donsez&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reporté&lt;br /&gt;
* [[Analyse du pédalage cycliste sur home trainer via vidéo]] (Anthony Geourjon) en relation avec STAPS et TIS&lt;br /&gt;
* Projet IA/Edge: Databox : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2019-2020&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;
 | [[Projet STAPS]]&lt;br /&gt;
 | ANCRENAZ Ariane, SAUTON Tanguy, SIBUE Quentin, VINCENT Mathieu (CP)&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions à Software Heritage]]&lt;br /&gt;
 | Nathan Dalaine, Joachim Fontfreyde (CP), Léni Gauffier, Yann Gautier&lt;br /&gt;
 | Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Projet Sauvetage en montagne]]&lt;br /&gt;
 | WYKLAND Damien(SM), BADAT Leya, CUAU Victor, MASSON Jeremy, ZARCOS Paul&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Projet EDCampus]]&lt;br /&gt;
 | RIVOIRE Antoine, VINCENT Maxence, BONASPETTI Giulia, DECAMPS Marceau &lt;br /&gt;
 | Anthony GEOURJON - Gérard POLLIER&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Projet SmartRecruting]]&lt;br /&gt;
 | SOUCHON Loic, THOMAS Antoine, VANDAL Jade, TRESTOUR Gregory, ZHENG jian&lt;br /&gt;
 | Anthony GEOURJON - Gérard POLLIER&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 | [[Projet Kine 2.0]]&lt;br /&gt;
 | BARDOU Eva, DEVOS Xavier, HOUBRON Adrian, JAN Léo, PELISSON Antoine&lt;br /&gt;
 | Sylvain Toru&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 | [[Blockchain (Cairn - IOT)]]&lt;br /&gt;
 | REYGROBELLET Lucas, BRES Maxence, BETEND Baptiste, DUMENIL Antoine&lt;br /&gt;
 | 💪🏼💣 Didier DONSEZ 🔥❤️&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 | [[Contribution Jhipster]]&lt;br /&gt;
 | SALA Ergi, ARNOUX Thibaut, SOLVERY Tom, LORDEY Maxime, CHASSEGUET Corentin, LATTARD Alexis(CP)&lt;br /&gt;
 | Didier DONSEZ&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 | [[Contribution ChirpStack]]&lt;br /&gt;
 | RAKOTOARIMALALA Mandresy&lt;br /&gt;
 | Didier DONSEZ&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
&lt;br /&gt;
|}&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;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47072</id>
		<title>Projets 2019-2020</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47072"/>
		<updated>2020-01-28T13:59:05Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2018-2019]] | [[Projets]] | [[Projets 2020-2021]]&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: 20 Janvier 2020 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2019_2020. &#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/19-20 , 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;
* 1. [[ThingSat]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* 2. [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et l&#039;[[Institut polaire Paul Emile Victor]]&lt;br /&gt;
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
** 3. à [[ASAC/AP|Polytech]] : Nicolas Palix&lt;br /&gt;
** 4. à [[ASAC/SJC|St Cassien]] : Nicolas Palix&lt;br /&gt;
* 5. [[Dataviz de la qualité de l&#039;air et de la pollution sonore]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* 6. [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M) (Tech Ionic à confirmer)&lt;br /&gt;
* 7. Intégration d&#039;Intel [[Movidius]] ou [[MAix BiT]] à [[RobAIR]], Olivier Richard&lt;br /&gt;
* 8. [[Application mobile de secours du PGHM]] : Didier Donsez, Olivier Fabre (PGHM)&lt;br /&gt;
* 9. [[Application mobile pour la capture de marmottes]] : Didier Donsez, Franck Delbard&lt;br /&gt;
* 10. [[Supports pédagogiques open-source pour l&#039;initiation à l’Internet des Objets pour l’enseignement de SNT (Sciences Numériques et Technologie) au lycée]] : Olivier Richard et Didier Donsez&lt;br /&gt;
* 11. [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]] : Didier DONSEZ, Franck ROUDET (Orange Labs Meylan)&lt;br /&gt;
* DatViz pour l&#039;IoT&lt;br /&gt;
** 12. [[Amélioration de greffons Grafana]] : Didier Donsez&lt;br /&gt;
** 13. [[Tableau de bord et kit de mesure du confort dans les bâtiments de l&#039;UGA]] : Didier Donsez, Fabien Hornebeck (DG DAPAL), Laurence Deligny (DG DAPAL)&lt;br /&gt;
** 14. [[Tableau de bord des capteurs LoRaWAN de la Ville de La Mure]] : Didier Donsez, Virginie Gondrand (Ville de La Mure)&lt;br /&gt;
** 15. [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]] : Didier Donsez, Jean-François Knoepfli (MoonshotLab), Joris Brémond (MoonshotLab)&lt;br /&gt;
* 16. [[Contributions open source au projet EdCampus]] : Didier Donsez, Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* 17. [[VisuGPX : Application mobile pour ski rando]], Didier Donsez, Ye.Ti (M)&lt;br /&gt;
* 18. [[Projet d&#039;Auscultation Partagée]] avec IESE4 et TIS5, Olivier Richard, Didier Donsez, Julie Fontecave-Jallon&lt;br /&gt;
* 19. [[FPGA et Deep Learnning]] : Olivier Richard&lt;br /&gt;
* 20. [[Source Héritage et NIX]] : Olivier Richard&lt;br /&gt;
* 21. [[Proxy Cache HTTPS]] : Olivier Richard&lt;br /&gt;
* 22. [[Reverse Proxy pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 23. [[Portail pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 24. [[Paquets NIX pour Polytech]] : Olivier Richard&lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Application mobile de calcul de son empreinte carbone]] : Didier Donsez, Anne Delaballe (Disrupt Campus), XX (Café Collapse)&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;
* [[Benchmark de MCU pour l&#039;IoT]] : Didier Donsez&lt;br /&gt;
* [[Connecteur InfluxDB pour Cube.js]] : Didier Donsez&lt;br /&gt;
* [[SimCity]] avec [[ThreeJS]]&lt;br /&gt;
* [[WhereIsMyCar]] : application mobile pour se souvenir de l&#039;endroit où sa voiture est garée. : Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[Intégration d&#039;OpenAM à la génération de JHipster]] : Didier Donsez&lt;br /&gt;
* [[Comptage anonymisé de personnes]] : Didier Donsez et Franck Delbart&lt;br /&gt;
* Carte de service étudiant avec [[Eclipse Keyple]] : Didier Donsez&lt;br /&gt;
* [[Tableau de bord et kit de mesure du confort dans les bâtiments du CROUS]] : Didier Donsez (SOUS RESERVE)&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 2019-2020&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[ASAC/AP|Agriculture connectée Polytech]]&lt;br /&gt;
| VERNET MAXIME, SAJIDE IDRISS&lt;br /&gt;
| PALIX Nicolas &lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[ASAC/ACJC|Agriculture connectée St Cassien]]&lt;br /&gt;
| LABBE NICOLAS,RUZAFA REMY&lt;br /&gt;
| PALIX Nicolas&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
| CROCIATI MORGAN,GRAUGNARD TOM&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Intégration d&#039;Intel Movidius ou MAix BiT à RobAIR]]&lt;br /&gt;
| PALOMO REMY, BOLEAT BAPTISTE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/7/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Application mobile de secours du PGHM]]&lt;br /&gt;
| CHATON ALEXANDRA,FRION THOMAS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[ Application mobile pour la capture de marmottes ]]&lt;br /&gt;
| EL JRAIDI RIM, NELSON WILLIAM&lt;br /&gt;
| Didier DONSEZ, Franck DELBARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CHAIX MANON,NGUENA ZEMAO GLORIA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]]&lt;br /&gt;
| ARTAUD Adrien,FOUGERE SEBASTIAN&lt;br /&gt;
| Didier DONSEZ, Franck ROUDET&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Amélioration de greffons Grafana]]&lt;br /&gt;
| MURPHY MICA,VELUT CLAIRE&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| HO NHAT QUANG,MANISSADJIAN GABRIEL&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/13/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| BILOUNGA-BI-NDONG ALECK,LOMBARD MYRIAM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/14/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]]&lt;br /&gt;
| GUIVARCH ALAN, PAREILLEUX KILLIAN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/15/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
| [[Contribution au logiciel EDCampus]]&lt;br /&gt;
| BEAUGRAND ELISA,DE GAUDENZI LOUIS&lt;br /&gt;
| Didier Donsez, Anthony Geourjon&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [[VisuGPX : Application mobile pour ski rando]]&lt;br /&gt;
| ZERAMDINI OTBA, EL MUFTI ALI, DELBOS ROBIN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/17/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[FPGA et Deep Learnning]]&lt;br /&gt;
| COURTHIAL SAMUEL, LUIS FILIPE VELASCO DA SILVA&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/19/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| [[Source Héritage et NIX]]&lt;br /&gt;
| PASDELOUP ROMAIN,SALMON ALEXANDRE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
| [[Proxy Cache HTTPS]]&lt;br /&gt;
| AUDIN RAPHAEL,RIVAL GAETAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
| [[Reverse Proxy pour gestionnaire de taches]]&lt;br /&gt;
| GUYOT SACHA,EL AJI HOUDA,ASSI DIMA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/22/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 23&lt;br /&gt;
| [[Portail_pour_gestionnaire_de_taches|Portail pour gestionnaire de tâches]]&lt;br /&gt;
| ROLLIN ALEXIS,SAGET ANTOINE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/23/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&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 2019.&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: 28/01 (13H30) à Fin Mars 2020.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: 29/01, 06/02, 13/02, 17/02, 18/03.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : Début Mars, 9H00-11H30 (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir : Semaine 16-20 Mars (probablement Jeudi ou Vendredi).&lt;br /&gt;
&lt;br /&gt;
14/02: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2020 Eclipse IoT Day Grenoble]&lt;br /&gt;
&lt;br /&gt;
====Propositions de projets S10====&lt;br /&gt;
* [[Contributions à Software Heritage]] : : Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
* [[Contribution au projet open-souce ChirpStack]] (aka LoRaServer) : Didier Donsez&lt;br /&gt;
* [[Contributions open-source au projet JHipster]] : Didier Donsez&lt;br /&gt;
* [[Ecrire en gestes]] : Olivier Richard&lt;br /&gt;
* [[Kine 2.0]] (suite de [[Rééducation Kiné connecté]] 2019): Sylvain Toru&lt;br /&gt;
* [[Contributions open source au projet EdCampus]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Contributions open source au projet SmartRecruiting]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Secours Montagne avec LoRa]] : Bernard Tourancheau ??? avec le PGHM Isère&lt;br /&gt;
* [[Monnaies locales et blockchains]] avec Hyperledger, Didier Donsez, XXX (Cairn Grenoble). A CONFIRMER.&lt;br /&gt;
* [[IoTChain]] : Didier Donsez&lt;br /&gt;
* [[Projet STAPS]] : Didier Donsez&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reporté&lt;br /&gt;
* [[Analyse du pédalage cycliste sur home trainer via vidéo]] (Anthony Geourjon) en relation avec STAPS et TIS&lt;br /&gt;
* Projet IA/Edge: Databox : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2019-2020&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;
 | [[Projet STAPS]]&lt;br /&gt;
 | ANCRENAZ Ariane, SAUTON Tanguy, SIBUE Quentin, VINCENT Mathieu (CP)&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions à Software Heritage]]&lt;br /&gt;
 | Nathan Dalaine, Joachim Fontfreyde, Léni Gauffier, Yann Gautier&lt;br /&gt;
 | Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Projet Sauvetage en montagne]]&lt;br /&gt;
 | WYKLAND Damien, BADAT Leya, CUAU Victor, MASSON Jeremy, ZARCOS Paul&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Projet EDCampus]]&lt;br /&gt;
 | RIVOIRE Antoine, VINCENT Maxence, BONASPETTI Giulia, DESCAMPS Marceau, MASTOURA Iheb, Kadir Alacalı Uraz &lt;br /&gt;
 | Anthony GEOURJEON - Gérard POLLIER&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Projet SmartRecruting]]&lt;br /&gt;
 | SOUCHON Loic, THOMAS Antoine, VANDAL Jade, TRESTOUR Gregory, ZHENG jian&lt;br /&gt;
 | Anthony GEOURJEON&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
&lt;br /&gt;
|}&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;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47062</id>
		<title>Projets 2019-2020</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47062"/>
		<updated>2020-01-28T13:37:17Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2018-2019]] | [[Projets]] | [[Projets 2020-2021]]&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: 20 Janvier 2020 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2019_2020. &#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/19-20 , 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;
* 1. [[ThingSat]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* 2. [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et l&#039;[[Institut polaire Paul Emile Victor]]&lt;br /&gt;
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
** 3. à [[ASAC/AP|Polytech]] : Nicolas Palix&lt;br /&gt;
** 4. à [[ASAC/SJC|St Cassien]] : Nicolas Palix&lt;br /&gt;
* 5. [[Dataviz de la qualité de l&#039;air et de la pollution sonore]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* 6. [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M) (Tech Ionic à confirmer)&lt;br /&gt;
* 7. Intégration d&#039;Intel [[Movidius]] ou [[MAix BiT]] à [[RobAIR]], Olivier Richard&lt;br /&gt;
* 8. [[Application mobile de secours du PGHM]] : Didier Donsez, Olivier Fabre (PGHM)&lt;br /&gt;
* 9. [[Application mobile pour la capture de marmottes]] : Didier Donsez, Franck Delbard&lt;br /&gt;
* 10. [[Supports pédagogiques open-source pour l&#039;initiation à l’Internet des Objets pour l’enseignement de SNT (Sciences Numériques et Technologie) au lycée]] : Olivier Richard et Didier Donsez&lt;br /&gt;
* 11. [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]] : Didier DONSEZ, Franck ROUDET (Orange Labs Meylan)&lt;br /&gt;
* DatViz pour l&#039;IoT&lt;br /&gt;
** 12. [[Amélioration de greffons Grafana]] : Didier Donsez&lt;br /&gt;
** 13. [[Tableau de bord et kit de mesure du confort dans les bâtiments de l&#039;UGA]] : Didier Donsez, Fabien Hornebeck (DG DAPAL), Laurence Deligny (DG DAPAL)&lt;br /&gt;
** 14. [[Tableau de bord des capteurs LoRaWAN de la Ville de La Mure]] : Didier Donsez, Virginie Gondrand (Ville de La Mure)&lt;br /&gt;
** 15. [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]] : Didier Donsez, Jean-François Knoepfli (MoonshotLab), Joris Brémond (MoonshotLab)&lt;br /&gt;
* 16. [[Contributions open source au projet EdCampus]] : Didier Donsez, Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* 17. [[VisuGPX : Application mobile pour ski rando]], Didier Donsez, Ye.Ti (M)&lt;br /&gt;
* 18. [[Projet d&#039;Auscultation Partagée]] avec IESE4 et TIS5, Olivier Richard, Didier Donsez, Julie Fontecave-Jallon&lt;br /&gt;
* 19. [[FPGA et Deep Learnning]] : Olivier Richard&lt;br /&gt;
* 20. [[Source Héritage et NIX]] : Olivier Richard&lt;br /&gt;
* 21. [[Proxy Cache HTTPS]] : Olivier Richard&lt;br /&gt;
* 22. [[Reverse Proxy pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 23. [[Portail pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 24. [[Paquets NIX pour Polytech]] : Olivier Richard&lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Application mobile de calcul de son empreinte carbone]] : Didier Donsez, Anne Delaballe (Disrupt Campus), XX (Café Collapse)&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;
* [[Benchmark de MCU pour l&#039;IoT]] : Didier Donsez&lt;br /&gt;
* [[Connecteur InfluxDB pour Cube.js]] : Didier Donsez&lt;br /&gt;
* [[SimCity]] avec [[ThreeJS]]&lt;br /&gt;
* [[WhereIsMyCar]] : application mobile pour se souvenir de l&#039;endroit où sa voiture est garée. : Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[Intégration d&#039;OpenAM à la génération de JHipster]] : Didier Donsez&lt;br /&gt;
* [[Comptage anonymisé de personnes]] : Didier Donsez et Franck Delbart&lt;br /&gt;
* Carte de service étudiant avec [[Eclipse Keyple]] : Didier Donsez&lt;br /&gt;
* [[Tableau de bord et kit de mesure du confort dans les bâtiments du CROUS]] : Didier Donsez (SOUS RESERVE)&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 2019-2020&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[ASAC/AP|Agriculture connectée Polytech]]&lt;br /&gt;
| VERNET MAXIME, SAJIDE IDRISS&lt;br /&gt;
| PALIX Nicolas &lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[ASAC/ACJC|Agriculture connectée St Cassien]]&lt;br /&gt;
| LABBE NICOLAS,RUZAFA REMY&lt;br /&gt;
| PALIX Nicolas&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
| CROCIATI MORGAN,GRAUGNARD TOM&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Intégration d&#039;Intel Movidius ou MAix BiT à RobAIR]]&lt;br /&gt;
| PALOMO REMY, BOLEAT BAPTISTE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/7/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Application mobile de secours du PGHM]]&lt;br /&gt;
| CHATON ALEXANDRA,FRION THOMAS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[ Application mobile pour la capture de marmottes ]]&lt;br /&gt;
| EL JRAIDI RIM, NELSON WILLIAM&lt;br /&gt;
| Didier DONSEZ, Franck DELBARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CHAIX MANON,NGUENA ZEMAO GLORIA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]]&lt;br /&gt;
| ARTAUD Adrien,FOUGERE SEBASTIAN&lt;br /&gt;
| Didier DONSEZ, Franck ROUDET&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Amélioration de greffons Grafana]]&lt;br /&gt;
| MURPHY MICA,VELUT CLAIRE&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| HO NHAT QUANG,MANISSADJIAN GABRIEL&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/13/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| BILOUNGA-BI-NDONG ALECK,LOMBARD MYRIAM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/14/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]]&lt;br /&gt;
| GUIVARCH ALAN, PAREILLEUX KILLIAN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/15/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
| [[Contribution au logiciel EDCampus]]&lt;br /&gt;
| BEAUGRAND ELISA,DE GAUDENZI LOUIS&lt;br /&gt;
| Didier Donsez, Anthony Geourjon&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [[VisuGPX : Application mobile pour ski rando]]&lt;br /&gt;
| ZERAMDINI OTBA, EL MUFTI ALI, DELBOS ROBIN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/17/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[FPGA et Deep Learnning]]&lt;br /&gt;
| COURTHIAL SAMUEL, LUIS FILIPE VELASCO DA SILVA&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/19/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| [[Source Héritage et NIX]]&lt;br /&gt;
| PASDELOUP ROMAIN,SALMON ALEXANDRE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
| [[Proxy Cache HTTPS]]&lt;br /&gt;
| AUDIN RAPHAEL,RIVAL GAETAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
| [[Reverse Proxy pour gestionnaire de taches]]&lt;br /&gt;
| GUYOT SACHA,EL AJI HOUDA,ASSI DIMA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/22/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 23&lt;br /&gt;
| [[Portail_pour_gestionnaire_de_taches|Portail pour gestionnaire de tâches]]&lt;br /&gt;
| ROLLIN ALEXIS,SAGET ANTOINE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/23/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&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 2019.&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: 28/01 (13H30) à Fin Mars 2020.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: 29/01, 06/02, 13/02, 17/02, 18/03.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : Début Mars, 9H00-11H30 (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir : Semaine 16-20 Mars (probablement Jeudi ou Vendredi).&lt;br /&gt;
&lt;br /&gt;
14/02: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2020 Eclipse IoT Day Grenoble]&lt;br /&gt;
&lt;br /&gt;
====Propositions de projets S10====&lt;br /&gt;
* [[Contributions à Software Heritage]] : : Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
* [[Contribution au projet open-souce ChirpStack]] (aka LoRaServer) : Didier Donsez&lt;br /&gt;
* [[Contributions open-source au projet JHipster]] : Didier Donsez&lt;br /&gt;
* [[Ecrire en gestes]] : Olivier Richard&lt;br /&gt;
* [[Kine 2.0]] (suite de [[Rééducation Kiné connecté]] 2019): Sylvain Toru&lt;br /&gt;
* [[Contributions open source au projet EdCampus]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Contributions open source au projet SmartRecruiting]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Secours Montagne avec LoRa]] : Bernard Tourancheau ??? avec le PGHM Isère&lt;br /&gt;
* [[Monnaies locales et blockchains]] avec Hyperledger, Didier Donsez, XXX (Cairn Grenoble). A CONFIRMER.&lt;br /&gt;
* [[IoTChain]] : Didier Donsez&lt;br /&gt;
* [[Projet STAPS]] : Didier Donsez&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reporté&lt;br /&gt;
* [[Analyse du pédalage cycliste sur home trainer via vidéo]] (Anthony Geourjon) en relation avec STAPS et TIS&lt;br /&gt;
* Projet IA/Edge: Databox : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2019-2020&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;
 | [[Projet STAPS]]&lt;br /&gt;
 | ANCRENAZ Ariane, SAUTON Tanguy, SIBUE Quentin, VINCENT Mathieu (CP)&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions à Software Heritage]]&lt;br /&gt;
 | Nathan Dalaine, Joachim Fontfreyde, Léni Gauffier, Yann Gautier&lt;br /&gt;
 | Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Projet Sauvetage en montagne]]&lt;br /&gt;
 | WYKLAND Damien, BADAT Leya, CUAU Victor, MASSON Jeremy, ZARCOS Paul&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Projet Ecrire en gestes]]&lt;br /&gt;
 | CHABRE Manon, COSCIA Daniel, DENIS Guillaume, DEARAUJO Bastien&lt;br /&gt;
 | Olivier RICHARD&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|}&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;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47061</id>
		<title>Projets 2019-2020</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47061"/>
		<updated>2020-01-28T13:34:54Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2018-2019]] | [[Projets]] | [[Projets 2020-2021]]&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: 20 Janvier 2020 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2019_2020. &#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/19-20 , 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;
* 1. [[ThingSat]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* 2. [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et l&#039;[[Institut polaire Paul Emile Victor]]&lt;br /&gt;
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
** 3. à [[ASAC/AP|Polytech]] : Nicolas Palix&lt;br /&gt;
** 4. à [[ASAC/SJC|St Cassien]] : Nicolas Palix&lt;br /&gt;
* 5. [[Dataviz de la qualité de l&#039;air et de la pollution sonore]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* 6. [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M) (Tech Ionic à confirmer)&lt;br /&gt;
* 7. Intégration d&#039;Intel [[Movidius]] ou [[MAix BiT]] à [[RobAIR]], Olivier Richard&lt;br /&gt;
* 8. [[Application mobile de secours du PGHM]] : Didier Donsez, Olivier Fabre (PGHM)&lt;br /&gt;
* 9. [[Application mobile pour la capture de marmottes]] : Didier Donsez, Franck Delbard&lt;br /&gt;
* 10. [[Supports pédagogiques open-source pour l&#039;initiation à l’Internet des Objets pour l’enseignement de SNT (Sciences Numériques et Technologie) au lycée]] : Olivier Richard et Didier Donsez&lt;br /&gt;
* 11. [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]] : Didier DONSEZ, Franck ROUDET (Orange Labs Meylan)&lt;br /&gt;
* DatViz pour l&#039;IoT&lt;br /&gt;
** 12. [[Amélioration de greffons Grafana]] : Didier Donsez&lt;br /&gt;
** 13. [[Tableau de bord et kit de mesure du confort dans les bâtiments de l&#039;UGA]] : Didier Donsez, Fabien Hornebeck (DG DAPAL), Laurence Deligny (DG DAPAL)&lt;br /&gt;
** 14. [[Tableau de bord des capteurs LoRaWAN de la Ville de La Mure]] : Didier Donsez, Virginie Gondrand (Ville de La Mure)&lt;br /&gt;
** 15. [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]] : Didier Donsez, Jean-François Knoepfli (MoonshotLab), Joris Brémond (MoonshotLab)&lt;br /&gt;
* 16. [[Contributions open source au projet EdCampus]] : Didier Donsez, Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* 17. [[VisuGPX : Application mobile pour ski rando]], Didier Donsez, Ye.Ti (M)&lt;br /&gt;
* 18. [[Projet d&#039;Auscultation Partagée]] avec IESE4 et TIS5, Olivier Richard, Didier Donsez, Julie Fontecave-Jallon&lt;br /&gt;
* 19. [[FPGA et Deep Learnning]] : Olivier Richard&lt;br /&gt;
* 20. [[Source Héritage et NIX]] : Olivier Richard&lt;br /&gt;
* 21. [[Proxy Cache HTTPS]] : Olivier Richard&lt;br /&gt;
* 22. [[Reverse Proxy pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 23. [[Portail pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 24. [[Paquets NIX pour Polytech]] : Olivier Richard&lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Application mobile de calcul de son empreinte carbone]] : Didier Donsez, Anne Delaballe (Disrupt Campus), XX (Café Collapse)&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;
* [[Benchmark de MCU pour l&#039;IoT]] : Didier Donsez&lt;br /&gt;
* [[Connecteur InfluxDB pour Cube.js]] : Didier Donsez&lt;br /&gt;
* [[SimCity]] avec [[ThreeJS]]&lt;br /&gt;
* [[WhereIsMyCar]] : application mobile pour se souvenir de l&#039;endroit où sa voiture est garée. : Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[Intégration d&#039;OpenAM à la génération de JHipster]] : Didier Donsez&lt;br /&gt;
* [[Comptage anonymisé de personnes]] : Didier Donsez et Franck Delbart&lt;br /&gt;
* Carte de service étudiant avec [[Eclipse Keyple]] : Didier Donsez&lt;br /&gt;
* [[Tableau de bord et kit de mesure du confort dans les bâtiments du CROUS]] : Didier Donsez (SOUS RESERVE)&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 2019-2020&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[ASAC/AP|Agriculture connectée Polytech]]&lt;br /&gt;
| VERNET MAXIME, SAJIDE IDRISS&lt;br /&gt;
| PALIX Nicolas &lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[ASAC/ACJC|Agriculture connectée St Cassien]]&lt;br /&gt;
| LABBE NICOLAS,RUZAFA REMY&lt;br /&gt;
| PALIX Nicolas&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
| CROCIATI MORGAN,GRAUGNARD TOM&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Intégration d&#039;Intel Movidius ou MAix BiT à RobAIR]]&lt;br /&gt;
| PALOMO REMY, BOLEAT BAPTISTE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/7/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Application mobile de secours du PGHM]]&lt;br /&gt;
| CHATON ALEXANDRA,FRION THOMAS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[ Application mobile pour la capture de marmottes ]]&lt;br /&gt;
| EL JRAIDI RIM, NELSON WILLIAM&lt;br /&gt;
| Didier DONSEZ, Franck DELBARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CHAIX MANON,NGUENA ZEMAO GLORIA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]]&lt;br /&gt;
| ARTAUD Adrien,FOUGERE SEBASTIAN&lt;br /&gt;
| Didier DONSEZ, Franck ROUDET&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Amélioration de greffons Grafana]]&lt;br /&gt;
| MURPHY MICA,VELUT CLAIRE&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| HO NHAT QUANG,MANISSADJIAN GABRIEL&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/13/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| BILOUNGA-BI-NDONG ALECK,LOMBARD MYRIAM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/14/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]]&lt;br /&gt;
| GUIVARCH ALAN, PAREILLEUX KILLIAN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/15/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
| [[Contribution au logiciel EDCampus]]&lt;br /&gt;
| BEAUGRAND ELISA,DE GAUDENZI LOUIS&lt;br /&gt;
| Didier Donsez, Anthony Geourjon&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [[VisuGPX : Application mobile pour ski rando]]&lt;br /&gt;
| ZERAMDINI OTBA, EL MUFTI ALI, DELBOS ROBIN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/17/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[FPGA et Deep Learnning]]&lt;br /&gt;
| COURTHIAL SAMUEL, LUIS FILIPE VELASCO DA SILVA&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/19/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| [[Source Héritage et NIX]]&lt;br /&gt;
| PASDELOUP ROMAIN,SALMON ALEXANDRE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
| [[Proxy Cache HTTPS]]&lt;br /&gt;
| AUDIN RAPHAEL,RIVAL GAETAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
| [[Reverse Proxy pour gestionnaire de taches]]&lt;br /&gt;
| GUYOT SACHA,EL AJI HOUDA,ASSI DIMA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/22/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 23&lt;br /&gt;
| [[Portail_pour_gestionnaire_de_taches|Portail pour gestionnaire de tâches]]&lt;br /&gt;
| ROLLIN ALEXIS,SAGET ANTOINE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/23/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&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 2019.&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: 28/01 (13H30) à Fin Mars 2020.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: 29/01, 06/02, 13/02, 17/02, 18/03.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : Début Mars, 9H00-11H30 (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir : Semaine 16-20 Mars (probablement Jeudi ou Vendredi).&lt;br /&gt;
&lt;br /&gt;
14/02: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2020 Eclipse IoT Day Grenoble]&lt;br /&gt;
&lt;br /&gt;
====Propositions de projets S10====&lt;br /&gt;
* [[Contributions à Software Heritage]] : : Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
* [[Contribution au projet open-souce ChirpStack]] (aka LoRaServer) : Didier Donsez&lt;br /&gt;
* [[Contributions open-source au projet JHipster]] : Didier Donsez&lt;br /&gt;
* [[Ecrire en gestes]] : Olivier Richard&lt;br /&gt;
* [[Kine 2.0]] (suite de [[Rééducation Kiné connecté]] 2019): Sylvain Toru&lt;br /&gt;
* [[Contributions open source au projet EdCampus]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Contributions open source au projet SmartRecruiting]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Secours Montagne avec LoRa]] : Bernard Tourancheau ??? avec le PGHM Isère&lt;br /&gt;
* [[Monnaies locales et blockchains]] avec Hyperledger, Didier Donsez, XXX (Cairn Grenoble). A CONFIRMER.&lt;br /&gt;
* [[IoTChain]] : Didier Donsez&lt;br /&gt;
* [[Projet STAPS]] : Didier Donsez&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reporté&lt;br /&gt;
* [[Analyse du pédalage cycliste sur home trainer via vidéo]] (Anthony Geourjon) en relation avec STAPS et TIS&lt;br /&gt;
* Projet IA/Edge: Databox : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2019-2020&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;
 | [[Projet STAPS]]&lt;br /&gt;
 | ANCRENAZ Ariane, SAUTON Tanguy, SIBUE Quentin, VINCENT Mathieu (CP)&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions à Software Heritage]]&lt;br /&gt;
 | Nathan Dalaine, Joachim Fontfreyde, Léni Gauffier, Yann Gautier&lt;br /&gt;
 | Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Projet Sauvetage en montagne]]&lt;br /&gt;
 | WYKLAND Damien, BADAT Leya, CUAU Victor, MASSON Jeremy, ZARCOS Paul&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Projet Ecrire en gestes]]&lt;br /&gt;
 | CHABRE Manon, COSCIA Daniel, DENIS Guillaume, DEARAUJO Bastien&lt;br /&gt;
 | Olivier RICHARD&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|}&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;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47060</id>
		<title>Projets 2019-2020</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2019-2020&amp;diff=47060"/>
		<updated>2020-01-28T13:33:13Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Affectations S10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2018-2019]] | [[Projets]] | [[Projets 2020-2021]]&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: 20 Janvier 2020 après midi&lt;br /&gt;
* Soutenance à mi-parcours: A définir&lt;br /&gt;
* Soutenance: A définir&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Evaluation à mi-parcours le lundi/mardi ???&#039;&#039;&#039;: Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Consignes générales:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez être pro-actifs !!!&#039;&#039;&#039;: Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l&#039;auteur du code si il y a lieu, écrire un rapport de bug (&#039;&#039;&#039;Attention:&#039;&#039;&#039; ca se prépare !), soumettre un patch/pull request, contacter l&#039;enseignant ou la personne référente du projet.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vous devez maintenir une fiche de suivi de projet&#039;&#039;&#039;: elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. &#039;&#039;&#039;Note:&#039;&#039;&#039; le nom de la fiche doit être composé du nom du projet et suffixé par info4_2019_2020. &#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/19-20 , 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;
* 1. [[ThingSat]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)&lt;br /&gt;
* 2. [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et l&#039;[[Institut polaire Paul Emile Victor]]&lt;br /&gt;
* Agriculture connectée en partenariat avec les projets collectifs IESE/MAT&lt;br /&gt;
** 3. à [[ASAC/AP|Polytech]] : Nicolas Palix&lt;br /&gt;
** 4. à [[ASAC/SJC|St Cassien]] : Nicolas Palix&lt;br /&gt;
* 5. [[Dataviz de la qualité de l&#039;air et de la pollution sonore]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)&lt;br /&gt;
* 6. [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&amp;amp;M) (Tech Ionic à confirmer)&lt;br /&gt;
* 7. Intégration d&#039;Intel [[Movidius]] ou [[MAix BiT]] à [[RobAIR]], Olivier Richard&lt;br /&gt;
* 8. [[Application mobile de secours du PGHM]] : Didier Donsez, Olivier Fabre (PGHM)&lt;br /&gt;
* 9. [[Application mobile pour la capture de marmottes]] : Didier Donsez, Franck Delbard&lt;br /&gt;
* 10. [[Supports pédagogiques open-source pour l&#039;initiation à l’Internet des Objets pour l’enseignement de SNT (Sciences Numériques et Technologie) au lycée]] : Olivier Richard et Didier Donsez&lt;br /&gt;
* 11. [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]] : Didier DONSEZ, Franck ROUDET (Orange Labs Meylan)&lt;br /&gt;
* DatViz pour l&#039;IoT&lt;br /&gt;
** 12. [[Amélioration de greffons Grafana]] : Didier Donsez&lt;br /&gt;
** 13. [[Tableau de bord et kit de mesure du confort dans les bâtiments de l&#039;UGA]] : Didier Donsez, Fabien Hornebeck (DG DAPAL), Laurence Deligny (DG DAPAL)&lt;br /&gt;
** 14. [[Tableau de bord des capteurs LoRaWAN de la Ville de La Mure]] : Didier Donsez, Virginie Gondrand (Ville de La Mure)&lt;br /&gt;
** 15. [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]] : Didier Donsez, Jean-François Knoepfli (MoonshotLab), Joris Brémond (MoonshotLab)&lt;br /&gt;
* 16. [[Contributions open source au projet EdCampus]] : Didier Donsez, Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* 17. [[VisuGPX : Application mobile pour ski rando]], Didier Donsez, Ye.Ti (M)&lt;br /&gt;
* 18. [[Projet d&#039;Auscultation Partagée]] avec IESE4 et TIS5, Olivier Richard, Didier Donsez, Julie Fontecave-Jallon&lt;br /&gt;
* 19. [[FPGA et Deep Learnning]] : Olivier Richard&lt;br /&gt;
* 20. [[Source Héritage et NIX]] : Olivier Richard&lt;br /&gt;
* 21. [[Proxy Cache HTTPS]] : Olivier Richard&lt;br /&gt;
* 22. [[Reverse Proxy pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 23. [[Portail pour gestionnaire de taches]] : Olivier Richard&lt;br /&gt;
* 24. [[Paquets NIX pour Polytech]] : Olivier Richard&lt;br /&gt;
Non prioritaire&lt;br /&gt;
* [[Application mobile de calcul de son empreinte carbone]] : Didier Donsez, Anne Delaballe (Disrupt Campus), XX (Café Collapse)&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;
* [[Benchmark de MCU pour l&#039;IoT]] : Didier Donsez&lt;br /&gt;
* [[Connecteur InfluxDB pour Cube.js]] : Didier Donsez&lt;br /&gt;
* [[SimCity]] avec [[ThreeJS]]&lt;br /&gt;
* [[WhereIsMyCar]] : application mobile pour se souvenir de l&#039;endroit où sa voiture est garée. : Didier Donsez&lt;br /&gt;
* [[CannonBall de voitures autonomes 2018]]&lt;br /&gt;
* [[Covoiturage Solidaire]], Didier Donsez&lt;br /&gt;
* [[Intégration d&#039;OpenAM à la génération de JHipster]] : Didier Donsez&lt;br /&gt;
* [[Comptage anonymisé de personnes]] : Didier Donsez et Franck Delbart&lt;br /&gt;
* Carte de service étudiant avec [[Eclipse Keyple]] : Didier Donsez&lt;br /&gt;
* [[Tableau de bord et kit de mesure du confort dans les bâtiments du CROUS]] : Didier Donsez (SOUS RESERVE)&lt;br /&gt;
&lt;br /&gt;
==== Affectation  ====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
|+ Affectation des projets INFO4 2019-2020&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
!scope=&amp;quot;col&amp;quot;| Documents&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
| [[ASAC/AP|Agriculture connectée Polytech]]&lt;br /&gt;
| VERNET MAXIME, SAJIDE IDRISS&lt;br /&gt;
| PALIX Nicolas &lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
| [[ASAC/ACJC|Agriculture connectée St Cassien]]&lt;br /&gt;
| LABBE NICOLAS,RUZAFA REMY&lt;br /&gt;
| PALIX Nicolas&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
| [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]&lt;br /&gt;
| CROCIATI MORGAN,GRAUGNARD TOM&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
| [[Intégration d&#039;Intel Movidius ou MAix BiT à RobAIR]]&lt;br /&gt;
| PALOMO REMY, BOLEAT BAPTISTE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/7/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
| [[Application mobile de secours du PGHM]]&lt;br /&gt;
| CHATON ALEXANDRA,FRION THOMAS&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
| [[ Application mobile pour la capture de marmottes ]]&lt;br /&gt;
| EL JRAIDI RIM, NELSON WILLIAM&lt;br /&gt;
| Didier DONSEZ, Franck DELBARD&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| CHAIX MANON,NGUENA ZEMAO GLORIA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
| [[Géolocalisation indoor avec Bluetooth 5.1 Bluetooth Direction Finding: Angle of Arrival (AoA) and Angle of Departure (AoD)]]&lt;br /&gt;
| ARTAUD Adrien,FOUGERE SEBASTIAN&lt;br /&gt;
| Didier DONSEZ, Franck ROUDET&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
| [[Amélioration de greffons Grafana]]&lt;br /&gt;
| MURPHY MICA,VELUT CLAIRE&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| HO NHAT QUANG,MANISSADJIAN GABRIEL&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/13/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 14&lt;br /&gt;
| [[TODO]]&lt;br /&gt;
| BILOUNGA-BI-NDONG ALECK,LOMBARD MYRIAM&lt;br /&gt;
| Didier DONSEZ&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/14/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 15&lt;br /&gt;
| [[Tableau de bord et kit de mesure du confort dans le bâtiment Moonshot Lab]]&lt;br /&gt;
| GUIVARCH ALAN, PAREILLEUX KILLIAN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/15/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 16&lt;br /&gt;
| [[Contribution au logiciel EDCampus]]&lt;br /&gt;
| BEAUGRAND ELISA,DE GAUDENZI LOUIS&lt;br /&gt;
| Didier Donsez, Anthony Geourjon&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 17&lt;br /&gt;
| [[VisuGPX : Application mobile pour ski rando]]&lt;br /&gt;
| ZERAMDINI OTBA, EL MUFTI ALI, DELBOS ROBIN&lt;br /&gt;
| Didier Donsez&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/17/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 19&lt;br /&gt;
| [[FPGA et Deep Learnning]]&lt;br /&gt;
| COURTHIAL SAMUEL, LUIS FILIPE VELASCO DA SILVA&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/19/docs/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 20&lt;br /&gt;
| [[Source Héritage et NIX]]&lt;br /&gt;
| PASDELOUP ROMAIN,SALMON ALEXANDRE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 21&lt;br /&gt;
| [[Proxy Cache HTTPS]]&lt;br /&gt;
| AUDIN RAPHAEL,RIVAL GAETAN&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/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;
!scope=&amp;quot;row&amp;quot;| 22&lt;br /&gt;
| [[Reverse Proxy pour gestionnaire de taches]]&lt;br /&gt;
| GUYOT SACHA,EL AJI HOUDA,ASSI DIMA&lt;br /&gt;
| TODO&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/22/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 23&lt;br /&gt;
| [[Portail_pour_gestionnaire_de_taches|Portail pour gestionnaire de tâches]]&lt;br /&gt;
| ROLLIN ALEXIS,SAGET ANTOINE&lt;br /&gt;
| Olivier Richard&lt;br /&gt;
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/19-20/23/docs/blob/master/README.md Fiche]&lt;br /&gt;
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]&lt;br /&gt;
|-&lt;br /&gt;
|}&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 2019.&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: 28/01 (13H30) à Fin Mars 2020.&lt;br /&gt;
&lt;br /&gt;
Séances de Management de projets innovants: 29/01, 06/02, 13/02, 17/02, 18/03.&lt;br /&gt;
&lt;br /&gt;
Réunion de présentation : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Démarrage : 28/01 (13H30) . Faire couler le café.&lt;br /&gt;
&lt;br /&gt;
Soutenance à mi-parcours : Début Mars, 9H00-11H30 (15 minutes par équipe).&lt;br /&gt;
&lt;br /&gt;
Soutenance (puis Pot de la fin) :  A définir : Semaine 16-20 Mars (probablement Jeudi ou Vendredi).&lt;br /&gt;
&lt;br /&gt;
14/02: [https://wiki.eclipse.org/Eclipse_IoT_Day_Grenoble_2020 Eclipse IoT Day Grenoble]&lt;br /&gt;
&lt;br /&gt;
====Propositions de projets S10====&lt;br /&gt;
* [[Contributions à Software Heritage]] : : Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
* [[Contribution au projet open-souce ChirpStack]] (aka LoRaServer) : Didier Donsez&lt;br /&gt;
* [[Contributions open-source au projet JHipster]] : Didier Donsez&lt;br /&gt;
* [[Ecrire en gestes]] : Olivier Richard&lt;br /&gt;
* [[Kine 2.0]] (suite de [[Rééducation Kiné connecté]] 2019): Sylvain Toru&lt;br /&gt;
* [[Contributions open source au projet EdCampus]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Contributions open source au projet SmartRecruiting]] : Gérard Pollier (Disrupt Campus), Anthony Geourjon (Disrupt Campus)&lt;br /&gt;
* [[Secours Montagne avec LoRa]] : Bernard Tourancheau ??? avec le PGHM Isère&lt;br /&gt;
* [[Monnaies locales et blockchains]] avec Hyperledger, Didier Donsez, XXX (Cairn Grenoble). A CONFIRMER.&lt;br /&gt;
* [[IoTChain]] : Didier Donsez&lt;br /&gt;
* [[Projet STAPS]] : Didier Donsez&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reporté&lt;br /&gt;
* [[Analyse du pédalage cycliste sur home trainer via vidéo]] (Anthony Geourjon) en relation avec STAPS et TIS&lt;br /&gt;
* Projet IA/Edge: Databox : Olivier Richard&lt;br /&gt;
&lt;br /&gt;
==== Affectations S10====&lt;br /&gt;
{|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets INFO5 2019-2020&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;
 | [[Projet STAPS]]&lt;br /&gt;
 | ANCRENAZ Ariane, SAUTON Tanguy, SIBUE Quentin, VINCENT Mathieu (CP)&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Contributions à Software Heritage]]&lt;br /&gt;
 | Nathan Dalaine, Joachim Fontfreyde, Léni Gauffier, Yann Gautier&lt;br /&gt;
 | Didier Donsez, Roberto Di Cosmo&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Projet Sauvetage en montagne]]&lt;br /&gt;
 | WYKLAND Damien, BADAT Leya, CUAU Victor, MASSON Jeremy, ZARCOS Paul&lt;br /&gt;
 | Bernard Tourancheau&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/suivi.md Fiche de suivi]&lt;br /&gt;
 | [https://gitlab.com/TODO/docs/rapport.md Rapport final] - [https://gitlab.com/TODO/docs/rapport-technique.md Rapport technique] - [https://gitlab.com/TODO/presentation/intermediaire.md Présentation intermédiaire] - [https://gitlab.com/TODO/presentation/finale.md Présentation Finale] - [https://gitlab.com/TODO GitLab]&lt;br /&gt;
 |-&lt;br /&gt;
&lt;br /&gt;
|}&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;
&lt;br /&gt;
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=&lt;br /&gt;
==[[PM2M/2019/TP|PM2M]]==&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019&amp;diff=45951</id>
		<title>VT2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019&amp;diff=45951"/>
		<updated>2019-11-24T16:07:42Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Séance 2 : 25/11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VT2018|&amp;lt;&amp;lt; Etudes 2018]] [[VT|Sommaire]] [[VT2020|Etudes 2020 &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 1FO5&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]] ou avec [[remarkjs]]&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;
=Planning=&lt;br /&gt;
&lt;br /&gt;
== Séance 1 : 18/11 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* Présentation&lt;br /&gt;
* Choix des sujets&lt;br /&gt;
&lt;br /&gt;
== Séance 2 : 25/11 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: Selenium - Automatisation de WebApps, BADAT, CUAU, [[Media:Selenium_VT2019.pdf|Slides]], [[Selenium|Fiche de synthèse]], [[VT2019 Selenium Demo|Démonstration]]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: Performance Monitoring, WYKLAND, [[Media:Perf monitoring.pdf|Slides]],  [[VT2019_Performance_Monitoring|Fiche de synthèse]], [[VT2019_Demonstration_Grafana|Démonstration]]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: Iota, BETEND, JAN, [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 3 : 2/12 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 4 : 9/12 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 5 : 16/12 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 6 : 6/1/2020 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 7 : 13/1/2020 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
=Sujets=&lt;br /&gt;
# [[IoT Dataflow Mashup]] (démo avec [[Eclipse Kura Wires]])&lt;br /&gt;
# [[MapReduce et Hadoop]]&lt;br /&gt;
# [[Reconstruction 3D par Photogrammétrie]]&lt;br /&gt;
# [[ ARCore (Google) et ARKit (Apple) ]] &lt;br /&gt;
# [[JSONnet]]&lt;br /&gt;
# [[Géo-réplication]] : Démo avec [[Apache Kafka MirrorMaker]]&lt;br /&gt;
# [[Pulsar]]&lt;br /&gt;
# [[Elixir]] et [[Phoenix]] Web framework&lt;br /&gt;
# [[Wookey project]] (Demo on a STM32F407 Discovery board)&lt;br /&gt;
# [[RSocket]]&lt;br /&gt;
# [[Nacos]] : open source project by Alibaba for service discovery and service configuration.&lt;br /&gt;
# [[NEMU]] : open source hypervisor specifically built and designed to run modern cloud workloads on modern 64-bit Intel and ARM CPUs.&lt;br /&gt;
# [[Architecture Serverless]] : démonstration avec le projet https://github.com/serverless/serverless sur votre compte Azure de votre compte GitHub Student Pack&lt;br /&gt;
# [[Fission]] : open-source serverless function framework for [[Kubernetes]] with a focus on developer productivity and high performance.&lt;br /&gt;
# [[Peloton]], a unified resource scheduler&lt;br /&gt;
# [[Microclimate]]&lt;br /&gt;
# [[AdTech]]&lt;br /&gt;
# [[Nearby communications]] (démonstration de [https://ionicframework.com/docs/native/google-nearby/ Nearby Messages API de Google avec Ionic])&lt;br /&gt;
# [[Conflict-free replicated data type]] (CRDT)&lt;br /&gt;
# [[Spinnaker]]&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;
# [[Kafka Streams]]&lt;br /&gt;
# [[Moby]] : démonstration de containers avec votre projet [[ECOM-RICM|eCOM]].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [[In-Memory Data Grids]] : Démonstration de [[Gigaspaces]] et [[XAP]] Open Source&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;br /&gt;
# [[ Voice-First Development]] : Designing, Developing, and Deploying Conversational Interfaces&lt;br /&gt;
# [[Psychométrie]]&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;
# Portails et l&#039;API [[Portlet]] : Démo avec [[Liferay]]&lt;br /&gt;
# [[Apache Beam]]&lt;br /&gt;
# [[plateforme logicielle open source de conduite autonome Apollo 2.0]]&lt;br /&gt;
# [[Mynewt]]&lt;br /&gt;
# [[Flogo]] Open Source Framework for IoT Edge Apps &amp;amp; Integration.&lt;br /&gt;
# [[Neural Processing Unit]] (NPU) : Demo de la clé [[Intel Movidius]] sur un RPI&lt;br /&gt;
# [[Huginn]]&lt;br /&gt;
# [[Snapcraft]]&lt;br /&gt;
# [[Kafka Streams]]&lt;br /&gt;
# [[Moby]] : démonstration de containers avec votre projet [[ECOM-RICM|eCOM]].&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;
# [[In-Memory Data Grids]] : Démonstration de [[Gigaspaces]] et [[XAP]] Open Source&lt;br /&gt;
# [[Fautes Byzantines]] : Démonstration de [[BFT-SMaRt]]&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;
# [[Performance Monitoring]]&lt;br /&gt;
# [[ADEPT]] : [[Blockchain]] at Home (ABANDONNé)&lt;br /&gt;
# [[ESB]] : démonstration de [[Mule ESB]]&lt;br /&gt;
# [[Access Network Query Protocol (ANQP)]]&lt;br /&gt;
# [[JCache]] : démonstration avec [[Apache Ignity]]&lt;br /&gt;
# [[MemCached]]&lt;br /&gt;
# [[Apache Stratos]]&lt;br /&gt;
# [[gceasy]] : Universal garbage collection log Analyser&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;
# [[Valgrind]]&lt;br /&gt;
# [[Content Delivery Network]]s : Démonstration de [[Amazon S3]], Azure, Akamaï ... sur votre projet [[ECOM-RICM|eCOM]]&lt;br /&gt;
# [[CMS]] : Demo avec [[Crafter CMS]]&lt;br /&gt;
# [[DMS]] (GED) : Demo avec la version Community Edition d&#039;[[Alfresco]] et de son API REST avec [[Swagger]]&lt;br /&gt;
# [[SIG]] : Démonstration de [[QGIS]]&lt;br /&gt;
# [[Apache Airflow]]&lt;br /&gt;
# [[Cryptojacking]] : démonstration d&#039;un navigateur exécutant [https://github.com/cazala/coin-hive CoinHive] et affichage du coup énergétique de l&#039;opération.&lt;br /&gt;
# [[RIOT-OS]] : système d&#039;exploitation pour l&#039;Internet des Objets (Démonstration sur une carte STM32 Nucleo LRWAN1).&lt;br /&gt;
# [[Zephyr]] : système d&#039;exploitation pour l&#039;Internet des Objets (Démonstration sur une carte [[Intel Quark D2000]]).&lt;br /&gt;
# [[HTTP/3]] : quoi de neuf ? Démonstration de l&#039;amélioration des performances.&lt;br /&gt;
# [[Gyro]] : domain-specific language designed to concisely describe a cloud infrastructure. Démonstration avec votre application eCOM JHipster sur Azure.&lt;br /&gt;
# [[selenium]] contrôle automatisé de navigateur web - CUAU BADAT&lt;br /&gt;
# [[Rasa]] Traitement du langage naturel, chatbot - &lt;br /&gt;
# [[MPI]] DENIS &amp;amp; DE ARAUJO&lt;br /&gt;
# [[Brain Computer Interfaces ]] Alakali - Mastoura&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Perf_monitoring.pdf&amp;diff=45950</id>
		<title>File:Perf monitoring.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Perf_monitoring.pdf&amp;diff=45950"/>
		<updated>2019-11-24T16:07:11Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45949</id>
		<title>VT2019 Demonstration Grafana</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45949"/>
		<updated>2019-11-24T14:51:44Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la page de démonstration liée à la fiche de synthèse [[VT2019_Performance_Monitoring|Fiche de synthèse]].&lt;br /&gt;
&lt;br /&gt;
=Prérequis=&lt;br /&gt;
Cette démo est très simple à reproduire étant donné que j&#039;ai choisi d&#039;utiliser docker sur tous les outils le supportant.&lt;br /&gt;
&lt;br /&gt;
Il est donc nécessaire d&#039;avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.docker.com/install/, Installer Docker]]&lt;br /&gt;
&lt;br /&gt;
=Configuration sous Linux=&lt;br /&gt;
==Mise en place de InfluxDB et Grafana==&lt;br /&gt;
* Tout d&#039;abord, placez vous dans un répertoire :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /exemple &amp;amp;&amp;amp; cd /exemple&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite, vous pouvez créer le fichier docker-compose.yml avec le contenu ci-dessous :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: &amp;quot;2&amp;quot;&lt;br /&gt;
services:&lt;br /&gt;
  grafana:&lt;br /&gt;
    image: grafana/grafana&lt;br /&gt;
    container_name: grafana&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 3000:3000&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - grafana-volume:/var/lib/grafana&lt;br /&gt;
  influxdb:&lt;br /&gt;
    image: influxdb&lt;br /&gt;
    container_name: influxdb&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8086:8086&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - influxdb-volume:/var/lib/influxdb&lt;br /&gt;
networks:&lt;br /&gt;
  monitoring:&lt;br /&gt;
volumes:&lt;br /&gt;
  grafana-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
  influxdb-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite vous devez créer le network ainsi que les deux volumes utilisés :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker network create monitoring&lt;br /&gt;
docker volume create grafana-volume&lt;br /&gt;
docker volume create influxdb-volume&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enfin, lancez le conteneur d&#039;influxDB avec la commande -rm pour pouvoir configurer les variables d&#039;environnement :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run --rm \&lt;br /&gt;
  -e INFLUXDB_DB=telegraf -e INFLUXDB_ADMIN_ENABLED=true \&lt;br /&gt;
  -e INFLUXDB_ADMIN_USER=admin \&lt;br /&gt;
  -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \&lt;br /&gt;
  -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \&lt;br /&gt;
  -v influxdb-volume:/var/lib/influxdb \&lt;br /&gt;
  influxdb /init-influxdb.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* La configuration est prête, pour lancer les conteneurs, il suffit de taper la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker-compose up -d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Votre interface Grafana est désormais disponible à l&#039;adresse localhost:3000 et la base de donnée à l&#039;adresse localhost:8086&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
Il est nécessaire de configurer Grafana pour lui indiquer la source des données. Il suffit d&#039;ajouter une source de donnée de type InfluxDB et de donner l&#039;adresse suivante : http://influxdb:8086&lt;br /&gt;
Cela fonctionne grâce au network docker que nous avons créé auparavant.&lt;br /&gt;
&lt;br /&gt;
==Mise en place de Telegraf==&lt;br /&gt;
&lt;br /&gt;
* Tout d&#039;abord, il est nécessaire d&#039;installer Telegraf :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.influxdata.com/telegraf/v1.12/introduction/installation/, Installer Telegraf]]&lt;br /&gt;
&lt;br /&gt;
* Ensuite, une fois installé, il suffit de modifier quelques lignes dans le fichier de configuration de Telegraf :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#                            OUTPUT PLUGINS                                   #&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Configuration for sending metrics to InfluxDB&lt;br /&gt;
[[outputs.influxdb]]&lt;br /&gt;
  ## The full HTTP or UDP URL for your InfluxDB instance.#### Multiple URLs can be specified for a single cluster, only ONE of the&lt;br /&gt;
urls = [&amp;quot;http://server1_ip:8086&amp;quot;]&lt;br /&gt;
  ## The target database for metrics; will be created as needed.&lt;br /&gt;
   database = &amp;quot;telegraf&amp;quot;&lt;br /&gt;
  ## If true, no CREATE DATABASE queries will be sent.  Set to true when using## Telegraf with a user without permissions to create databases or when the## database already exists.&lt;br /&gt;
  skip_database_creation = true&lt;br /&gt;
  ## Name of existing retention policy to write to.  Empty string writes to## the default retention policy.  Only takes effect when using HTTP.# retention_policy = &amp;quot;&amp;quot;&lt;br /&gt;
  ## Write consistency (clusters only), can be: &amp;quot;any&amp;quot;, &amp;quot;one&amp;quot;, &amp;quot;quorum&amp;quot;, &amp;quot;all&amp;quot;.## Only takes effect when using HTTP.# write_consistency = &amp;quot;any&amp;quot;&lt;br /&gt;
  ## Timeout for HTTP messages.&lt;br /&gt;
   timeout = &amp;quot;5s&amp;quot;&lt;br /&gt;
  ## HTTP Basic Auth&lt;br /&gt;
   username = &amp;quot;telegraf&amp;quot;&lt;br /&gt;
   password = &amp;quot;secretpassword&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Ne reprenez pas les mots de passe d&#039;exemple cités ci-dessus.&lt;br /&gt;
&lt;br /&gt;
=Utilisation de Grafana=&lt;br /&gt;
&lt;br /&gt;
Maintenant que tout est configuré, il ne vous reste plus qu&#039;a ajouter un dashboard qui vous plait depuis la liste des dashboards proposé par la communauté de Grafana, de selectionner notre base de donnée influxDB comme source, et vous pourrez monitorer la machine surveillée par Telegraf:&lt;br /&gt;
&lt;br /&gt;
[[File:Dashboard grafana vt2019.png|600px|Exemple de Dashboard avec Grafana]]&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://towardsdatascience.com/get-system-metrics-for-5-min-with-docker-telegraf-influxdb-and-grafana-97cfd957f0ac : Tutoriel de configuration avec Docker&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45948</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45948"/>
		<updated>2019-11-24T14:31:32Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dashboard grafana vt2019.png|600px|thumb|Exemple de Dashboard avec Grafana]]&lt;br /&gt;
=Abstract=&lt;br /&gt;
In a world where our IT structure is absolutely critical, even to the point where our lives could depend on it, we need some tools to assure that a system is working accordingly to its specs. That&#039;s where Performance Monitoring comes into play. It is composed of three main parts that are gathering, storing and visualing performance metrics. With the help of performance monitoring we can develop automated actions in case of failures, and even better, anticipate these failures to keep the systems running. I present here two main solutions to get started in monitoring metrics.&lt;br /&gt;
&lt;br /&gt;
Keywords :&lt;br /&gt;
* Performance metrics&lt;br /&gt;
* Critical systems&lt;br /&gt;
* Availability&lt;br /&gt;
* Visualisation&lt;br /&gt;
* Analysis&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
Voici la page de démonstration en lien avec cette synthèse : [[VT2019_Demonstration_Grafana|Démonstration]]&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
* Année : [[VT2019|VT2019]]&lt;br /&gt;
* Sujet : Performance monitoring&lt;br /&gt;
* Auteur : [[User:Damien.Wykland | Damien WYKLAND]]&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;br /&gt;
* https://www.elastic.co/fr/what-is/elk-stack : Suite ELK&lt;br /&gt;
* https://logz.io/blog/grafana-vs-kibana/ : Différences entre Grafana et Kibana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45947</id>
		<title>VT2019 Demonstration Grafana</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45947"/>
		<updated>2019-11-24T14:30:27Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la page de démonstration liée à la fiche de synthèse [[VT2019_Performance_Monitoring|Fiche de synthèse]].&lt;br /&gt;
&lt;br /&gt;
=Prérequis=&lt;br /&gt;
Cette démo est très simple à reproduire étant donné que j&#039;ai choisi d&#039;utiliser docker sur tous les outils le supportant.&lt;br /&gt;
&lt;br /&gt;
Il est donc nécessaire d&#039;avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.docker.com/install/, Installer Docker]]&lt;br /&gt;
&lt;br /&gt;
=Configuration sous Linux=&lt;br /&gt;
==Mise en place de InfluxDB et Grafana==&lt;br /&gt;
* Tout d&#039;abord, placez vous dans un répertoire :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /exemple &amp;amp;&amp;amp; cd /exemple&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite, vous pouvez créer le fichier docker-compose.yml avec le contenu ci-dessous :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: &amp;quot;2&amp;quot;&lt;br /&gt;
services:&lt;br /&gt;
  grafana:&lt;br /&gt;
    image: grafana/grafana&lt;br /&gt;
    container_name: grafana&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 3000:3000&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - grafana-volume:/var/lib/grafana&lt;br /&gt;
  influxdb:&lt;br /&gt;
    image: influxdb&lt;br /&gt;
    container_name: influxdb&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8086:8086&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - influxdb-volume:/var/lib/influxdb&lt;br /&gt;
networks:&lt;br /&gt;
  monitoring:&lt;br /&gt;
volumes:&lt;br /&gt;
  grafana-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
  influxdb-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite vous devez créer le network ainsi que les deux volumes utilisés :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker network create monitoring&lt;br /&gt;
docker volume create grafana-volume&lt;br /&gt;
docker volume create influxdb-volume&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enfin, lancez le conteneur d&#039;influxDB avec la commande -rm pour pouvoir configurer les variables d&#039;environnement :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run --rm \&lt;br /&gt;
  -e INFLUXDB_DB=telegraf -e INFLUXDB_ADMIN_ENABLED=true \&lt;br /&gt;
  -e INFLUXDB_ADMIN_USER=admin \&lt;br /&gt;
  -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \&lt;br /&gt;
  -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \&lt;br /&gt;
  -v influxdb-volume:/var/lib/influxdb \&lt;br /&gt;
  influxdb /init-influxdb.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* La configuration est prête, pour lancer les conteneurs, il suffit de taper la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker-compose up -d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Votre interface Grafana est désormais disponible à l&#039;adresse localhost:3000 et la base de donnée à l&#039;adresse localhost:8086&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
Il est nécessaire de configurer Grafana pour lui indiquer la source des données. Il suffit d&#039;ajouter une source de donnée de type InfluxDB et de donner l&#039;adresse suivante : http://influxdb:8086&lt;br /&gt;
Cela fonctionne grâce au network docker que nous avons créé auparavant.&lt;br /&gt;
&lt;br /&gt;
==Mise en place de Telegraf==&lt;br /&gt;
&lt;br /&gt;
* Tout d&#039;abord, il est nécessaire d&#039;installer Telegraf :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.influxdata.com/telegraf/v1.12/introduction/installation/, Installer Telegraf]]&lt;br /&gt;
&lt;br /&gt;
* Ensuite, une fois installé, il suffit de modifier quelques lignes dans le fichier de configuration de Telegraf :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#                            OUTPUT PLUGINS                                   #&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Configuration for sending metrics to InfluxDB&lt;br /&gt;
[[outputs.influxdb]]&lt;br /&gt;
  ## The full HTTP or UDP URL for your InfluxDB instance.#### Multiple URLs can be specified for a single cluster, only ONE of the&lt;br /&gt;
urls = [&amp;quot;http://server1_ip:8086&amp;quot;]&lt;br /&gt;
  ## The target database for metrics; will be created as needed.&lt;br /&gt;
   database = &amp;quot;telegraf&amp;quot;&lt;br /&gt;
  ## If true, no CREATE DATABASE queries will be sent.  Set to true when using## Telegraf with a user without permissions to create databases or when the## database already exists.&lt;br /&gt;
  skip_database_creation = true&lt;br /&gt;
  ## Name of existing retention policy to write to.  Empty string writes to## the default retention policy.  Only takes effect when using HTTP.# retention_policy = &amp;quot;&amp;quot;&lt;br /&gt;
  ## Write consistency (clusters only), can be: &amp;quot;any&amp;quot;, &amp;quot;one&amp;quot;, &amp;quot;quorum&amp;quot;, &amp;quot;all&amp;quot;.## Only takes effect when using HTTP.# write_consistency = &amp;quot;any&amp;quot;&lt;br /&gt;
  ## Timeout for HTTP messages.&lt;br /&gt;
   timeout = &amp;quot;5s&amp;quot;&lt;br /&gt;
  ## HTTP Basic Auth&lt;br /&gt;
   username = &amp;quot;telegraf&amp;quot;&lt;br /&gt;
   password = &amp;quot;secretpassword&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Ne reprenez pas les mots de passe d&#039;exemple cités ci-dessus.&lt;br /&gt;
&lt;br /&gt;
=Utilisation de Grafana=&lt;br /&gt;
&lt;br /&gt;
Maintenant que tout est configuré, il ne vous reste plus qu&#039;a ajouter un dashboard qui vous plait depuis la liste des dashboards proposé par la communauté de Grafana, de selectionner notre base de donnée influxDB comme source, et vous pourrez monitorer la machine surveillée par Telegraf:&lt;br /&gt;
&lt;br /&gt;
[[File:Dashboard grafana vt2019.png|600px|Exemple de Dashboard avec Grafana]]&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45946</id>
		<title>VT2019 Demonstration Grafana</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45946"/>
		<updated>2019-11-24T14:28:30Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Mise en place de Telegraf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la page de démonstration liée à la fiche de synthèse [[VT2019_Performance_Monitoring|Fiche de synthèse]].&lt;br /&gt;
&lt;br /&gt;
=Prérequis=&lt;br /&gt;
Cette démo est très simple à reproduire étant donné que j&#039;ai choisi d&#039;utiliser docker sur tous les outils le supportant.&lt;br /&gt;
&lt;br /&gt;
Il est donc nécessaire d&#039;avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.docker.com/install/, Installer Docker]]&lt;br /&gt;
&lt;br /&gt;
=Configuration sous Linux=&lt;br /&gt;
==Mise en place de InfluxDB et Grafana==&lt;br /&gt;
* Tout d&#039;abord, placez vous dans un répertoire :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /exemple &amp;amp;&amp;amp; cd /exemple&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite, vous pouvez créer le fichier docker-compose.yml avec le contenu ci-dessous :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: &amp;quot;2&amp;quot;&lt;br /&gt;
services:&lt;br /&gt;
  grafana:&lt;br /&gt;
    image: grafana/grafana&lt;br /&gt;
    container_name: grafana&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 3000:3000&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - grafana-volume:/var/lib/grafana&lt;br /&gt;
  influxdb:&lt;br /&gt;
    image: influxdb&lt;br /&gt;
    container_name: influxdb&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8086:8086&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - influxdb-volume:/var/lib/influxdb&lt;br /&gt;
networks:&lt;br /&gt;
  monitoring:&lt;br /&gt;
volumes:&lt;br /&gt;
  grafana-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
  influxdb-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite vous devez créer le network ainsi que les deux volumes utilisés :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker network create monitoring&lt;br /&gt;
docker volume create grafana-volume&lt;br /&gt;
docker volume create influxdb-volume&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enfin, lancez le conteneur d&#039;influxDB avec la commande -rm pour pouvoir configurer les variables d&#039;environnement :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run --rm \&lt;br /&gt;
  -e INFLUXDB_DB=telegraf -e INFLUXDB_ADMIN_ENABLED=true \&lt;br /&gt;
  -e INFLUXDB_ADMIN_USER=admin \&lt;br /&gt;
  -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \&lt;br /&gt;
  -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \&lt;br /&gt;
  -v influxdb-volume:/var/lib/influxdb \&lt;br /&gt;
  influxdb /init-influxdb.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* La configuration est prête, pour lancer les conteneurs, il suffit de taper la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker-compose up -d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Votre interface Grafana est désormais disponible à l&#039;adresse localhost:3000 et la base de donnée à l&#039;adresse localhost:8086&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
Il est nécessaire de configurer Grafana pour lui indiquer la source des données. Il suffit d&#039;ajouter une source de donnée de type InfluxDB et de donner l&#039;adresse suivante : http://influxdb:8086&lt;br /&gt;
Cela fonctionne grâce au network docker que nous avons créé auparavant.&lt;br /&gt;
&lt;br /&gt;
==Mise en place de Telegraf==&lt;br /&gt;
&lt;br /&gt;
* Tout d&#039;abord, il est nécessaire d&#039;installer Telegraf :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.influxdata.com/telegraf/v1.12/introduction/installation/, Installer Telegraf]]&lt;br /&gt;
&lt;br /&gt;
* Ensuite, une fois installé, il suffit de modifier quelques lignes dans le fichier de configuration de Telegraf :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
###############################################################################&lt;br /&gt;
#                            OUTPUT PLUGINS                                   #&lt;br /&gt;
###############################################################################&lt;br /&gt;
# Configuration for sending metrics to InfluxDB&lt;br /&gt;
[[outputs.influxdb]]&lt;br /&gt;
  ## The full HTTP or UDP URL for your InfluxDB instance.#### Multiple URLs can be specified for a single cluster, only ONE of the&lt;br /&gt;
urls = [&amp;quot;http://server1_ip:8086&amp;quot;]&lt;br /&gt;
  ## The target database for metrics; will be created as needed.&lt;br /&gt;
   database = &amp;quot;telegraf&amp;quot;&lt;br /&gt;
  ## If true, no CREATE DATABASE queries will be sent.  Set to true when using## Telegraf with a user without permissions to create databases or when the## database already exists.&lt;br /&gt;
  skip_database_creation = true&lt;br /&gt;
  ## Name of existing retention policy to write to.  Empty string writes to## the default retention policy.  Only takes effect when using HTTP.# retention_policy = &amp;quot;&amp;quot;&lt;br /&gt;
  ## Write consistency (clusters only), can be: &amp;quot;any&amp;quot;, &amp;quot;one&amp;quot;, &amp;quot;quorum&amp;quot;, &amp;quot;all&amp;quot;.## Only takes effect when using HTTP.# write_consistency = &amp;quot;any&amp;quot;&lt;br /&gt;
  ## Timeout for HTTP messages.&lt;br /&gt;
   timeout = &amp;quot;5s&amp;quot;&lt;br /&gt;
  ## HTTP Basic Auth&lt;br /&gt;
   username = &amp;quot;telegraf&amp;quot;&lt;br /&gt;
   password = &amp;quot;secretpassword&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Ne reprenez pas les mots de passe d&#039;exemple cités ci-dessus.&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45945</id>
		<title>VT2019 Demonstration Grafana</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45945"/>
		<updated>2019-11-24T14:25:39Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la page de démonstration liée à la fiche de synthèse [[VT2019_Performance_Monitoring|Fiche de synthèse]].&lt;br /&gt;
&lt;br /&gt;
=Prérequis=&lt;br /&gt;
Cette démo est très simple à reproduire étant donné que j&#039;ai choisi d&#039;utiliser docker sur tous les outils le supportant.&lt;br /&gt;
&lt;br /&gt;
Il est donc nécessaire d&#039;avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.docker.com/install/, Installer Docker]]&lt;br /&gt;
&lt;br /&gt;
=Configuration sous Linux=&lt;br /&gt;
==Mise en place de InfluxDB et Grafana==&lt;br /&gt;
* Tout d&#039;abord, placez vous dans un répertoire :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir /exemple &amp;amp;&amp;amp; cd /exemple&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite, vous pouvez créer le fichier docker-compose.yml avec le contenu ci-dessous :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: &amp;quot;2&amp;quot;&lt;br /&gt;
services:&lt;br /&gt;
  grafana:&lt;br /&gt;
    image: grafana/grafana&lt;br /&gt;
    container_name: grafana&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 3000:3000&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - grafana-volume:/var/lib/grafana&lt;br /&gt;
  influxdb:&lt;br /&gt;
    image: influxdb&lt;br /&gt;
    container_name: influxdb&lt;br /&gt;
    restart: always&lt;br /&gt;
    ports:&lt;br /&gt;
      - 8086:8086&lt;br /&gt;
    networks:&lt;br /&gt;
      - monitoring&lt;br /&gt;
    volumes:&lt;br /&gt;
      - influxdb-volume:/var/lib/influxdb&lt;br /&gt;
networks:&lt;br /&gt;
  monitoring:&lt;br /&gt;
volumes:&lt;br /&gt;
  grafana-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
  influxdb-volume:&lt;br /&gt;
    external: true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Ensuite vous devez créer le network ainsi que les deux volumes utilisés :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker network create monitoring&lt;br /&gt;
docker volume create grafana-volume&lt;br /&gt;
docker volume create influxdb-volume&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enfin, lancez le conteneur d&#039;influxDB avec la commande -rm pour pouvoir configurer les variables d&#039;environnement :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker run --rm \&lt;br /&gt;
  -e INFLUXDB_DB=telegraf -e INFLUXDB_ADMIN_ENABLED=true \&lt;br /&gt;
  -e INFLUXDB_ADMIN_USER=admin \&lt;br /&gt;
  -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \&lt;br /&gt;
  -e INFLUXDB_USER=telegraf -e INFLUXDB_USER_PASSWORD=secretpassword \&lt;br /&gt;
  -v influxdb-volume:/var/lib/influxdb \&lt;br /&gt;
  influxdb /init-influxdb.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* La configuration est prête, pour lancer les conteneurs, il suffit de taper la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker-compose up -d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Votre interface Grafana est désormais disponible à l&#039;adresse localhost:3000 et la base de donnée à l&#039;adresse localhost:8086&lt;br /&gt;
&lt;br /&gt;
Remarque :&lt;br /&gt;
Il est nécessaire de configurer Grafana pour lui indiquer la source des données. Il suffit d&#039;ajouter une source de donnée de type InfluxDB et de donner l&#039;adresse suivante : http://influxdb:8086&lt;br /&gt;
Cela fonctionne grâce au network docker que nous avons créé auparavant.&lt;br /&gt;
&lt;br /&gt;
==Mise en place de Telegraf==&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45944</id>
		<title>VT2019 Demonstration Grafana</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45944"/>
		<updated>2019-11-24T14:16:23Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la page de démonstration liée à la fiche de synthèse [[VT2019_Performance_Monitoring|Fiche de synthèse]].&lt;br /&gt;
&lt;br /&gt;
=Prérequis=&lt;br /&gt;
Cette démo est très simple à reproduire étant donné que j&#039;ai choisi d&#039;utiliser docker sur tous les outils le supportant.&lt;br /&gt;
&lt;br /&gt;
Il est donc nécessaire d&#039;avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.docker.com/install/, Installer Docker]]&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
==Mise en place de InfluxDB et Grafana==&lt;br /&gt;
&lt;br /&gt;
==Mise en place de Telegraf==&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45943</id>
		<title>VT2019 Demonstration Grafana</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45943"/>
		<updated>2019-11-24T14:16:02Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la page de démonstration liée à la fiche de synthèse [[VT2019_Performance_Monitoring|Fiche de synthèse]].&lt;br /&gt;
&lt;br /&gt;
=Prérequis=&lt;br /&gt;
Cette démo est très simple à reproduire étant donné que j&#039;ai choisi d&#039;utiliser docker sur tous les outils le supportant.&lt;br /&gt;
&lt;br /&gt;
Il est donc nécessaire d&#039;avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.docker.com/install/, Installer Docker]]&lt;br /&gt;
&lt;br /&gt;
=Mise en place de InfluxDB et Grafana=&lt;br /&gt;
&lt;br /&gt;
=Mise en place de Telegraf=&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45942</id>
		<title>VT2019 Demonstration Grafana</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Demonstration_Grafana&amp;diff=45942"/>
		<updated>2019-11-24T14:13:10Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: Created page with &amp;quot;Voici la page de démonstration liée à la fiche de synthèse Fiche de synthèse.  =Prérequis= Cette démo est très simple à reproduire...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la page de démonstration liée à la fiche de synthèse [[VT2019_Performance_Monitoring|Fiche de synthèse]].&lt;br /&gt;
&lt;br /&gt;
=Prérequis=&lt;br /&gt;
Cette démo est très simple à reproduire étant donné que j&#039;ai choisi d&#039;utiliser docker sur tous les outils le supportant.&lt;br /&gt;
&lt;br /&gt;
Il est donc nécessaire d&#039;avoir une installation fonctionnelle de docker sur votre machine pour pouvoir continuer :&lt;br /&gt;
&lt;br /&gt;
[[https://docs.docker.com/install/, Installer Docker]]&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45941</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45941"/>
		<updated>2019-11-24T14:06:30Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dashboard grafana vt2019.png|600px|thumb|Exemple de Dashboard avec Grafana]]&lt;br /&gt;
=Abstract=&lt;br /&gt;
In a world where our IT structure is absolutely critical, even to the point where our lives could depend on it, we need some tools to assure that a system is working accordingly to its specs. That&#039;s where Performance Monitoring comes into play. It is composed of three main parts that are gathering, storing and visualing performance metrics. With the help of performance monitoring we can develop automated actions in case of failures, and even better, anticipate these failures to keep the systems running. I present here two main solutions to get started in monitoring metrics.&lt;br /&gt;
&lt;br /&gt;
Keywords :&lt;br /&gt;
* Performance metrics&lt;br /&gt;
* Critical systems&lt;br /&gt;
* Availability&lt;br /&gt;
* Visualisation&lt;br /&gt;
* Analysis&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Auteur=&lt;br /&gt;
* Année : [[VT2019|VT2019]]&lt;br /&gt;
* Sujet : Performance monitoring&lt;br /&gt;
* Auteur : [[User:Damien.Wykland | Damien WYKLAND]]&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;br /&gt;
* https://www.elastic.co/fr/what-is/elk-stack : Suite ELK&lt;br /&gt;
* https://logz.io/blog/grafana-vs-kibana/ : Différences entre Grafana et Kibana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019&amp;diff=45940</id>
		<title>VT2019</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019&amp;diff=45940"/>
		<updated>2019-11-24T12:24:18Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Séance 2 : 25/11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[VT2018|&amp;lt;&amp;lt; Etudes 2018]] [[VT|Sommaire]] [[VT2020|Etudes 2020 &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 1FO5&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]] ou avec [[remarkjs]]&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;
=Planning=&lt;br /&gt;
&lt;br /&gt;
== Séance 1 : 18/11 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* Présentation&lt;br /&gt;
* Choix des sujets&lt;br /&gt;
&lt;br /&gt;
== Séance 2 : 25/11 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: Selenium - Automatisation de WebApps, BADAT, CUAU, [[Media:Selenium_VT2019.pdf|Slides]], [[Selenium|Fiche de synthèse]], [[VT2019 Selenium Demo|Démonstration]]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: Performance Monitoring, WYKLAND, [Slides],  [[VT2019_Performance_Monitoring|Fiche de synthèse]], [[VT2019_Demonstration_Grafana|Démonstration]]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: Iota, BETEND, JAN, [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 3 : 2/12 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 4 : 9/12 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 5 : 16/12 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 6 : 6/1/2020 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
== Séance 7 : 13/1/2020 ==&lt;br /&gt;
Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]&lt;br /&gt;
&lt;br /&gt;
* 15h45 -&amp;gt; 16h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h15 -&amp;gt; 16h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 16h45 -&amp;gt; 17h15: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
* 17h15 -&amp;gt; 17h45: [sujet] [nom] [nom] [slides] [synthese]&lt;br /&gt;
&lt;br /&gt;
=Sujets=&lt;br /&gt;
# [[IoT Dataflow Mashup]] (démo avec [[Eclipse Kura Wires]])&lt;br /&gt;
# [[MapReduce et Hadoop]]&lt;br /&gt;
# [[Reconstruction 3D par Photogrammétrie]]&lt;br /&gt;
# [[ ARCore (Google) et ARKit (Apple) ]] &lt;br /&gt;
# [[JSONnet]]&lt;br /&gt;
# [[Géo-réplication]] : Démo avec [[Apache Kafka MirrorMaker]]&lt;br /&gt;
# [[Pulsar]]&lt;br /&gt;
# [[Elixir]] et [[Phoenix]] Web framework&lt;br /&gt;
# [[Wookey project]] (Demo on a STM32F407 Discovery board)&lt;br /&gt;
# [[RSocket]]&lt;br /&gt;
# [[Nacos]] : open source project by Alibaba for service discovery and service configuration.&lt;br /&gt;
# [[NEMU]] : open source hypervisor specifically built and designed to run modern cloud workloads on modern 64-bit Intel and ARM CPUs.&lt;br /&gt;
# [[Architecture Serverless]] : démonstration avec le projet https://github.com/serverless/serverless sur votre compte Azure de votre compte GitHub Student Pack&lt;br /&gt;
# [[Fission]] : open-source serverless function framework for [[Kubernetes]] with a focus on developer productivity and high performance.&lt;br /&gt;
# [[Peloton]], a unified resource scheduler&lt;br /&gt;
# [[Microclimate]]&lt;br /&gt;
# [[AdTech]]&lt;br /&gt;
# [[Nearby communications]] (démonstration de [https://ionicframework.com/docs/native/google-nearby/ Nearby Messages API de Google avec Ionic])&lt;br /&gt;
# [[Conflict-free replicated data type]] (CRDT)&lt;br /&gt;
# [[Spinnaker]]&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;
# [[Kafka Streams]]&lt;br /&gt;
# [[Moby]] : démonstration de containers avec votre projet [[ECOM-RICM|eCOM]].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# [[In-Memory Data Grids]] : Démonstration de [[Gigaspaces]] et [[XAP]] Open Source&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;br /&gt;
# [[ Voice-First Development]] : Designing, Developing, and Deploying Conversational Interfaces&lt;br /&gt;
# [[Psychométrie]]&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;
# Portails et l&#039;API [[Portlet]] : Démo avec [[Liferay]]&lt;br /&gt;
# [[Apache Beam]]&lt;br /&gt;
# [[plateforme logicielle open source de conduite autonome Apollo 2.0]]&lt;br /&gt;
# [[Mynewt]]&lt;br /&gt;
# [[Flogo]] Open Source Framework for IoT Edge Apps &amp;amp; Integration.&lt;br /&gt;
# [[Neural Processing Unit]] (NPU) : Demo de la clé [[Intel Movidius]] sur un RPI&lt;br /&gt;
# [[Huginn]]&lt;br /&gt;
# [[Snapcraft]]&lt;br /&gt;
# [[Kafka Streams]]&lt;br /&gt;
# [[Moby]] : démonstration de containers avec votre projet [[ECOM-RICM|eCOM]].&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;
# [[In-Memory Data Grids]] : Démonstration de [[Gigaspaces]] et [[XAP]] Open Source&lt;br /&gt;
# [[Fautes Byzantines]] : Démonstration de [[BFT-SMaRt]]&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;
# [[Performance Monitoring]]&lt;br /&gt;
# [[ADEPT]] : [[Blockchain]] at Home (ABANDONNé)&lt;br /&gt;
# [[ESB]] : démonstration de [[Mule ESB]]&lt;br /&gt;
# [[Access Network Query Protocol (ANQP)]]&lt;br /&gt;
# [[JCache]] : démonstration avec [[Apache Ignity]]&lt;br /&gt;
# [[MemCached]]&lt;br /&gt;
# [[Apache Stratos]]&lt;br /&gt;
# [[gceasy]] : Universal garbage collection log Analyser&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;
# [[Valgrind]]&lt;br /&gt;
# [[Content Delivery Network]]s : Démonstration de [[Amazon S3]], Azure, Akamaï ... sur votre projet [[ECOM-RICM|eCOM]]&lt;br /&gt;
# [[CMS]] : Demo avec [[Crafter CMS]]&lt;br /&gt;
# [[DMS]] (GED) : Demo avec la version Community Edition d&#039;[[Alfresco]] et de son API REST avec [[Swagger]]&lt;br /&gt;
# [[SIG]] : Démonstration de [[QGIS]]&lt;br /&gt;
# [[Apache Airflow]]&lt;br /&gt;
# [[Cryptojacking]] : démonstration d&#039;un navigateur exécutant [https://github.com/cazala/coin-hive CoinHive] et affichage du coup énergétique de l&#039;opération.&lt;br /&gt;
# [[RIOT-OS]] : système d&#039;exploitation pour l&#039;Internet des Objets (Démonstration sur une carte STM32 Nucleo LRWAN1).&lt;br /&gt;
# [[Zephyr]] : système d&#039;exploitation pour l&#039;Internet des Objets (Démonstration sur une carte [[Intel Quark D2000]]).&lt;br /&gt;
# [[HTTP/3]] : quoi de neuf ? Démonstration de l&#039;amélioration des performances.&lt;br /&gt;
# [[Gyro]] : domain-specific language designed to concisely describe a cloud infrastructure. Démonstration avec votre application eCOM JHipster sur Azure.&lt;br /&gt;
# [[selenium]] contrôle automatisé de navigateur web - CUAU BADAT&lt;br /&gt;
# [[Rasa]] Traitement du langage naturel, chatbot - &lt;br /&gt;
# [[MPI]] DENIS &amp;amp; DE ARAUJO&lt;br /&gt;
# [[Brain Computer Interfaces ]] Alakali - Mastoura&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45939</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45939"/>
		<updated>2019-11-24T12:21:35Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Abstract */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dashboard grafana vt2019.png|600px|thumb|Exemple de Dashboard avec Grafana]]&lt;br /&gt;
=Abstract=&lt;br /&gt;
In a world where our IT structure is absolutely critical, even to the point where our lives could depend on it, we need some tools to assure that a system is working accordingly to its specs. That&#039;s where Performance Monitoring comes into play. It is composed of three main parts that are gathering, storing and visualing performance metrics. With the help of performance monitoring we can develop automated actions in case of failures, and even better, anticipate these failures to keep the systems running. I present here two main solutions to get started in monitoring metrics.&lt;br /&gt;
&lt;br /&gt;
Keywords :&lt;br /&gt;
* Performance metrics&lt;br /&gt;
* Critical systems&lt;br /&gt;
* Availability&lt;br /&gt;
* Visualisation&lt;br /&gt;
* Analysis&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;br /&gt;
* https://www.elastic.co/fr/what-is/elk-stack : Suite ELK&lt;br /&gt;
* https://logz.io/blog/grafana-vs-kibana/ : Différences entre Grafana et Kibana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45938</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45938"/>
		<updated>2019-11-24T12:19:14Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Abstract */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dashboard grafana vt2019.png|600px|thumb|Exemple de Dashboard avec Grafana]]&lt;br /&gt;
=Abstract=&lt;br /&gt;
In a world where our IT structure is absolutely critical, even to the point where our lives could depend on it, we need some tools to assure that a system is working accordingly to its specs. That&#039;s where Performance Monitoring comes into play. It is composed of three main parts that are gathering, storing and visualing performance metrics. With the help of performance monitoring we can develop automated actions in case of failures, and even better, anticipate these failures to keep the systems running.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;br /&gt;
* https://www.elastic.co/fr/what-is/elk-stack : Suite ELK&lt;br /&gt;
* https://logz.io/blog/grafana-vs-kibana/ : Différences entre Grafana et Kibana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45937</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45937"/>
		<updated>2019-11-24T12:12:14Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dashboard grafana vt2019.png|600px|thumb|Exemple de Dashboard avec Grafana]]&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;br /&gt;
* https://www.elastic.co/fr/what-is/elk-stack : Suite ELK&lt;br /&gt;
* https://logz.io/blog/grafana-vs-kibana/ : Différences entre Grafana et Kibana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45936</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45936"/>
		<updated>2019-11-24T12:11:53Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dashboard grafana vt2019.png|1000px|thumb|Exemple de Dashboard avec Grafana]]&lt;br /&gt;
=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;br /&gt;
* https://www.elastic.co/fr/what-is/elk-stack : Suite ELK&lt;br /&gt;
* https://logz.io/blog/grafana-vs-kibana/ : Différences entre Grafana et Kibana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Dashboard_grafana_vt2019.png&amp;diff=45935</id>
		<title>File:Dashboard grafana vt2019.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Dashboard_grafana_vt2019.png&amp;diff=45935"/>
		<updated>2019-11-24T12:09:45Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45934</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45934"/>
		<updated>2019-11-24T12:09:02Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;br /&gt;
* https://www.elastic.co/fr/what-is/elk-stack : Suite ELK&lt;br /&gt;
* https://logz.io/blog/grafana-vs-kibana/ : Différences entre Grafana et Kibana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45933</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45933"/>
		<updated>2019-11-24T12:06:51Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;br /&gt;
* https://techblog.commercetools.com/adding-consistency-and-automation-to-grafana-e99eb374fe40 : Comment automatiser Grafana&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45932</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45932"/>
		<updated>2019-11-24T12:04:52Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
[[File:Elk.png|thumb|800px|Fonctionnement de la solution ELK]]&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Elk.png&amp;diff=45931</id>
		<title>File:Elk.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Elk.png&amp;diff=45931"/>
		<updated>2019-11-24T12:04:10Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45930</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45930"/>
		<updated>2019-11-24T12:00:00Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45929</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45929"/>
		<updated>2019-11-24T11:59:20Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45928</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45928"/>
		<updated>2019-11-24T11:57:33Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement de la solution Telegraf + InfluxDB + Grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45927</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45927"/>
		<updated>2019-11-24T11:56:49Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|thumb|800px|Fonctionnement telegraf + influxdb + grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45926</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45926"/>
		<updated>2019-11-24T11:55:51Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|800px|Fonctionnement telegraf + influxdb + grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45925</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45925"/>
		<updated>2019-11-24T11:55:28Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|600px|right|Fonctionnement telegraf + influxdb + grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45924</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45924"/>
		<updated>2019-11-24T11:54:38Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|800px|right|Fonctionnement telegraf + influxdb + grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45923</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45923"/>
		<updated>2019-11-24T11:54:20Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
[[File:Telegrafinfluxdbgrafana.png|right|Fonctionnement telegraf + influxdb + grafana]]&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Telegrafinfluxdbgrafana.png&amp;diff=45922</id>
		<title>File:Telegrafinfluxdbgrafana.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Telegrafinfluxdbgrafana.png&amp;diff=45922"/>
		<updated>2019-11-24T11:52:27Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45921</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45921"/>
		<updated>2019-11-24T11:39:39Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
==Autres outils==&lt;br /&gt;
On peut citer quelques outils qui sont aussi utilisés :&lt;br /&gt;
* Graphite, qui est une solution &amp;quot;tout-en-un&amp;quot;, qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web. Aujourd&#039;hui il peut toujours servir de backend et être connecté à Grafana par exemple.&lt;br /&gt;
* Prometheus qui est un autre backend capable de récolter des métriques, les stocker, et les afficher en utilisant Grafana.&lt;br /&gt;
&lt;br /&gt;
et beaucoup d&#039;autres encore.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45920</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45920"/>
		<updated>2019-11-24T11:32:58Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Kibana */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite (qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web) et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
Kibana est l&#039;outil de visualisation de la suite ELK. Il fournit toutes les fonctions nécessaire à la visualisation des données indexée dans ElasticSearch.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45919</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45919"/>
		<updated>2019-11-24T11:30:26Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* ElasticSearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite (qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web) et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
Outil principal de la suite Elastic, ElasticSearch est un moteur de recherche distribué très populaire en entreprise. Il permet de faire des recherches sur des documents en temps réel à travers une interface REST. Etant distribué, ElasticSearch supporte une montée en charge très facilement.&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45918</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45918"/>
		<updated>2019-11-24T11:27:18Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Logstash */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite (qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web) et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
Logstash est un outil de collecte, d&#039;analyse et de stockage de logs informatiques générés par tout type d&#039;applications. Il fait partie de la famille des ETL (pour Extract-Transform-Load). Logstash peut donc récolter des logs, les filtrer, les analyser, et en extraire des informations.&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45911</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45911"/>
		<updated>2019-11-24T11:00:31Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* ELK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite (qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web) et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;ELK&amp;quot;==&lt;br /&gt;
===Logstash===&lt;br /&gt;
&lt;br /&gt;
===ElasticSearch===&lt;br /&gt;
&lt;br /&gt;
===Kibana===&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45910</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45910"/>
		<updated>2019-11-24T10:59:23Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Telegraf + influxdb + Grafana */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Solution &amp;quot;Telegraf + influxdb + Grafana&amp;quot;==&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite (qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web) et Prometheus.&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45909</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45909"/>
		<updated>2019-11-24T10:57:20Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Exemple d&amp;#039;outils utilisés ensemble */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
Comme vu précédemment, on distingue trois parties différentes dans un système de performance monitoring. Bien qu&#039;il existe de nombreux outils de récolte de données, de stockage et de visualisation, on retrouve généralement les mêmes outils utilisés ensemble pour leurs cohérences et leurs compatibilité.&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples d&#039;outils utilisés ensemble :&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
===Telegraf===&lt;br /&gt;
Telegraf est un agent écrit en langage Go utilisé pour la collecte de métriques de performance du système sur lequel il est executé, et sur les services tournant sur ce même système. Il a été designé dans l&#039;optique d&#039;être très léger en utilisation mémoire, avec un système de plug-ins à intégrer en fonction des besoins du développeur, permettant de créer un telegraf &amp;quot;sur mesure&amp;quot;. Il est donc très facile pour les développeurs de créer de nouveaux plugins pour collecter de nouvelles métriques. Il se connecte très facilement à InfluxDB ou tout autre service de base de données supporté.&lt;br /&gt;
&lt;br /&gt;
===Influxdb===&lt;br /&gt;
InfluxDB est un système de gestion de base de données orientée séries chronologiques. Cela veut dire qu&#039;InfluxDB est optimisé pour du stockage rapide avec très haute disponibilité de données estampillées avec une notion de temps. De fait, c&#039;est un moyen de stockage idéal pour des métriques de performances qui sont forcément chronologiques, des données de capteurs IoT, ou n&#039;importe quelle utilisation avec des données en temps réel. InfluxDB est également écrit en Go.&lt;br /&gt;
&lt;br /&gt;
===Grafana===&lt;br /&gt;
Grafana est une interface permettant la visualisation et la mise en forme de données métriques. Grafana représente donc la partie visible de notre monitoring de performance en proposant des dashboards customisable très rapidement et permettant d&#039;avoir une vue d&#039;ensemble sur toutes les données que l&#039;on agrège, en temps réel. Grafana est compatible avec plusieurs sources, dont InfluxDB, Graphite (qui était un système de performance très utilisé avant l&#039;arrivée des interface de visualisation web) et Prometheus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45908</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45908"/>
		<updated>2019-11-24T10:39:42Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
Que ce soit au niveau d&#039;une application web, d&#039;un réseau ou d&#039;un serveur, si un élément est ralenti ou en panne, c&#039;est toute l&#039;experience utilisateur qui peut en souffrir. Il est ainsi primordial de pouvoir surveiller les métriques de tous nos systèmes en temps réel pour pouvoir agir le plus rapidement possible en cas de problème, mais surtout pour pouvoir anticiper ces problèmes avant même qu&#039;il n&#039;ai lieu grace à l&#039;analyse des données. C&#039;est pour cette raison que la notion de performance monitoring est aujourd&#039;hui primordiale pour tout système jugé critique.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45907</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45907"/>
		<updated>2019-11-24T10:34:35Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
===Recolte des données===&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
===Stockage des données===&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
===Visualisation et analyse des données===&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45906</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45906"/>
		<updated>2019-11-24T10:32:30Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Fonctionnement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
* La récolte des données&lt;br /&gt;
* Le stockage des données&lt;br /&gt;
* La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
==Recolte des données==&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
==Stockage des données==&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
==Visualisation et analyse des données==&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45905</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45905"/>
		<updated>2019-11-24T10:32:16Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Importance du monitoring de performance dans le domaine du web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
- La récolte des données&lt;br /&gt;
&lt;br /&gt;
- Le stockage des données&lt;br /&gt;
&lt;br /&gt;
- La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
==Recolte des données==&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
==Stockage des données==&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
==Visualisation et analyse des données==&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
* Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
* Le temps de chargement de la page&lt;br /&gt;
* La durée du rendu côté client&lt;br /&gt;
* La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45904</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45904"/>
		<updated>2019-11-24T10:31:57Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
- La récolte des données&lt;br /&gt;
&lt;br /&gt;
- Le stockage des données&lt;br /&gt;
&lt;br /&gt;
- La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
==Recolte des données==&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
==Stockage des données==&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
==Visualisation et analyse des données==&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
- Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
&lt;br /&gt;
- Le temps de chargement de la page&lt;br /&gt;
&lt;br /&gt;
- La durée du rendu côté client&lt;br /&gt;
&lt;br /&gt;
- La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://neilpatel.com/blog/loading-time/?wide=1 : Conséquences des délais de chargement sur la satisfaction client&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45903</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45903"/>
		<updated>2019-11-24T10:27:13Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
- La récolte des données&lt;br /&gt;
&lt;br /&gt;
- Le stockage des données&lt;br /&gt;
&lt;br /&gt;
- La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
==Recolte des données==&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
==Stockage des données==&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
==Visualisation et analyse des données==&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
- Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
&lt;br /&gt;
- Le temps de chargement de la page&lt;br /&gt;
&lt;br /&gt;
- La durée du rendu côté client&lt;br /&gt;
&lt;br /&gt;
- La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45902</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45902"/>
		<updated>2019-11-24T10:26:21Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: /* Recolte des données */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
- Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
&lt;br /&gt;
- Le temps de chargement de la page&lt;br /&gt;
&lt;br /&gt;
- La durée du rendu côté client&lt;br /&gt;
&lt;br /&gt;
- La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
- La récolte des données&lt;br /&gt;
&lt;br /&gt;
- Le stockage des données&lt;br /&gt;
&lt;br /&gt;
- La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
==Recolte des données==&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), des réseaux et leurs charges, voir même des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
==Stockage des données==&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
==Visualisation et analyse des données==&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45901</id>
		<title>VT2019 Performance Monitoring</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2019_Performance_Monitoring&amp;diff=45901"/>
		<updated>2019-11-24T10:24:41Z</updated>

		<summary type="html">&lt;p&gt;Damien.Wykland: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Abstract=&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Né du besoin de surveiller la disponibilité, le temps de réponse et le comportement de nos applications et services courants, le performance monitoring (surveillance des performances) n&#039;est en réalité qu&#039;une suite d&#039;outils permettant de suivre de bout en bout les données émanant de la ou les source(s) que l&#039;on veut surveiller, jusqu&#039;à une interface lisible, permettant de faire ressortir toutes éventuelles irrégularités et de lancer des alertes si nécessaire.&lt;br /&gt;
&lt;br /&gt;
=Importance du monitoring de performance dans le domaine du web=&lt;br /&gt;
Différentes études montrent qu&#039;un site web qui met trois secondes à charger fait perdre 40% de ses visiteurs. Le délai entre chaque changement de pages contribue aussi grandement à détourner les clients. Dans un marché ou la concurrence est rude, il est aujourd&#039;hui indispensable d&#039;avoir un site qui est non seulement rapide mais sans bugs et sur tout support (mobile et desktop).&lt;br /&gt;
On va ainsi surveiller plusieurs métriques, en voici quelques exemples :&lt;br /&gt;
&lt;br /&gt;
- Le temps jusqu&#039;à l&#039;arrivée du premier octet au client&lt;br /&gt;
&lt;br /&gt;
- Le temps de chargement de la page&lt;br /&gt;
&lt;br /&gt;
- La durée du rendu côté client&lt;br /&gt;
&lt;br /&gt;
- La durée du DNS..&lt;br /&gt;
&lt;br /&gt;
=Fonctionnement=&lt;br /&gt;
&lt;br /&gt;
La plupart des solutions de performance monitoring peuvent être décomposés en trois parties distinctes :&lt;br /&gt;
&lt;br /&gt;
- La récolte des données&lt;br /&gt;
&lt;br /&gt;
- Le stockage des données&lt;br /&gt;
&lt;br /&gt;
- La visualisation et l&#039;analyse des données&lt;br /&gt;
&lt;br /&gt;
==Recolte des données==&lt;br /&gt;
La recolte de données est la première étape pour toute surveillance de données. Les métriques surveillées peuvent être très diverses, donc les moyens de les récolter varient tout autant. Heureusement l&#039;idée est simple : il suffit de récolter les données à partir d&#039;une source et de les écrire dans la base de donnée. Ces sources sont aujourd&#039;hui très variées, il est possible de surveiller des serveurs, des bases de données, toute application produisant des logs (sites webs, application mobiles), mais aussi des utilisateurs directement. On peut inclure aujourd&#039;hui toutes les données émanant des capteurs de l&#039;Internet of Things, qui représentent une source conséquente de données dont la majorité a pour unique vocation d&#039;être monitoré (température, surveillance..)&lt;br /&gt;
&lt;br /&gt;
Ainsi, beaucoup d&#039;outils sont disponibles avec des plug-ins permettant d&#039;adapter la récolte des données à tout projets existants relativement facilement. Cependant, les métriques recherchées sont souvent bas niveau (charge CPU, charge réseau, RAM utilisée..), ainsi l&#039;application de récolte doit être installée directement sur tous les systèmes que l&#039;on souhaite surveiller.&lt;br /&gt;
&lt;br /&gt;
==Stockage des données==&lt;br /&gt;
Afin de pouvoir stocker toutes les données générée par les systèmes et récupérée par l&#039;outil de récolte, il est judicieux de faire appel à des bases de données temporelle. En effet, ce sont des bases de données qui sont pensées pour fonctionner avec une notion de temps. Ainsi, il est possible de stocker un flux de donnée avec une métrique de temps et de pouvoir très facilement représenter ces données par la suite.&lt;br /&gt;
&lt;br /&gt;
==Visualisation et analyse des données==&lt;br /&gt;
La partie la plus intéressante d&#039;un point de vue monitoring est la visualisation de données. Le principe est de récupérer les métriques de la base de donnée temporelle et de les afficher sur un dashboard de manière concise, lisible et permettant ainsi en un clin d&#039;oeil de repérer les anomalies d&#039;un système ou d&#039;un groupement de systèmes. Aujourd&#039;hui, les outils de visualisation populaire sont des interfaces webs, permettant facilement la visualisation des données à distance. Il est possible de garder le stockage et la visualisation des données sur le même serveur de manière centralisé, comparé aux outils de récolte qui doivent être déployés.&lt;br /&gt;
&lt;br /&gt;
=Exemple d&#039;outils utilisés ensemble=&lt;br /&gt;
&lt;br /&gt;
==Telegraf + influxdb + Grafana==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ELK==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Démonstration=&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;/div&gt;</summary>
		<author><name>Damien.Wykland</name></author>
	</entry>
</feed>