<?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=Thibaut.Nouguier</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=Thibaut.Nouguier"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Thibaut.Nouguier"/>
	<updated>2026-06-01T09:43:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=R%C3%A9sultats_-_Gestionnaire_de_packages&amp;diff=34798</id>
		<title>Résultats - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=R%C3%A9sultats_-_Gestionnaire_de_packages&amp;diff=34798"/>
		<updated>2017-03-15T15:39:57Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Perspectives d&amp;#039;évolutions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
= Réalisations =&lt;br /&gt;
== Frontend ==&lt;br /&gt;
&#039;&#039;&#039;Authentification&#039;&#039;&#039;&lt;br /&gt;
* Authentification avec auth0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des packages&#039;&#039;&#039;&lt;br /&gt;
* L&#039;affichage des packages à partir de la base de données (API) est fonctionnelle.&lt;br /&gt;
* Les différents filtres pour trier les packages sont fonctionnels.&lt;br /&gt;
* La recherche par mots-clés est opérationnelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des tickets&#039;&#039;&#039;&lt;br /&gt;
* Fonctionnement similaire à la visualisation des packages. Les fonctionnalités disponibles sont les mêmes.&lt;br /&gt;
* Un système de vote a été mis en place pour indiquer la &amp;quot;popularité&amp;quot; d&#039;un package.&lt;br /&gt;
* Un bouton est affiché si l&#039;utilisateur est administrateur.&lt;br /&gt;
* Le système de vote +/- est fonctionnel. L&#039;utilisateur peut ajouter/supprimer/mettre à jour son vote.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Formulaire de dépôt d&#039;un package&#039;&#039;&#039;&lt;br /&gt;
* Il est possible de remplir le formulaire pour ajouter un ticket. Le ticket est ajouté à la base de données sous forme d&#039;un fichier JSON.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FAQ&#039;&#039;&#039;&lt;br /&gt;
* La page de FAQ est lue à partir de deux fichiers JSON contenant les différents tutoriels ainsi que les questions de la FAQ pour faciliter la modification du contenu en fonction des besoins des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
== Backend-controller ==&lt;br /&gt;
* Authentification avec auth0 et un token JWT propre à notre application&lt;br /&gt;
* Gestion complète du modèle défini pendant la phase de conception&lt;br /&gt;
* Tests automatiques du modèle de l&#039;API (tests internes)&lt;br /&gt;
* Tests automatiques de l&#039;interface REST de l&#039;API (test externes)&lt;br /&gt;
&lt;br /&gt;
== Backend-builder ==&lt;br /&gt;
Le builder gère les types de projet suivants :&lt;br /&gt;
* ant&lt;br /&gt;
* exécutables / binaires&lt;br /&gt;
* gradle&lt;br /&gt;
* makefile&lt;br /&gt;
* maven&lt;br /&gt;
et produit un package en conséquence.&lt;br /&gt;
&lt;br /&gt;
= Perspectives d&#039;évolutions =&lt;br /&gt;
&lt;br /&gt;
== Frontend ==&lt;br /&gt;
* Implémenter dans la vue Tickets le système de tri par résultat des votes&lt;br /&gt;
* Les tickets créés ne sont pas liés au code joint dans le formulaire (tarball, git...). Il faut compléter la gestion du formulaire tout en faisant attention au soucis de sécurité lié à l&#039;acquisition de code source.&lt;br /&gt;
&lt;br /&gt;
== Backend-controller ==&lt;br /&gt;
* L&#039;utilisation de mongodb implique que la gestion de clé étrangères doit être géré manuellement. Actuellement, les clés sont vérifiés lors de la création d&#039;objets mais pas de leurs suppression. Des objets orphelins peuvent donc exister.&lt;br /&gt;
* Il a été choisi d&#039;utiliser une base de donnée mongodb pour permettre l&#039;upload d&#039;archive (liés aux tickets) directement en base. Mais quel est le risque de sécurité lié ? Une reflexion sur l&#039;intérêt de charger des fichiers plutôt que uniquement des liens est à considérer.&lt;br /&gt;
&lt;br /&gt;
== Backend-builder ==&lt;br /&gt;
* Améliorer la modularité du builder en le rendant plus permissif.&lt;br /&gt;
* Ajouter d&#039;autres types de projet tels que : CMake, SCons, Waf, ...&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=R%C3%A9sultats_-_Gestionnaire_de_packages&amp;diff=34797</id>
		<title>Résultats - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=R%C3%A9sultats_-_Gestionnaire_de_packages&amp;diff=34797"/>
		<updated>2017-03-15T15:38:50Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Backend-builder */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
= Réalisations =&lt;br /&gt;
== Frontend ==&lt;br /&gt;
&#039;&#039;&#039;Authentification&#039;&#039;&#039;&lt;br /&gt;
* Authentification avec auth0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des packages&#039;&#039;&#039;&lt;br /&gt;
* L&#039;affichage des packages à partir de la base de données (API) est fonctionnelle.&lt;br /&gt;
* Les différents filtres pour trier les packages sont fonctionnels.&lt;br /&gt;
* La recherche par mots-clés est opérationnelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des tickets&#039;&#039;&#039;&lt;br /&gt;
* Fonctionnement similaire à la visualisation des packages. Les fonctionnalités disponibles sont les mêmes.&lt;br /&gt;
* Un système de vote a été mis en place pour indiquer la &amp;quot;popularité&amp;quot; d&#039;un package.&lt;br /&gt;
* Un bouton est affiché si l&#039;utilisateur est administrateur.&lt;br /&gt;
* Le système de vote +/- est fonctionnel. L&#039;utilisateur peut ajouter/supprimer/mettre à jour son vote.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Formulaire de dépôt d&#039;un package&#039;&#039;&#039;&lt;br /&gt;
* Il est possible de remplir le formulaire pour ajouter un ticket. Le ticket est ajouté à la base de données sous forme d&#039;un fichier JSON.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FAQ&#039;&#039;&#039;&lt;br /&gt;
* La page de FAQ est lue à partir de deux fichiers JSON contenant les différents tutoriels ainsi que les questions de la FAQ pour faciliter la modification du contenu en fonction des besoins des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
== Backend-controller ==&lt;br /&gt;
* Authentification avec auth0 et un token JWT propre à notre application&lt;br /&gt;
* Gestion complète du modèle défini pendant la phase de conception&lt;br /&gt;
* Tests automatiques du modèle de l&#039;API (tests internes)&lt;br /&gt;
* Tests automatiques de l&#039;interface REST de l&#039;API (test externes)&lt;br /&gt;
&lt;br /&gt;
== Backend-builder ==&lt;br /&gt;
Le builder gère les types de projet suivants :&lt;br /&gt;
* ant&lt;br /&gt;
* exécutables / binaires&lt;br /&gt;
* gradle&lt;br /&gt;
* makefile&lt;br /&gt;
* maven&lt;br /&gt;
et produit un package en conséquence.&lt;br /&gt;
&lt;br /&gt;
= Perspectives d&#039;évolutions =&lt;br /&gt;
&lt;br /&gt;
== Frontend ==&lt;br /&gt;
* Implémenter dans la vue Tickets le système de tri par résultat des votes&lt;br /&gt;
* Les tickets créés ne sont pas liés au code joint dans le formulaire (tarball, git...). Il faut compléter la gestion du formulaire tout en faisant attention au soucis de sécurité lié à l&#039;acquisition de code source.&lt;br /&gt;
&lt;br /&gt;
== Backend-controller ==&lt;br /&gt;
* L&#039;utilisation de mongodb implique que la gestion de clé étrangères doit être géré manuellement. Actuellement, les clés sont vérifiés lors de la création d&#039;objets mais pas de leurs suppression. Des objets orphelins peuvent donc exister.&lt;br /&gt;
* Il a été choisi d&#039;utiliser une base de donnée mongodb pour permettre l&#039;upload d&#039;archive (liés aux tickets) directement en base. Mais quel est le risque de sécurité lié ? Une reflexion sur l&#039;intérêt de charger des fichiers plutôt que uniquement des liens est à considérer.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=R%C3%A9sultats_-_Gestionnaire_de_packages&amp;diff=34796</id>
		<title>Résultats - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=R%C3%A9sultats_-_Gestionnaire_de_packages&amp;diff=34796"/>
		<updated>2017-03-15T15:38:30Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Réalisations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
= Réalisations =&lt;br /&gt;
== Frontend ==&lt;br /&gt;
&#039;&#039;&#039;Authentification&#039;&#039;&#039;&lt;br /&gt;
* Authentification avec auth0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des packages&#039;&#039;&#039;&lt;br /&gt;
* L&#039;affichage des packages à partir de la base de données (API) est fonctionnelle.&lt;br /&gt;
* Les différents filtres pour trier les packages sont fonctionnels.&lt;br /&gt;
* La recherche par mots-clés est opérationnelle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des tickets&#039;&#039;&#039;&lt;br /&gt;
* Fonctionnement similaire à la visualisation des packages. Les fonctionnalités disponibles sont les mêmes.&lt;br /&gt;
* Un système de vote a été mis en place pour indiquer la &amp;quot;popularité&amp;quot; d&#039;un package.&lt;br /&gt;
* Un bouton est affiché si l&#039;utilisateur est administrateur.&lt;br /&gt;
* Le système de vote +/- est fonctionnel. L&#039;utilisateur peut ajouter/supprimer/mettre à jour son vote.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Formulaire de dépôt d&#039;un package&#039;&#039;&#039;&lt;br /&gt;
* Il est possible de remplir le formulaire pour ajouter un ticket. Le ticket est ajouté à la base de données sous forme d&#039;un fichier JSON.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FAQ&#039;&#039;&#039;&lt;br /&gt;
* La page de FAQ est lue à partir de deux fichiers JSON contenant les différents tutoriels ainsi que les questions de la FAQ pour faciliter la modification du contenu en fonction des besoins des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
== Backend-controller ==&lt;br /&gt;
* Authentification avec auth0 et un token JWT propre à notre application&lt;br /&gt;
* Gestion complète du modèle défini pendant la phase de conception&lt;br /&gt;
* Tests automatiques du modèle de l&#039;API (tests internes)&lt;br /&gt;
* Tests automatiques de l&#039;interface REST de l&#039;API (test externes)&lt;br /&gt;
&lt;br /&gt;
== Backend-builder ==&lt;br /&gt;
* Le builder gère les types de projet suivants :&lt;br /&gt;
** ant&lt;br /&gt;
** exécutables / binaires&lt;br /&gt;
** gradle&lt;br /&gt;
** makefile&lt;br /&gt;
** maven&lt;br /&gt;
et produit un package en conséquence.&lt;br /&gt;
&lt;br /&gt;
= Perspectives d&#039;évolutions =&lt;br /&gt;
&lt;br /&gt;
== Frontend ==&lt;br /&gt;
* Implémenter dans la vue Tickets le système de tri par résultat des votes&lt;br /&gt;
* Les tickets créés ne sont pas liés au code joint dans le formulaire (tarball, git...). Il faut compléter la gestion du formulaire tout en faisant attention au soucis de sécurité lié à l&#039;acquisition de code source.&lt;br /&gt;
&lt;br /&gt;
== Backend-controller ==&lt;br /&gt;
* L&#039;utilisation de mongodb implique que la gestion de clé étrangères doit être géré manuellement. Actuellement, les clés sont vérifiés lors de la création d&#039;objets mais pas de leurs suppression. Des objets orphelins peuvent donc exister.&lt;br /&gt;
* Il a été choisi d&#039;utiliser une base de donnée mongodb pour permettre l&#039;upload d&#039;archive (liés aux tickets) directement en base. Mais quel est le risque de sécurité lié ? Une reflexion sur l&#039;intérêt de charger des fichiers plutôt que uniquement des liens est à considérer.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Documentation_-_Gestionnaire_de_packages&amp;diff=34777</id>
		<title>Documentation - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Documentation_-_Gestionnaire_de_packages&amp;diff=34777"/>
		<updated>2017-03-15T13:46:33Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
== Documentation pour le Backend Builder ==&lt;br /&gt;
https://github.com/Packebian/Backend-builder/blob/master/README.md&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Documentation_-_Gestionnaire_de_packages&amp;diff=34776</id>
		<title>Documentation - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Documentation_-_Gestionnaire_de_packages&amp;diff=34776"/>
		<updated>2017-03-15T13:46:17Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: Created page with &amp;quot;Documentation : Gestionnaire de package.   &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du projet&amp;#039;&amp;#039;&amp;#039;  == Documentation pour le Backend Builder == http...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Documentation : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
== Documentation pour le Backend Builder ==&lt;br /&gt;
https://github.com/Packebian/Backend-builder/blob/master/README.md&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projet_2017_:_Gestionnaire_de_packages_Polytech&amp;diff=34775</id>
		<title>Projet 2017 : Gestionnaire de packages Polytech</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projet_2017_:_Gestionnaire_de_packages_Polytech&amp;diff=34775"/>
		<updated>2017-03-15T13:45:10Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Projets_2016-2017| &#039;&#039;&#039;Lien vers la page des projets RICM5&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Durant les 3 années de RICM, de nombreux logiciels et bibliothèques d&#039;outils sont utilisés pour des TP et des projets. Beaucoup de temps est passé durant les séances de TP à installer tous ces outils sur les machines des étudiants. Pour résoudre ce problème, nous avons voulu travailler sur une solution permettant aux étudiants d&#039;installer tous ces outils plus rapidement.&lt;br /&gt;
&lt;br /&gt;
Le but de notre projet est d&#039;établir un catalogue des outils nécessaires au cursus RICM, et de mettre à disposition des outils pour les enseignants pour qu&#039;il puissent proposer eux mêmes des packages à installer.&lt;br /&gt;
Pour réaliser cela, nous avons décidé de créer un gestionnaire de package qui permet d&#039;uniformiser l&#039;installation des outils proposés par les enseignants, grâce à la création de packages Debian facilement déployables sur les machines Linux des étudiants.&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
* [[Documentation - Gestionnaire de packages| &#039;&#039;&#039;Documentation&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Gestionnaire de packages| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Fiche de suivi - Gestionnaire de packages| &#039;&#039;&#039;Fiche de suivi&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Gestionnaire de packages| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [[Conception - Gestionnaire de packages| &#039;&#039;&#039;Conception&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[Deploiement - Gestionnaire de packages| &#039;&#039;&#039;Déploiement&#039;&#039;&#039;]]&lt;br /&gt;
* [[Management de projet innovant - Gestionnaire de packages| &#039;&#039;&#039;Management de projet innovant&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:PackagesRappotBilan.pdf|&#039;&#039;&#039;Rapport de projet - MPI&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:PackagesPresentationConception.pdf|&#039;&#039;&#039;Présentation intermédiaire&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:PackagesPresentationFinale.pdf| &#039;&#039;&#039;Présentation finale&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Liens du projet =&lt;br /&gt;
* [https://github.com/Packebian &#039;&#039;&#039;Dépôt Git&#039;&#039;&#039;]&lt;br /&gt;
* [[Liens - Gestionnaire de packages| &#039;&#039;&#039;Liens utiles&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34508</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34508"/>
		<updated>2017-03-13T17:25:01Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Semaine 8 : 13/03 - 19/03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le lancement de l&#039;image docker du Backend-Controller-env&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
* Renseignement sur chroot pour le builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Lancement de l&#039;image Docker du Backend-Controller-env&lt;br /&gt;
* Travail sur le lancement de l&#039;API en local pour intégrer au FrontEnd&lt;br /&gt;
* Début d&#039;intégration de l&#039;API au FrontEnd&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Réinstallation de l’environnement suite à un bug inconnu&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Début mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Suite de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Test du builder avec des scripts comme sources&lt;br /&gt;
* Packaging de Procesim pour les RICM3&lt;br /&gt;
* Correction de plusieurs erreurs du builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Complétion de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
* Utilisation d&#039;un environnement unique pour effectuer le développement, la production, les tests dredd et les tests mocha (tests du model)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
* Test du builder avec un projet maven&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue du 3e sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : intégration de l&#039;API (création/modification d&#039;un vote)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le backend&lt;br /&gt;
** Correction d&#039;un bug lié au calcul des résultat des votes&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Création [http://air.imag.fr/images/5/5e/PackagesRappotBilan.pdf &#039;&#039;&#039;du dossier MPI&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du système de votes&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
** Refactoring&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du système de votes&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend. &lt;br /&gt;
** Création de services&lt;br /&gt;
** Début mise en place du login avec auth0&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du formulaire de contibution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Participation à l&#039;Eclipse IOT Day&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du formulaire de contribution&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend. &lt;br /&gt;
** Mise en place du login avec auth0&lt;br /&gt;
* Travail sur la Backend-controller&lt;br /&gt;
** Mise en place du login avec auth0&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : finalisation du formulaire de contribution&lt;br /&gt;
* Travail sur l&#039;interface Web : Commentaire du code HTML&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Version 2.0 du builder permettant l&#039;implémentation d&#039;un nouveau type de projet plus facilement&lt;br /&gt;
* Modification de chaque cas en conséquences de la nouvelle version du builder&lt;br /&gt;
* Commentaire du code&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Fin du Projet ==&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34507</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34507"/>
		<updated>2017-03-13T17:24:36Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Vendredi 17 Mars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le lancement de l&#039;image docker du Backend-Controller-env&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
* Renseignement sur chroot pour le builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Lancement de l&#039;image Docker du Backend-Controller-env&lt;br /&gt;
* Travail sur le lancement de l&#039;API en local pour intégrer au FrontEnd&lt;br /&gt;
* Début d&#039;intégration de l&#039;API au FrontEnd&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Réinstallation de l’environnement suite à un bug inconnu&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Début mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Suite de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Test du builder avec des scripts comme sources&lt;br /&gt;
* Packaging de Procesim pour les RICM3&lt;br /&gt;
* Correction de plusieurs erreurs du builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Complétion de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
* Utilisation d&#039;un environnement unique pour effectuer le développement, la production, les tests dredd et les tests mocha (tests du model)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
* Test du builder avec un projet maven&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue du 3e sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : intégration de l&#039;API (création/modification d&#039;un vote)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le backend&lt;br /&gt;
** Correction d&#039;un bug lié au calcul des résultat des votes&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Création [http://air.imag.fr/images/5/5e/PackagesRappotBilan.pdf &#039;&#039;&#039;du dossier MPI&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du système de votes&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
** Refactoring&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du système de votes&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend. &lt;br /&gt;
** Création de services&lt;br /&gt;
** Début mise en place du login avec auth0&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du formulaire de contibution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Participation à l&#039;Eclipse IOT Day&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du formulaire de contribution&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend. &lt;br /&gt;
** Mise en place du login avec auth0&lt;br /&gt;
* Travail sur la Backend-controller&lt;br /&gt;
** Mise en place du login avec auth0&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : finalisation du formulaire de contribution&lt;br /&gt;
* Travail sur l&#039;interface Web : Commentaire du code HTML&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Version 2.0 du builder permettant l&#039;implémentation d&#039;un nouveau type de projet plus facilement&lt;br /&gt;
* Modification de chaque cas en conséquences de la nouvelle version du builder&lt;br /&gt;
* Commentaire du code&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Fin du Projet ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34506</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34506"/>
		<updated>2017-03-13T17:23:49Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Lundi 13 Mars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le lancement de l&#039;image docker du Backend-Controller-env&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
* Renseignement sur chroot pour le builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Lancement de l&#039;image Docker du Backend-Controller-env&lt;br /&gt;
* Travail sur le lancement de l&#039;API en local pour intégrer au FrontEnd&lt;br /&gt;
* Début d&#039;intégration de l&#039;API au FrontEnd&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Réinstallation de l’environnement suite à un bug inconnu&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Début mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Suite de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Test du builder avec des scripts comme sources&lt;br /&gt;
* Packaging de Procesim pour les RICM3&lt;br /&gt;
* Correction de plusieurs erreurs du builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Complétion de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
* Utilisation d&#039;un environnement unique pour effectuer le développement, la production, les tests dredd et les tests mocha (tests du model)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
* Test du builder avec un projet maven&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue du 3e sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : intégration de l&#039;API (création/modification d&#039;un vote)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le backend&lt;br /&gt;
** Correction d&#039;un bug lié au calcul des résultat des votes&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Création [http://air.imag.fr/images/5/5e/PackagesRappotBilan.pdf &#039;&#039;&#039;du dossier MPI&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du système de votes&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
** Refactoring&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du système de votes&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend. &lt;br /&gt;
** Création de services&lt;br /&gt;
** Début mise en place du login avec auth0&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du formulaire de contibution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Participation à l&#039;Eclipse IOT Day&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : implémentation du formulaire de contribution&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur le Frontend. &lt;br /&gt;
** Mise en place du login avec auth0&lt;br /&gt;
* Travail sur la Backend-controller&lt;br /&gt;
** Mise en place du login avec auth0&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : finalisation du formulaire de contribution&lt;br /&gt;
* Travail sur l&#039;interface Web : Commentaire du code HTML&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Version 2.0 du builder permettant l&#039;implémentation d&#039;un nouveau type de projet plus facilement&lt;br /&gt;
* Modification de chaque cas en conséquences de la nouvelle version du builder&lt;br /&gt;
* Commentaire du code&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Mars ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34317</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34317"/>
		<updated>2017-03-10T09:45:49Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Semaine 7 : 06/03 - 12/03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le lancement de l&#039;image docker du Backend-Controller-env&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
* Renseignement sur chroot pour le builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Lancement de l&#039;image Docker du Backend-Controller-env&lt;br /&gt;
* Travail sur le lancement de l&#039;API en local pour intégrer au FrontEnd&lt;br /&gt;
* Début d&#039;intégration de l&#039;API au FrontEnd&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Réinstallation de l’environnement suite à un bug inconnu&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Début mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Suite de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Test du builder avec des scripts comme sources&lt;br /&gt;
* Packaging de Procesim pour les RICM3&lt;br /&gt;
* Correction de plusieurs erreurs du builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Complétion de la mise en place de tests avec dredd pour tester l&#039;API du backend avec sa description&lt;br /&gt;
* Utilisation d&#039;un environnement unique pour effectuer le développement, la production, les tests dredd et les tests mocha (tests du model)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
* Test du builder avec un projet maven&lt;br /&gt;
&lt;br /&gt;
Régis Ramel &amp;amp; Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : Intégration de l&#039;API et correction des modules Angular&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue du 3e sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur l&#039;interface Web : intégration de l&#039;API (création/modification d&#039;un vote)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
Thibaut Nouguier&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
Thibaut Nouguier&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
Thibaut Nouguier&lt;br /&gt;
* Travail sur le builder&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Mars ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34064</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34064"/>
		<updated>2017-03-03T08:29:14Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Semaine 6 : 27/02 - 05/03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le lancement de l&#039;image docker du Backend-Controller-env&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
* Renseignement sur chroot pour le builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Lancement de l&#039;image Docker du Backend-Controller-env&lt;br /&gt;
* Travail sur le lancement de l&#039;API en local pour intégrer au FrontEnd&lt;br /&gt;
* Début d&#039;intégration de l&#039;API au FrontEnd&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Réinstallation de l’environnement suite à un bug inconnu&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Test du builder avec des scripts comme sources&lt;br /&gt;
* Packaging de Procesim pour les RICM3&lt;br /&gt;
* Correction de plusieurs erreurs du builder&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
* Test du builder avec un projet maven&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Mars ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34063</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34063"/>
		<updated>2017-03-03T08:27:01Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Mercredi 01 Mars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le lancement de l&#039;image docker du Backend-Controller-env&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
* Renseignement sur chroot pour le builder&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Lancement de l&#039;image Docker du Backend-Controller-env&lt;br /&gt;
* Travail sur le lancement de l&#039;API en local pour intégrer au FrontEnd&lt;br /&gt;
* Début d&#039;intégration de l&#039;API au FrontEnd&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Réinstallation de l’environnement suite à un bug inconnu&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Mars ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34021</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34021"/>
		<updated>2017-02-28T15:10:12Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Mardi 28 Février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pout aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pour aptly&lt;br /&gt;
* Renseignement sur chroot pour le builder&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Mars ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34020</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34020"/>
		<updated>2017-02-28T15:09:18Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Lundi 27 Février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Correction mineure sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout de l&#039;appel tickets/:id/votes/results pour obtenir le score d&#039;un ticket (upvotes, downvotes, neutres)&lt;br /&gt;
* Ajout de tests du modèle&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Completion des tests du model du Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Construction automatique de l&#039;image docker du Backend-controller&lt;br /&gt;
* Mise à jour du projet Backend-controller-env pour utiliser cette image&lt;br /&gt;
* Mise en place de la création de la base Mongo à la création du container (utilisation de variables d&#039;environnement)&lt;br /&gt;
&lt;br /&gt;
=== Samedi 25 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Test de l&#039;écriture de la documentation avec Swagger&lt;br /&gt;
* Début de l&#039;écriture de la documentation avec API Blueprint&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : Préparation de l&#039;intégration de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Documentation de l&#039;API&lt;br /&gt;
* Tentative de résolution d&#039;un problème de synchronisation dans l&#039;API (une fonction asynchrone devait être appelée depuis une fonction synchrone du framework qui a été surchargée)&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la création d&#039;une image docker pout aptly&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Résolution du problème de la veille&lt;br /&gt;
* Fin de l&#039;écriture de la documentation&lt;br /&gt;
* Validation de la version 1.0 de l&#039;API&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Mars ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33840</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33840"/>
		<updated>2017-02-17T08:00:15Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Semaine 4 : 13/02 - 19/02 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 Janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le Frontend&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
&lt;br /&gt;
=== Lundi 13 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
* Formation sur le filtrage en angularjs&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur la lecture des packages en Json&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Février ===&lt;br /&gt;
Rémi Gattaz et Régis Ramel :&lt;br /&gt;
* Rencontre avec M. Jean-Marc Palomares, responsable du CAS de l&#039;UGA&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage sur la liste des packages&lt;br /&gt;
** Début de filtrage &amp;quot;complexe&amp;quot; sur ces packages&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Découverte d&#039;un problème avec mysql et waterline (absence de transaction)&lt;br /&gt;
* Remaniement de la BDD pour une migration de mysql vers mongodb&lt;br /&gt;
* Migration vers mongodb&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Revue de sprint&lt;br /&gt;
&lt;br /&gt;
Régis Ramel et Germain Lecorps :&lt;br /&gt;
* Travail sur le FrontEnd&lt;br /&gt;
** Filtrage &amp;quot;complexe&amp;quot; sur la liste des packages&lt;br /&gt;
** Ajout de la liste des tickets&lt;br /&gt;
** Modification de la lecture des Json pour suivre le nouveau&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Fin de la migration vers mongo&lt;br /&gt;
* Complétion de l&#039;API nécessaire à la complétion du Frontend&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 (Vacances) ==&lt;br /&gt;
=== Lundi 20 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 21 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 22 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 23 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 24 Février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
=== Lundi 27 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 28 Février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
=== Lundi 06 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 Mars ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
=== Lundi 13 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 15 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 16 Mars ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 17 Mars ===&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33732</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33732"/>
		<updated>2017-02-14T16:29:20Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Semaine 4 : 13/02 - 19/02 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
&lt;br /&gt;
=== Lundi 13 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Prise de rendez vous avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
=== Mardi 14 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Quatrième séance de MPI : Communication interpersonnelles&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail dans le controller backend&lt;br /&gt;
** Création des classes modèle Ticket, Package et Infos.&lt;br /&gt;
** Mise en place des routes /packages et /tickets&lt;br /&gt;
** Mise en place des liens dans le modèle&lt;br /&gt;
** Création du CRUD au travers de l&#039;API REST sur les ressources Package et Ticket&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33693</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33693"/>
		<updated>2017-02-13T15:39:41Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Lundi 13 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
&lt;br /&gt;
=== Lundi 13 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Rencontre avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33692</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33692"/>
		<updated>2017-02-13T15:38:49Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Vendredi 10 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
&lt;br /&gt;
=== Lundi 13 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Rencontre avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33691</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33691"/>
		<updated>2017-02-13T15:38:29Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Jeudi 09 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Travail sur l&#039;interface Web : Création du formulaire de Contribution&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Mise en place de tests sur le Backend-controller (suite du travail de la veille)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : dynamicité de l&#039;affichage des liens&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 février ===&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz:&lt;br /&gt;
* Automatisation des tests du Backen-controller à chaque commit&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
* Travail sur la séance de MPI : calcul des coûts&lt;br /&gt;
* Travail sur la séance de MPI : préparation de la séance sur la communication interpersonelle&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
&lt;br /&gt;
=== Lundi 13 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réunion pour définir les objectifs de la semaine en vue de la soutenance de mi-parcours&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Travail sur notre modèle de modélisation des données (refonte de la BDD)&lt;br /&gt;
* Rencontre avec le Responsable du service informatique de Polytech&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le cout du projet : Main d&#039;oeuvre, amortissement du matériel&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33597</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33597"/>
		<updated>2017-02-09T10:06:18Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Mercredi 08 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
* Travail sur l&#039;interface Web : amélioration de la page de login&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 février ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33576</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33576"/>
		<updated>2017-02-08T08:33:38Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Mardi 07 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Tutoriel Angular&lt;br /&gt;
* Formation Web&lt;br /&gt;
* Installation des outils&lt;br /&gt;
* Ébauche de site internet&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builder de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 février ===&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Première version d&#039;un Builder de package qui fonctionne pour :&lt;br /&gt;
** un ensemble de fichiers c avec un makefile&lt;br /&gt;
** un script&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* NetBeans Day&lt;br /&gt;
* Terminer composition environnement backend controller&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps et Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 février ===&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur l&#039;interface Web : génération d&#039;une FAQ&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 février ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33559</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33559"/>
		<updated>2017-02-07T09:55:38Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Lundi 06 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Mise en place du scrum (définition des user stories et des tâches)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Ajout des user stories et des tâches dans le wiki&lt;br /&gt;
* Création du tableau scrum sur github&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Formation Angular.js&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
=== Lundi 06 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Troisième séance de MPI : Matrice de risques et Coût du budget&lt;br /&gt;
* Revue de sprint, définition des objectifs du sprint 2&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur le Builer de package&lt;br /&gt;
&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le wiki : (Fiche de Suivi, Scrum, MPI)&lt;br /&gt;
* Travail sur le sprint Scrum&lt;br /&gt;
* Création d&#039;un nouveau projet Angular&lt;br /&gt;
* Push du projet Angular sur GitHub&lt;br /&gt;
* Travail sur un modèle de projet Angular (liens vers d&#039;autres pages)&lt;br /&gt;
&lt;br /&gt;
=== Mardi 07 février ===&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 08 février ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 09 février ===&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 10 février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33119</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33119"/>
		<updated>2017-02-02T15:36:50Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Jeudi 02 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* Définition des actions du Controleur et de l&#039;API&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Travail sur la base de données MySQL&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Définition des routes offerte par l&#039;API du contrôleur dans le backend - [[Conception - Gestionnaire de packages#API_offerte_par_le_contr.C3.B4leur | &#039;&#039;&#039;documentation&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33117</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33117"/>
		<updated>2017-02-02T15:34:20Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Mercredi 01 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33116</id>
		<title>Fiche de suivi - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33116"/>
		<updated>2017-02-02T15:34:06Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Mercredi 01 février */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de suivi du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 23/01 - 29/01 ==&lt;br /&gt;
=== Lundi 23 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Formation du groupe&lt;br /&gt;
* Réflexion sur le sujet avec M. Donsez&lt;br /&gt;
* Envoi d&#039;un mail explicatif à M. Palix et M. Danjean pour prise de rendez-vous&lt;br /&gt;
* Premières réflexions sur une solution de gestion de package&lt;br /&gt;
&lt;br /&gt;
=== Mardi 24 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Réponse aux enseignants&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
Rémi Gattaz, Germain Lecorps et Thibaut Nouguier :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 25 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Entretiens avec M. Palix et M. Danjean pour préciser les exigences du projet, discuter des différentes possibilités et de ce qu&#039;il est possible / intéressant de faire.&lt;br /&gt;
* Formalisation des objectifs du projet.&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 26 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Première séance de MPI : Description du projet, définition des rôles, exercice de map minder&lt;br /&gt;
Rémi Gattaz et Thibaut Nouguier :&lt;br /&gt;
* POC de création de package et d&#039;application d&#039;un fix&lt;br /&gt;
Germain Lecorps:&lt;br /&gt;
* Travail sur le Wiki : SRS&lt;br /&gt;
Régis Ramel :&lt;br /&gt;
* Envoi de la définition du sujet aux enseignants&lt;br /&gt;
* Constitution d&#039;une liste de mail des enseignants pour obtenir la liste des outils nécessaires en RICM&lt;br /&gt;
* Envoi de la demande de recensement des outils requis en RICM&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
=== Lundi 30 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Choix des technologies : Debian + langage de script.&lt;br /&gt;
&lt;br /&gt;
=== Mardi 31 janvier ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Discussion pour le choix des langages : Python et Shell.&lt;br /&gt;
* Conception de la structure détaillée de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Création d&#039;un repository local avec des packages Debian basiques (Reprepro)&lt;br /&gt;
* Installation des paquets Debian depuis le repository local&lt;br /&gt;
* Sécurisation du repository via des clés RSA&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Reprepro&lt;br /&gt;
* Utilisation de Reprepro dans un container docker (pour environnement de dev)&lt;br /&gt;
* Interview par les étudiants PEIP&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Mise au propre de la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki : Conception de l&#039;application&lt;br /&gt;
* Travail sur le SRS : Fonctionnement de l&#039;application&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Préparation de l’environnement de développement Web&lt;br /&gt;
&lt;br /&gt;
=== Mercredi 01 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
Thibaut Nouguier :&lt;br /&gt;
* Recherches complémentaires sur l&#039;utilisateion de reprepro&lt;br /&gt;
* Simulation d&#039;un cas d&#039;utilisation avec reprepro en utilisant des clés GPG (master key, signing key, encryption key)&lt;br /&gt;
&lt;br /&gt;
Rémi Gattaz :&lt;br /&gt;
* Recherches sur Aptly&lt;br /&gt;
* Utilisation de Aptly dans un container docker (pour environnement de dev)&lt;br /&gt;
&lt;br /&gt;
Régis Ramel : &lt;br /&gt;
* Travail sur la structure de l&#039;application&lt;br /&gt;
* Travail sur le Wiki&lt;br /&gt;
* Installation de Netbeans pour HTML5/Javascript&lt;br /&gt;
&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* [[Maquette - Gestionnaire de packages| &#039;&#039;&#039;Maquettes&#039;&#039;&#039;]] de l&#039;interface Web&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&lt;br /&gt;
Travail de groupe :&lt;br /&gt;
* Deuxième séance de MPI : Exercice de Brainstorming, exercice de pitch&lt;br /&gt;
&lt;br /&gt;
=== Vendredi 03 février ===&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 06/02 - 12/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 13/02 - 19/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 20/02 - 26/02 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 27/02 - 05/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 06/03 - 12/03 ==&lt;br /&gt;
Travail réalisé :&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 13/03 - 19/03 ==&lt;br /&gt;
Travail réalisé :&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33113</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33113"/>
		<updated>2017-02-02T13:47:19Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Ensemble des fonctionnalités BackEnd à implémenter : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository : (Administrateur)&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : NodeJS (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Visualisation des tickets :&lt;br /&gt;
** ticket de création de package&lt;br /&gt;
** ticket de mise à jour d&#039;un package&lt;br /&gt;
* Suppression d&#039;un ticket de création d&#039;un package / ticket de mise à jour d&#039;un package par le créateur ou un administrateur&lt;br /&gt;
* Visualisation des logs pour les build de packages (Administrateur)&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, CSS3, AngularJS&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi Javascript avec l&#039;utilisation de micro-services qui vont permettre une gestion de CLI et de l&#039;API.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur Aptly.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33112</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33112"/>
		<updated>2017-02-02T13:46:36Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Ensemble des fonctionnalités BackEnd à implémenter : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository : (Administrateur)&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : Python (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Visualisation des tickets :&lt;br /&gt;
** ticket de création de package&lt;br /&gt;
** ticket de mise à jour d&#039;un package&lt;br /&gt;
* Suppression d&#039;un ticket de création d&#039;un package / ticket de mise à jour d&#039;un package par le créateur ou un administrateur&lt;br /&gt;
* Visualisation des logs pour les build de packages (Administrateur)&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, CSS3, AngularJS&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi Javascript avec l&#039;utilisation de micro-services qui vont permettre une gestion de CLI et de l&#039;API.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur Aptly.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33111</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33111"/>
		<updated>2017-02-02T13:45:47Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Ensemble des fonctionnalités FrontEnd à implémenter : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository :&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : Python (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Visualisation des tickets :&lt;br /&gt;
** ticket de création de package&lt;br /&gt;
** ticket de mise à jour d&#039;un package&lt;br /&gt;
* Suppression d&#039;un ticket de création d&#039;un package / ticket de mise à jour d&#039;un package par le créateur ou un administrateur&lt;br /&gt;
* Visualisation des logs pour les build de packages (Administrateur)&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, CSS3, AngularJS&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi Javascript avec l&#039;utilisation de micro-services qui vont permettre une gestion de CLI et de l&#039;API.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur Aptly.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33110</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33110"/>
		<updated>2017-02-02T13:42:07Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Choix des technologies pour le Repository : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository :&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : Python (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Visualisation des tickets :&lt;br /&gt;
** ticket de création de package&lt;br /&gt;
** ticket de mise à jour d&#039;un package&lt;br /&gt;
* Suppression d&#039;un ticket de création d&#039;un package / ticket de mise à jour d&#039;un package&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, CSS3, AngularJS&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi Javascript avec l&#039;utilisation de micro-services qui vont permettre une gestion de CLI et de l&#039;API.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur Aptly.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33109</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33109"/>
		<updated>2017-02-02T13:41:17Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Ensemble des fonctionnalités FrontEnd à implémenter : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository :&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : Python (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Visualisation des tickets :&lt;br /&gt;
** ticket de création de package&lt;br /&gt;
** ticket de mise à jour d&#039;un package&lt;br /&gt;
* Suppression d&#039;un ticket de création d&#039;un package / ticket de mise à jour d&#039;un package&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, CSS3, AngularJS&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi Javascript avec l&#039;utilisation de micro-services qui vont permettre une gestion de CLI et de l&#039;API.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur XXX.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33108</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33108"/>
		<updated>2017-02-02T13:37:41Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Choix des langages : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository :&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : Python (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Suppression d&#039;un package existant par l&#039;utilisateur qui a demandé sa création&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, CSS3, AngularJS&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi Javascript avec l&#039;utilisation de micro-services qui vont permettre une gestion de CLI et de l&#039;API.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur XXX.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33107</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33107"/>
		<updated>2017-02-02T13:35:53Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Ensemble des fonctionnalités FrontEnd à implémenter : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository :&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : Python (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Suppression d&#039;un package existant par l&#039;utilisateur qui a demandé sa création&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, CSS3, AngularJS&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi d&#039;utiliser le Python car cela va permettre une gestion de CLI plus simple. De plus, ce langage va nous permettre de proposer une API Rest.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur XXX.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33106</id>
		<title>Conception - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Conception_-_Gestionnaire_de_packages&amp;diff=33106"/>
		<updated>2017-02-02T13:34:48Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Ensemble des fonctionnalités BackEnd à implémenter : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici le détail de la Conception du Projet 2017 : Gestionnaire de package.&lt;br /&gt;
&lt;br /&gt;
[[Projet 2017 : Gestionnaire de packages Polytech| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* Rémi Gattaz&lt;br /&gt;
* Germain Lecorps (Chef de Projet)&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Conception =&lt;br /&gt;
== Schéma de la structure de l&#039;application ==&lt;br /&gt;
Nous avons tout d&#039;abord réalisé une [[Gestionnaire de packages : Structure de l&#039;application - version 1| première version du schéma de la structure de l&#039;application]]. Cette représentation est abstraite, cela nous a permit de définir les principaux composants de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
Nous avons ensuite précisé cette représentation en isolant la partie construction des packages (Builder) et en détaillant les fonctionnalités de chaque composants.&lt;br /&gt;
[[Image:Structure de l&#039;application version 2.png|550px|center|Structure de l&#039;application]]&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités BackEnd à implémenter : ==&lt;br /&gt;
* Lister les packages présents sur le repository&lt;br /&gt;
* Création d&#039;un package en traitant l&#039;archive (tar, zip, ...) déposée par un utilisateur&lt;br /&gt;
* Ajouter/Supprimer des packages&lt;br /&gt;
* Gérer les accès au repository :&lt;br /&gt;
** étudiant : une clé par année&lt;br /&gt;
** professeur : sur demande&lt;br /&gt;
* Rendre le repository disponible (permettre son ajout dans sources.list)&lt;br /&gt;
* Détecter les mises à jour de packages automatiquement&lt;br /&gt;
Technologies envisagées : Python (Gestion de CLI, API Rest), MySQL (Base de données/Repo), Shell (Build des packages)&lt;br /&gt;
&lt;br /&gt;
== Ensemble des fonctionnalités FrontEnd à implémenter : ==&lt;br /&gt;
* Visualisation des packages disponibles&lt;br /&gt;
* Filtrage sur la visualisation des packages (Mots-Clés, Filière, Matière)&lt;br /&gt;
* Connexion utilisateur&lt;br /&gt;
* Dépôt d&#039;une archive pour la création d&#039;un package par un utilisateur authentifié&lt;br /&gt;
* Suppression d&#039;un package existant par l&#039;utilisateur qui a demandé sa création&lt;br /&gt;
&lt;br /&gt;
Technologies envisagées : HTML5, Javascript, MySQL&lt;br /&gt;
&lt;br /&gt;
== Choix des langages : ==&lt;br /&gt;
Pour la gestion du dépôt des demandes de packages, nous avons choisi d&#039;utiliser le Python car cela va permettre une gestion de CLI plus simple. De plus, ce langage va nous permettre de proposer une API Rest.&lt;br /&gt;
Pour la construction du package Debian, nous avons choisi d&#039;utiliser le langage Shell, car cette construction va consister en une succession de commandes Unix.&lt;br /&gt;
&lt;br /&gt;
== Choix des technologies pour le Repository : ==&lt;br /&gt;
Plusieurs solutions ont été considérées :&lt;br /&gt;
* [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepro&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.debian.org/DakHowTo &#039;&#039;&#039;mini-dak&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Finalement, notre choix s&#039;est porté sur XXX.&lt;br /&gt;
&lt;br /&gt;
Pour simplifier la phase de développement, un container docker contenant un repository sera créé. Pour le déploiement, l&#039;utilisation d&#039;un serveur sera toutefois préféré.&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:VT2016_OpenTSDB_pres.pdf&amp;diff=31614</id>
		<title>File:VT2016 OpenTSDB pres.pdf</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:VT2016_OpenTSDB_pres.pdf&amp;diff=31614"/>
		<updated>2016-11-05T09:23:38Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31535</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31535"/>
		<updated>2016-11-01T13:12:45Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologiques. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions de points par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB, si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par seconde et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique, différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;br /&gt;
* http://fr.slideshare.net/HBaseCon/ecosystem-session-6?next_slideshow=1&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31534</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31534"/>
		<updated>2016-11-01T13:08:27Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologiques. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions de points par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB, si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par seconde et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique, différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31533</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31533"/>
		<updated>2016-11-01T13:02:51Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31532</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31532"/>
		<updated>2016-11-01T13:02:27Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Synthèse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31531</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31531"/>
		<updated>2016-11-01T13:01:43Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /*  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31530</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31530"/>
		<updated>2016-11-01T13:01:32Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /*  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31529</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31529"/>
		<updated>2016-11-01T13:01:08Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Synthèse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31528</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31528"/>
		<updated>2016-11-01T13:00:26Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Bibliographie */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Webographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31527</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31527"/>
		<updated>2016-11-01T12:59:30Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites :&lt;br /&gt;
** Les connexions / achats / ventes en fonctions de l&#039;heure.&lt;br /&gt;
** Les achats / ventes en fonctions des connexions.&lt;br /&gt;
&lt;br /&gt;
= Bibliographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31526</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31526"/>
		<updated>2016-11-01T12:56:46Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script bash générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
* Voici donc le résultat dans OpenTSDB. Grâce au graphique différentes analyses et interprétations peuvent être faites.&lt;br /&gt;
&lt;br /&gt;
= Bibliographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31525</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31525"/>
		<updated>2016-11-01T12:55:23Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Fonctionnement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left center|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Bibliographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31524</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31524"/>
		<updated>2016-11-01T12:55:10Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left cetnter|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
* La démonstration consiste à lancer une image docker localement contenant OpenTSDB et HBase préconfigués.&lt;br /&gt;
 sudo docker pull petergrace/opentsdb-docker&lt;br /&gt;
 sudo docker start --attach container_id&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut se connecter à OpenTSDB localement via le protocole telnet (ou via http si ce n&#039;est pas du locale).&lt;br /&gt;
 telnet localhost 4242&lt;br /&gt;
&lt;br /&gt;
* Parallèlement j&#039;ai créé un script générant des sorties simulant les connexions, les achats et les ventes d&#039;un site de commerce sur une journée.&lt;br /&gt;
 # Nombre de connexions par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;1000&amp;quot; &amp;quot;900&amp;quot; &amp;quot;700&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; &amp;quot;40&amp;quot; &amp;quot;150&amp;quot; &amp;quot;500&amp;quot; &amp;quot;1600&amp;quot; &amp;quot;3700&amp;quot; &amp;quot;600&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;9800&amp;quot; &amp;quot;10000&amp;quot; &amp;quot;9900&amp;quot; &amp;quot;4800&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2600&amp;quot; &amp;quot;1500&amp;quot; &amp;quot;2500&amp;quot; &amp;quot;2900&amp;quot; &amp;quot;3300&amp;quot; &amp;quot;3100&amp;quot; &amp;quot;2000&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put connexions $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre d&#039;achats par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;100&amp;quot; &amp;quot;60&amp;quot; &amp;quot;10&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;100&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;300&amp;quot; &amp;quot;1700&amp;quot; &amp;quot;4000&amp;quot; &amp;quot;5300&amp;quot; &amp;quot;4300&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;600&amp;quot; &amp;quot;300&amp;quot; &amp;quot;70&amp;quot; &amp;quot;200&amp;quot; &amp;quot;300&amp;quot; &amp;quot;500&amp;quot; &amp;quot;400&amp;quot; &amp;quot;100&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put achats $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Nombre de ventes par heure&lt;br /&gt;
 heure=0&lt;br /&gt;
 valeur=( &amp;quot;150&amp;quot; &amp;quot;20&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;0&amp;quot; &amp;quot;20&amp;quot; &amp;quot;40&amp;quot; &amp;quot;200&amp;quot; &amp;quot;500&amp;quot; &amp;quot;200&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;3000&amp;quot; &amp;quot;5800&amp;quot; &amp;quot;4500&amp;quot; &amp;quot;2000&amp;quot; &amp;quot;200&amp;quot; &amp;quot;100&amp;quot; &amp;quot;400&amp;quot; &amp;quot;1000&amp;quot; &amp;quot;700&amp;quot; &amp;quot;100&amp;quot; &amp;quot;150&amp;quot; )&lt;br /&gt;
 timestamp=1477954800&lt;br /&gt;
 &lt;br /&gt;
 while [ &amp;quot;$heure&amp;quot; != 24 ]&lt;br /&gt;
 do&lt;br /&gt;
     echo &amp;quot;put ventes $timestamp ${valeur[$heure]} particulier=1&amp;quot;&lt;br /&gt;
     timestamp=$(( $timestamp + 3600 ))&lt;br /&gt;
     heure=$(( $heure + 1 ))&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
* Ensuite il faut rediriger la sortie du script vers la commande telnet que j&#039;ai lancé avant, ce qui aura pour effet d&#039;ajouter toutes les valeurs dans la base de données.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left center|Demo]]&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Bibliographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31523</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31523"/>
		<updated>2016-11-01T12:38:09Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left cetnter|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|1200px|left cetnter|Demo]]&lt;br /&gt;
&lt;br /&gt;
= Bibliographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31522</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31522"/>
		<updated>2016-11-01T12:37:21Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: /* Démonstration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left cetnter|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|800px|left cetnter|Demo]]&lt;br /&gt;
&lt;br /&gt;
= Bibliographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31521</id>
		<title>VT2016 OpenTSDB</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=VT2016_OpenTSDB&amp;diff=31521"/>
		<updated>2016-11-01T12:37:06Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
&lt;br /&gt;
* Sujet : OpenTSDB&lt;br /&gt;
* Auteur : Thibaut NOUGUIER&lt;br /&gt;
* Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU&lt;br /&gt;
&lt;br /&gt;
= Mot clés =&lt;br /&gt;
Base de données de séries chronologique, Time Series Daemon, HBase.&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
OpenTSDB est une base de données de séries chronologique. Chaque serveur communique ses informations à son Time Series Daemon (TSD) qui par la suite les enregistre dans HBase. Les TSDs sont aussi capables de récupérer les données stockées pour permettrent leur visualisation par un utilisateur. Il est aussi possible de mettre en place des routines (alertes, messages, ...), dans le but d&#039;informer l&#039;utilisateur lorsque cela est nécessaire.&lt;br /&gt;
&lt;br /&gt;
= Abstract =&lt;br /&gt;
OpenTSDB is a time series database. Each server sends his data to his own Time Series Daemon (TSD), and then it store it into HBase. TSDs are able to get stored data in order to show it to an user. It is also possible to create routines (alerts, messages, ...) in order to inform users of anything.&lt;br /&gt;
&lt;br /&gt;
= Synthèse =&lt;br /&gt;
== Contexte ==&lt;br /&gt;
De nos jours, le stockage en continue d&#039;importante quantité de données est habituel, cependant il est difficile de le faire via des bases de données relationnelles classiques.&lt;br /&gt;
&lt;br /&gt;
=== Objectifs ===&lt;br /&gt;
Les bases de données de séries chronologiques ont principalement deux objectifs :&lt;br /&gt;
* Le stockage de données horodatées de source et de nature diverses (températures, humidité, ...).&lt;br /&gt;
* La visualisation de celles-ci sous forme de graphique.&lt;br /&gt;
&lt;br /&gt;
=== Problèmatique ===&lt;br /&gt;
* Stockage de point : nom + timestamp + valeur + tags.&lt;br /&gt;
* Stockage de masse de l&#039;odre de la dizaine de millions par an.&lt;br /&gt;
* Fonctionnalités mathématiques telles que : comptages, moyennes, interpolations, lissages, maximums, minimums...&lt;br /&gt;
&lt;br /&gt;
== Historique ==&lt;br /&gt;
=== RRD Tool===&lt;br /&gt;
* Elle est la première base de données de séries chronologiques.&lt;br /&gt;
* Il est difficile de l&#039;exploiter au quotidien (sauvegarde, export, scalabilité).&lt;br /&gt;
* La précision des données se fait au détriment de la taille de la base.&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
Les bases de données suivantes ont toutes ces points communs :&lt;br /&gt;
* Une architecture industrielle et scalable.&lt;br /&gt;
* Une API permettant le stockage et requetage des données.&lt;br /&gt;
* Des fonctions mathématiques intégrées.&lt;br /&gt;
&lt;br /&gt;
=== Whisper ===&lt;br /&gt;
* Elle est vue comme la transition entre RRD Tool et les TSDB suivantes.&lt;br /&gt;
* Elle est difficilement utilisable sans le projet Graphite.&lt;br /&gt;
&lt;br /&gt;
=== KairosDB ===&lt;br /&gt;
* Elle est très similaire à OpenTSDB si ce n&#039;est qu&#039;elle peut s&#039;utiliser avec H2 ou Cassandra en plus d&#039;HBase.&lt;br /&gt;
&lt;br /&gt;
=== InfluxDB ===&lt;br /&gt;
* Elle est capable de stocker des événements en plus des points. &lt;br /&gt;
* Elle est basée sur LevelDB, la librairie clé / valeur écrite pour être rapide par Google.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnement ==&lt;br /&gt;
Les caractéristiques principales d&#039;OpenTSDB sont les suivantes :&lt;br /&gt;
* Une architecture scalable.&lt;br /&gt;
* Une API pour la lecture et l&#039;écriture des données.&lt;br /&gt;
* Des opérations statistiques intégrées.&lt;br /&gt;
* Une capacité de stockage à la milliseconde.&lt;br /&gt;
* Le stockage d&#039;un milliard de points par jour.&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER-tsdb-architecture.png|400px|left cetnter|Architecture]]&lt;br /&gt;
&lt;br /&gt;
La lecture et l&#039;écriture des données se fait via les Time Series Daemon. En effet chaque serveur est lié à un TSD et lui communique ses données. Ensuite, le TSD dans un délais d&#039;une seconde maximum, va enregistrer ces informations dans HBase. Des routines internes au TSD peuvent être déclenchées lors du passage des données. Pour permettre la visualisation du contenu de HBase le TSD peut récupérer les données et les envoyer aux utilisateurs via une page internet.&lt;br /&gt;
&lt;br /&gt;
=== Evolutivité ===&lt;br /&gt;
* Un TSD par cluster HBase, un cluster HBase par datacenter.&lt;br /&gt;
* Capacité d&#039;écriture : 2000 points (minimum) par secondes et par coeur.&lt;br /&gt;
* Capacité de lecture : moins de 2 secondes.&lt;br /&gt;
&lt;br /&gt;
=== Fiabilité ===&lt;br /&gt;
* Echec : sauvegarde dans un buffer si HBase ne fonctionne plus.&lt;br /&gt;
* Persistance des données : les données restent 1 seconde maximum dans le buffer d&#039;un TSD avant d&#039;être enregistrées dans HBase.&lt;br /&gt;
&lt;br /&gt;
= Démonstration =&lt;br /&gt;
&lt;br /&gt;
[[Image:NOUGUIER DEMO OpenTSDB.png|400px|left cetnter|Demo]]&lt;br /&gt;
&lt;br /&gt;
= Bibliographie =&lt;br /&gt;
* http://opentsdb.net/&lt;br /&gt;
* https://wooster.checkmy.ws/2013/12/time-series-databases/&lt;br /&gt;
* https://en.wikipedia.org/wiki/Time_series_database&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:NOUGUIER_DEMO_OpenTSDB.png&amp;diff=31520</id>
		<title>File:NOUGUIER DEMO OpenTSDB.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:NOUGUIER_DEMO_OpenTSDB.png&amp;diff=31520"/>
		<updated>2016-11-01T12:36:31Z</updated>

		<summary type="html">&lt;p&gt;Thibaut.Nouguier: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Thibaut.Nouguier</name></author>
	</entry>
</feed>