<?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=Germain.Lecorps</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=Germain.Lecorps"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Germain.Lecorps"/>
	<updated>2026-05-31T14:37:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34522</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34522"/>
		<updated>2017-03-14T10:03:41Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Structure de l&#039;application ==&lt;br /&gt;
Le schéma de la structure de l&#039;application est disponible [[Conception - Gestionnaire de packages| &#039;&#039;&#039;ici&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
== Frontend ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des packages&#039;&#039;&#039;&lt;br /&gt;
* Fonctionnel :&lt;br /&gt;
** L&#039;affichage des packages à partir de la base de données est fonctionnelle.&lt;br /&gt;
** Les différents filtres pour trier les packages sont fonctionnels.&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;
&lt;br /&gt;
&#039;&#039;&#039;Visualisation des tickets&#039;&#039;&#039;&lt;br /&gt;
* Fonctionnel :&lt;br /&gt;
** Fonctionnement similaire à la visualisation des packages. Les fonctionnalités disponibles sont les mêmes.&lt;br /&gt;
* A faire :&lt;br /&gt;
** Relier le bouton &amp;quot;Valider&amp;quot; à la fonctionnalité de validation si l&#039;utilisateur est connecté en tant qu&#039;administrateur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Formulaire de dépôt d&#039;un package&#039;&#039;&#039;&lt;br /&gt;
* Fonctionnel :&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;
* A faire :&lt;br /&gt;
** Le ticket actuellement ajouté n&#039;est pas lié à du code (tarball, git...). Il faut donc lier les information du package au code qui deviendra le package.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;FAQ&#039;&#039;&#039;&lt;br /&gt;
* Fonctionnel :&lt;br /&gt;
** La page de FAQ est lue à partir d&#039;un fichier JSON pour faciliter la modification du contenu en fonction des besoins des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
BackEnd : Le BackeEnd est la partie de l&#039;application invisible de l&#039;utilisateur. C&#039;est la partie qui traite, stocke, et mets les données à disposition&lt;br /&gt;
 &lt;br /&gt;
Debian : Debian est une famille de distribution Linux.&lt;br /&gt;
&lt;br /&gt;
FrontEnd : Le FrontEnd est la partie de l&#039;application visible par l&#039;utilisateur, c&#039;est à dire le site Web qui permet les interactions de l&#039;utilisateur avec le système.&lt;br /&gt;
&lt;br /&gt;
Git : Git est un système de dépôt collaboratif de fichier.&lt;br /&gt;
&lt;br /&gt;
Identifiants AGALAN : Les identifiants AGALAN sont les identifiants qui permettent de se connecter à tous les services universitaires.&lt;br /&gt;
&lt;br /&gt;
Maintainer : Le Maintainer est la personne responsable de la maintenance du package, c&#039;est à dire les mises à jour régulières du package, ainsi que du support.&lt;br /&gt;
&lt;br /&gt;
Package : Un Package est un outil Linux qui s&#039;installe via une commande de type &amp;quot;apt-get install ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Repository : Un Repository est un serveur qui contient des packages Linux. Il permet aux utilisateurs d&#039;installer ces packages avec la commande &amp;quot;apt-get install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Tarball : Une tarball est une archive de fichiers (zip, rar, tar.gz, ...).&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34473</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34473"/>
		<updated>2017-03-13T14:22:06Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Structure de l&#039;application ==&lt;br /&gt;
Le schéma de la structure de l&#039;application est disponible [[Conception - Gestionnaire de packages| &#039;&#039;&#039;ici&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
== Frontend ==&lt;br /&gt;
&lt;br /&gt;
* Visualisation des packages :&lt;br /&gt;
** Fonctionnel :&lt;br /&gt;
*** L&#039;affichage des packages à partir de la base de données est fonctionnelle.&lt;br /&gt;
*** Les différents filtres pour trier les packages sont fonctionnels.&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;
&lt;br /&gt;
* Visualisation des tickets :&lt;br /&gt;
** Fonctionnel :&lt;br /&gt;
*** Fonctionnement similaire à la visualisation des packages. Les fonctionnalités disponibles sont les mêmes.&lt;br /&gt;
** A faire :&lt;br /&gt;
*** Relier le bouton &amp;quot;Valider&amp;quot; à la fonctionnalité de validation si l&#039;utilisateur est connecté en tant qu&#039;administrateur.&lt;br /&gt;
&lt;br /&gt;
* Formulaire de dépôt d&#039;un package :&lt;br /&gt;
** Fonctionnel :&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;
** A faire :&lt;br /&gt;
*** Le ticket actuellement ajouté n&#039;est pas lié à du code (tarball, git...). Il faut donc lier les information du package au code qui deviendra le package.&lt;br /&gt;
&lt;br /&gt;
* FAQ :&lt;br /&gt;
** Fonctionnel :&lt;br /&gt;
*** La page de FAQ est lue à partir d&#039;un fichier JSON pour faciliter la modification du contenu en fonction des besoins des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
BackEnd : Le BackeEnd est la partie de l&#039;application invisible de l&#039;utilisateur. C&#039;est la partie qui traite, stocke, et mets les données à disposition&lt;br /&gt;
 &lt;br /&gt;
Debian : Debian est une famille de distribution Linux.&lt;br /&gt;
&lt;br /&gt;
FrontEnd : Le FrontEnd est la partie de l&#039;application visible par l&#039;utilisateur, c&#039;est à dire le site Web qui permet les interactions de l&#039;utilisateur avec le système.&lt;br /&gt;
&lt;br /&gt;
Git : Git est un système de dépôt collaboratif de fichier.&lt;br /&gt;
&lt;br /&gt;
Identifiants AGALAN : Les identifiants AGALAN sont les identifiants qui permettent de se connecter à tous les services universitaires.&lt;br /&gt;
&lt;br /&gt;
Maintainer : Le Maintainer est la personne responsable de la maintenance du package, c&#039;est à dire les mises à jour régulières du package, ainsi que du support.&lt;br /&gt;
&lt;br /&gt;
Package : Un Package est un outil Linux qui s&#039;installe via une commande de type &amp;quot;apt-get install ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Repository : Un Repository est un serveur qui contient des packages Linux. Il permet aux utilisateurs d&#039;installer ces packages avec la commande &amp;quot;apt-get install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Tarball : Une tarball est une archive de fichiers (zip, rar, tar.gz, ...).&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34468</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34468"/>
		<updated>2017-03-13T13:47:39Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Structure de l&#039;application ==&lt;br /&gt;
Le schéma de la structure de l&#039;application est disponible [[Conception - Gestionnaire de packages| &#039;&#039;&#039;ici&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
== Frontend ==&lt;br /&gt;
&lt;br /&gt;
* Visualisation des packages :&lt;br /&gt;
** L&#039;affichage des packages à partir de la base de données est fonctionnelle.&lt;br /&gt;
** Les différents filtres pour trier les packages sont fonctionnels.&lt;br /&gt;
&lt;br /&gt;
* Visualisation des tickets :&lt;br /&gt;
** Fonctionnement similaire à la visualisation des packages. Les fonctionnalités disponibles sont les mêmes.&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
* Formulaire de dépôt d&#039;un package :&lt;br /&gt;
** Le formulaire a les fonctionnalités qui étaient initialement prévues. Lorsqu&#039;un package est déposé, il apparaît ensuite dans la liste des tickets en attente.&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
BackEnd : Le BackeEnd est la partie de l&#039;application invisible de l&#039;utilisateur. C&#039;est la partie qui traite, stocke, et mets les données à disposition&lt;br /&gt;
 &lt;br /&gt;
Debian : Debian est une famille de distribution Linux.&lt;br /&gt;
&lt;br /&gt;
FrontEnd : Le FrontEnd est la partie de l&#039;application visible par l&#039;utilisateur, c&#039;est à dire le site Web qui permet les interactions de l&#039;utilisateur avec le système.&lt;br /&gt;
&lt;br /&gt;
Git : Git est un système de dépôt collaboratif de fichier.&lt;br /&gt;
&lt;br /&gt;
Identifiants AGALAN : Les identifiants AGALAN sont les identifiants qui permettent de se connecter à tous les services universitaires.&lt;br /&gt;
&lt;br /&gt;
Maintainer : Le Maintainer est la personne responsable de la maintenance du package, c&#039;est à dire les mises à jour régulières du package, ainsi que du support.&lt;br /&gt;
&lt;br /&gt;
Package : Un Package est un outil Linux qui s&#039;installe via une commande de type &amp;quot;apt-get install ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Repository : Un Repository est un serveur qui contient des packages Linux. Il permet aux utilisateurs d&#039;installer ces packages avec la commande &amp;quot;apt-get install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Tarball : Une tarball est une archive de fichiers (zip, rar, tar.gz, ...).&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34465</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=34465"/>
		<updated>2017-03-13T13:38:57Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Structure de l&#039;application ==&lt;br /&gt;
Le schéma de la structure de l&#039;application est disponible [[Conception - Gestionnaire de packages| &#039;&#039;&#039;ici&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Réalisations =&lt;br /&gt;
== Frontend ==&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
BackEnd : Le BackeEnd est la partie de l&#039;application invisible de l&#039;utilisateur. C&#039;est la partie qui traite, stocke, et mets les données à disposition&lt;br /&gt;
 &lt;br /&gt;
Debian : Debian est une famille de distribution Linux.&lt;br /&gt;
&lt;br /&gt;
FrontEnd : Le FrontEnd est la partie de l&#039;application visible par l&#039;utilisateur, c&#039;est à dire le site Web qui permet les interactions de l&#039;utilisateur avec le système.&lt;br /&gt;
&lt;br /&gt;
Git : Git est un système de dépôt collaboratif de fichier.&lt;br /&gt;
&lt;br /&gt;
Identifiants AGALAN : Les identifiants AGALAN sont les identifiants qui permettent de se connecter à tous les services universitaires.&lt;br /&gt;
&lt;br /&gt;
Maintainer : Le Maintainer est la personne responsable de la maintenance du package, c&#039;est à dire les mises à jour régulières du package, ainsi que du support.&lt;br /&gt;
&lt;br /&gt;
Package : Un Package est un outil Linux qui s&#039;installe via une commande de type &amp;quot;apt-get install ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Repository : Un Repository est un serveur qui contient des packages Linux. Il permet aux utilisateurs d&#039;installer ces packages avec la commande &amp;quot;apt-get install&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Tarball : Une tarball est une archive de fichiers (zip, rar, tar.gz, ...).&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34069</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=34069"/>
		<updated>2017-03-03T10:30:23Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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;
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;
=== 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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=34047</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=34047"/>
		<updated>2017-03-01T14:32:49Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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é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;
=== 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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33785</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=33785"/>
		<updated>2017-02-16T09:27:08Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Mardi 14 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;
&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;
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;
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;
== 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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33784</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=33784"/>
		<updated>2017-02-16T09:25:58Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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;
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;
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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33783</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=33783"/>
		<updated>2017-02-16T09:25:11Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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;
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;
=== 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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33782</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=33782"/>
		<updated>2017-02-16T09:24:47Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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;
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;
== 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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Liens_-_Gestionnaire_de_packages&amp;diff=33636</id>
		<title>Liens - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Liens_-_Gestionnaire_de_packages&amp;diff=33636"/>
		<updated>2017-02-13T09:16:05Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Liens utiles */&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;
= É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;
= Liens utiles =&lt;br /&gt;
[[Linux Packages| &#039;&#039;&#039;Packages Linux pour Polytech&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
Debian Policy Manual :&lt;br /&gt;
* https://www.debian.org/doc/debian-policy/index.html#contents&lt;br /&gt;
* https://www.debian.org/doc/debian-policy/ch-controlfields.html&lt;br /&gt;
* https://www.debian.org/doc/debian-policy/ch-binary.html#s-virtual_pkg&lt;br /&gt;
&lt;br /&gt;
Debian Repositories :&lt;br /&gt;
* [https://wiki.debian.org/HowToSetupADebianRepository &#039;&#039;&#039;List of Debian repository servers&#039;&#039;&#039;]&lt;br /&gt;
** [https://wiki.debian-fr.xyz/Reprepro &#039;&#039;&#039;Reprepo&#039;&#039;&#039;] : [https://hub.docker.com/r/bbinet/reprepro/ &#039;&#039;&#039;Docker container&#039;&#039;&#039;]&lt;br /&gt;
** [https://www.aptly.info/ &#039;&#039;&#039;Aptly&#039;&#039;&#039;] : [https://hub.docker.com/r/bryanhong/aptly/ &#039;&#039;&#039;Docker container&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Building .deb :&lt;br /&gt;
* [https://wiki.debian.org/BuildingTutorial#Requirements &#039;&#039;&#039;Tutorial Debian : Building .deb&#039;&#039;&#039;]&lt;br /&gt;
* [https://xan-manning.co.uk/making-deb-packages-using-docker/ &#039;&#039;&#039;Making .deb packages using Docker&#039;&#039;&#039;]&lt;br /&gt;
* [https://blog.codeship.com/using-docker-build-debian-packages/ &#039;&#039;&#039;Using Docker to Build Debian Packages&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Testing AngularJS :&lt;br /&gt;
* [https://docs.angularjs.org/guide/unit-testing &#039;&#039;&#039;Tutorial Test : AngularJS&#039;&#039;&#039;]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33598</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=33598"/>
		<updated>2017-02-09T10:33:28Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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;
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;
=== 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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=33566</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=33566"/>
		<updated>2017-02-07T14:23:54Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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;
* 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 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;
Thibaut Nouguier :&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;
&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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Scrum_-_Gestionnaire_de_packages&amp;diff=33405</id>
		<title>Scrum - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Scrum_-_Gestionnaire_de_packages&amp;diff=33405"/>
		<updated>2017-02-06T09:16:11Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 2eme Sprint : 06/01 - 19/02 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la Fiche de sprint Scrum 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;
= User Stories et Tâches =&lt;br /&gt;
&lt;br /&gt;
== User stories ==&lt;br /&gt;
* UU1 : En tant qu&#039;utilisateur, je veux me connecter afin d&#039;utiliser l&#039;application&lt;br /&gt;
* UU2 : En tant qu&#039;utilisateur, je veux pouvoir visualiser la liste des packages afin de rechercher un package&lt;br /&gt;
* UU3 : En tant qu&#039;utilisateur, je veux pouvoir créer un ticket afin de demander l&#039;ajout d&#039;un package&lt;br /&gt;
* UU4 : En tant qu&#039;utilisateur, je veux pouvoir modifier un ticket que j&#039;ai créé afin de modifier ma demande&lt;br /&gt;
* UU5 : En tant qu&#039;utilisateur, je veux pouvoir créer un vote sur un ticket afin de montrer mon interêt à l&#039;ajout d&#039;un package&lt;br /&gt;
* UU6 : En tant qu&#039;utilisateur, je veux pouvoir modifier/supprimer un vote sur un ticket afin de changer mon avis&lt;br /&gt;
* UA1 : En tant qu&#039;administrateur, je veux pouvoir créer un package à partir d&#039;un ticket afin d&#039;ajouter un package sur le repository&lt;br /&gt;
* UA2 : En tant qu&#039;administrateur, je veux pouvoir modifier/supprimer un package afin de retirer un package du repository&lt;br /&gt;
* UA3 : En tant qu&#039;administrateur, je veux pouvoir modifier le statut d&#039;un ticket afin de caractériser la demande&lt;br /&gt;
* UA4 : En tant qu&#039;administrateur, je veux pouvoir ajouter/supprimer un administrateur à l&#039;application afin de modifier les utilisateurs capable d&#039;administrer l&#039;application&lt;br /&gt;
* UA5 : En tant qu&#039;administrateur, je veux pouvoir forcer la mise à jour d&#039;un package afin de lancer un build de façon immédiate&lt;br /&gt;
* UA6 : En tant qu&#039;administrateur, je veux pouvoir visualiser les résultats des builds d&#039;un package&lt;br /&gt;
* US1 : En tant que super administrateur, je veux pouvoir ajouter/supprimer un super administrateur à l&#039;application pour autoriser un autre utilisateur à créer des packages&lt;br /&gt;
* US2 : En tant que super administrateur, je veux pouvoir gérer les droits d&#039;accès au repository pour gérer les accès privé au repository&lt;br /&gt;
&lt;br /&gt;
La nomenclature utilisé pour les identifiants des user stories est la suivante :&lt;br /&gt;
* UU : User story Utilisateur&lt;br /&gt;
* UA : User story Administrateur&lt;br /&gt;
* US : User story Super administrateur&lt;br /&gt;
&lt;br /&gt;
== Taches ==&lt;br /&gt;
 {| class=&amp;quot;wikitable alternance center&amp;quot;&lt;br /&gt;
 |+ Tâches&lt;br /&gt;
 |-&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;5%&amp;quot; | Identifiant&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;5%&amp;quot; | Temps &lt;br /&gt;
(en 1/2j)&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;5%&amp;quot; | Priorité&lt;br /&gt;
(/10)&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;5%&amp;quot; | Dépendance&lt;br /&gt;
 ! scope=&amp;quot;col&amp;quot; width=&amp;quot;8%&amp;quot; | User Story&lt;br /&gt;
|-&lt;br /&gt;
| TFR1 &lt;br /&gt;
| Connecter notre application au CAS de l&#039;université&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UU1&lt;br /&gt;
|-&lt;br /&gt;
| TFR2&lt;br /&gt;
| Créer la vue packages&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UU2&lt;br /&gt;
|-&lt;br /&gt;
| TFR3&lt;br /&gt;
| Créer la vue administrateur des packages&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UA2&lt;br /&gt;
|-&lt;br /&gt;
| TFR4&lt;br /&gt;
| Créer la vue tickets&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UU3, UU4, UU5, UU6&lt;br /&gt;
|-&lt;br /&gt;
| TFR5&lt;br /&gt;
| Créer la vue administrateur des tickets&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UA1, UA3&lt;br /&gt;
|-&lt;br /&gt;
| TFR6&lt;br /&gt;
| Créer la vue administrateur des tickets&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UA5, UA6&lt;br /&gt;
|-&lt;br /&gt;
| TBB1&lt;br /&gt;
| Création d&#039;un package à partir d&#039;un dépôt git&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UA1&lt;br /&gt;
|-&lt;br /&gt;
| TBB2&lt;br /&gt;
| Création de log des builds&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UA6&lt;br /&gt;
|-&lt;br /&gt;
| TBC1&lt;br /&gt;
| Connecter à le backend à une base de donnée mysql&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|  UU*, UA*, US*&lt;br /&gt;
|-&lt;br /&gt;
| TBC2&lt;br /&gt;
| Créer les appels /packages&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UU2, UA2&lt;br /&gt;
|-&lt;br /&gt;
| TBC3&lt;br /&gt;
| Mettre en place des filtres&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UU2&lt;br /&gt;
|-&lt;br /&gt;
| TBC4&lt;br /&gt;
| Créer les appels /tickets&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UU3, UU4, UA1, UA3&lt;br /&gt;
|-&lt;br /&gt;
| TBC5&lt;br /&gt;
| Créer les appels /tickets/:id/votes&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UU5, UU6&lt;br /&gt;
|-&lt;br /&gt;
| TBC6&lt;br /&gt;
| Gérer les appels /packages/:id/builds&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| A5, A6&lt;br /&gt;
|-&lt;br /&gt;
| TBC7&lt;br /&gt;
| Gérer dans la CLI le statut des utilisateurs&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| UA4, US1&lt;br /&gt;
|-&lt;br /&gt;
| TBR1&lt;br /&gt;
| Gérer les droits d&#039;accès au repository&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| US2&lt;br /&gt;
|-&lt;br /&gt;
| TEX1&lt;br /&gt;
| Formation Angular 2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TEX2&lt;br /&gt;
| Mise en place environnement de développement du backend&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TEX3&lt;br /&gt;
| Mise en place environnement de développement du frontend&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TEX4&lt;br /&gt;
| Mise en place de tests automatisés du backend&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| TEX5&lt;br /&gt;
| Mise en place de tests automatisés du frontend&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
La nomenclature utilisé pour les identifiants des tâches est la suivante :&lt;br /&gt;
* TFR : Frontend&lt;br /&gt;
* TBC : Backend Controller&lt;br /&gt;
* TBB : Backend builder&lt;br /&gt;
* TBR : Backend Repository&lt;br /&gt;
* TEX : Extra&lt;br /&gt;
&lt;br /&gt;
= Sprints Scrum =&lt;br /&gt;
Un scrum board est disponible sur l&#039;organisation github que nous avons créé : [https://github.com/orgs/Packebian/projects/1 &#039;&#039;&#039;Scrumt board&#039;&#039;&#039;]&lt;br /&gt;
== 1er Sprint : 23/01 - 05/02 ==&lt;br /&gt;
=== Objectif initial : ===&lt;br /&gt;
* Étudier la faisabilité du projet&lt;br /&gt;
* Rencontrer des enseignants compétents dans la gestion de packages debian&lt;br /&gt;
* Commencer à se documenter et à étudier des solutions pour la réalisation du projet&lt;br /&gt;
* Établir la structure de l&#039;application&lt;br /&gt;
* Faire le choix des technologies à utiliser&lt;br /&gt;
&lt;br /&gt;
=== Réalisation : ===&lt;br /&gt;
* Rencontre avec M. Palix et M. Danjean, enseignants compétents en packages Debian&lt;br /&gt;
* Formalisation du sujet&lt;br /&gt;
* Design de la structure de l&#039;application&lt;br /&gt;
* Définition des User stories&lt;br /&gt;
&lt;br /&gt;
=== Revue de sprint : ===&lt;br /&gt;
&lt;br /&gt;
== 2eme Sprint : 06/02 - 19/02 ==&lt;br /&gt;
=== Objectif initial : ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Réalisation : ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Revue de sprint : ===&lt;br /&gt;
&lt;br /&gt;
== 3eme Sprint : 20/02 - 05/03 ==&lt;br /&gt;
=== Objectif initial : ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Réalisation : ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Revue de sprint : ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4eme Sprint : 06/02 - 17/03 ==&lt;br /&gt;
=== Objectif initial : ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Réalisation : ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Revue de sprint : ===&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33061</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33061"/>
		<updated>2017-02-01T14:39:22Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Glossaire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Structure de l&#039;application ==&lt;br /&gt;
Le schéma de la structure de l&#039;application est disponible [[Conception - Gestionnaire de packages| &#039;&#039;&#039;ici&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
Package :&lt;br /&gt;
&lt;br /&gt;
Git :&lt;br /&gt;
&lt;br /&gt;
Tarball :&lt;br /&gt;
&lt;br /&gt;
FrontEnd :&lt;br /&gt;
&lt;br /&gt;
BackEnd :&lt;br /&gt;
&lt;br /&gt;
Repository :&lt;br /&gt;
 &lt;br /&gt;
Debian :&lt;br /&gt;
&lt;br /&gt;
Identifiants AGALAN :&lt;br /&gt;
&lt;br /&gt;
Maintainer :&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33060</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33060"/>
		<updated>2017-02-01T14:38:06Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Glossaire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Structure de l&#039;application ==&lt;br /&gt;
Le schéma de la structure de l&#039;application est disponible [[Conception - Gestionnaire de packages| &#039;&#039;&#039;ici&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
Package :&lt;br /&gt;
&lt;br /&gt;
Git :&lt;br /&gt;
&lt;br /&gt;
Tarball :&lt;br /&gt;
&lt;br /&gt;
FrontEnd :&lt;br /&gt;
&lt;br /&gt;
BackEnd :&lt;br /&gt;
&lt;br /&gt;
Repository :&lt;br /&gt;
 &lt;br /&gt;
Debian :&lt;br /&gt;
&lt;br /&gt;
Identifiants AGALAN :&lt;br /&gt;
&lt;br /&gt;
Maintainer :&lt;br /&gt;
&lt;br /&gt;
Builder :&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33058</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33058"/>
		<updated>2017-02-01T14:37:17Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Glossaire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Structure de l&#039;application ==&lt;br /&gt;
La structure de l&#039;application est disponible [[Conception - Gestionnaire de packages| &#039;&#039;&#039;ici&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
Package :&lt;br /&gt;
&lt;br /&gt;
Git :&lt;br /&gt;
&lt;br /&gt;
Tarball :&lt;br /&gt;
&lt;br /&gt;
FrontEnd :&lt;br /&gt;
&lt;br /&gt;
BackEnd :&lt;br /&gt;
&lt;br /&gt;
Repository :&lt;br /&gt;
 &lt;br /&gt;
Debian :&lt;br /&gt;
&lt;br /&gt;
Identifiants AGALAN :&lt;br /&gt;
&lt;br /&gt;
Maintainer :&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33056</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33056"/>
		<updated>2017-02-01T14:36:03Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Glossaire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Schéma de l&#039;application ==&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
Package :&lt;br /&gt;
&lt;br /&gt;
Git :&lt;br /&gt;
&lt;br /&gt;
Tarball :&lt;br /&gt;
&lt;br /&gt;
FrontEnd :&lt;br /&gt;
&lt;br /&gt;
BackEnd :&lt;br /&gt;
&lt;br /&gt;
Repository :&lt;br /&gt;
 &lt;br /&gt;
Debian :&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33055</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=33055"/>
		<updated>2017-02-01T14:35:14Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Étudiant */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
= Description générale =&lt;br /&gt;
== Le but du projet ==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités ==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
== Utilisateurs potentiels ==&lt;br /&gt;
===== Étudiant =====&lt;br /&gt;
Personne souhaitant télécharger des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
===== Enseignant =====&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
===== Administrateur =====&lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
== Cas d&#039;utilisations ==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
//Nécessite de mettre au point l&#039;IHM&lt;br /&gt;
&lt;br /&gt;
== Contraintes générales ==&lt;br /&gt;
Pour déposer un package :&lt;br /&gt;
* Avoir un compte enseignant pour s&#039;authentifier sur la plate-forme&lt;br /&gt;
* Avoir un minimum de connaissances sur les outils qui doivent être déposé pour constituer l&#039;archive&lt;br /&gt;
Environnement de l&#039;application :&lt;br /&gt;
* Les composants builder et coordinateur sont sur des machines de types Debian (64 bits).&lt;br /&gt;
* Le Repository doit également être un Debian (64 bits)&lt;br /&gt;
* Le traitement des archives doit s&#039;effectuer avec un langage de script (shell, ruby, perl).&lt;br /&gt;
&lt;br /&gt;
= Fonctionnement des composants =&lt;br /&gt;
== Schéma de l&#039;application ==&lt;br /&gt;
&lt;br /&gt;
== Interface Web ==&lt;br /&gt;
=== Liste des packages ===&lt;br /&gt;
Cette page sert aux utilisateurs à consulter la liste des packages disponibles sur le repository.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs comment utiliser le repository sur linux, c&#039;est à dire à le rajouter dans les sources de packages, puis à installer les packages avec les commandes &amp;quot;sudo apt-get install ...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Le reste de la page correspond à la liste des packages disponibles sur le repository, ainsi que des options de filtre pour restreindre la liste à certaines filières, matières, etc.&lt;br /&gt;
&lt;br /&gt;
=== Dépôt d&#039;une contribution ===&lt;br /&gt;
Cette page consiste en un formulaire à remplir pour proposer une contribution.&lt;br /&gt;
&lt;br /&gt;
En haut de la page, un tutoriel explique aux utilisateurs ce qu&#039;ils doivent saisir dans chacun des champs du formulaire, ainsi que les différents types de dépôts gérés par le système.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit d&#039;abord se logguer avec ses identifiants AGALAN, puis effectuer le dépôt de l&#039;outil. Il y a pour cela plusieurs solutions :&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git contenant déjà tout ce dont le système a besoin pour générer un package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien Git ne contenant pas tous les fichiers nécessaires à la création du package.&lt;br /&gt;
* L&#039;utilisateur dépose un lien vers une archive (tarball) sur le site de téléchargement de l&#039;outil. &lt;br /&gt;
* L&#039;utilisateur dépose directement la tarball en mode dépôt de fichier.&lt;br /&gt;
* L&#039;utilisateur n&#039;a pas su trouver un lien pour télécharger l&#039;outil. Il peut alors déposer un lien vers le site de l&#039;outil, pour laisser au gérant du système le soin de trouver les fichiers dont le système a besoin.&lt;br /&gt;
&lt;br /&gt;
De plus, l&#039;utilisateur doit renseigner le nom du package, le numéro de version, l&#039;architecture (32/64 bits), le maintainer (responsable), la filière pour laquelle cet outil est requis (ex : RICM5), la matière pour laquelle cet outil est requis (ex : TMA). Il est possible de laisser une description expliquant l&#039;utilité de l&#039;outil, ainsi que de spécifier des dépendances.&lt;br /&gt;
&lt;br /&gt;
La contribution doit ensuite être soumise pour être envoyé à l&#039;administrateur pour la validation.&lt;br /&gt;
&lt;br /&gt;
=== Administration ===&lt;br /&gt;
Cette page propose des outils d&#039;administration du repository, tels que :&lt;br /&gt;
* La liste des packages disponibles&lt;br /&gt;
* La page de validation/refus des contributions&lt;br /&gt;
* Une interface de monitoring (logs)&lt;br /&gt;
&lt;br /&gt;
== Structure du BackEnd ==&lt;br /&gt;
=== Controller ===&lt;br /&gt;
Le Controller est le composant central du BackEnd. C&#039;est celui qui va gérer toutes les interactions au cœur de l&#039;application. Il fourni une API Rest ainsi qu&#039;une interface en ligne de commande (CLI). Nous avons choisi de le développer en Javascript.&lt;br /&gt;
&lt;br /&gt;
Ses trois fonctions principales sont :&lt;br /&gt;
* La création des liens Git à envoyer au Builder pour générer les packages&lt;br /&gt;
* La copie des packages .deb générés par le Builder dans le Repository&lt;br /&gt;
* La mise à jour automatique des packages déjà déposés dans le Repository.&lt;br /&gt;
&lt;br /&gt;
===== Génération du lien Git =====&lt;br /&gt;
A la réception de la contribution, l&#039;administrateur doit déclencher la génération du package. Le Controller doit alors lancer la génération automatique du lien Git à envoyer au Builder. Selon le type de dépôt, le Controller adapte le traitement :&lt;br /&gt;
* Si le contributeur à déposé un lien Git déjà utilisable par le Builder, il n&#039;y a rien à faire : le lien est directement envoyé au Builer.&lt;br /&gt;
* Si le contributeur à déposé un lien Git, une tarball, ou un lien vers une tarball qui ne contient pas tous les fichiers nécessaires au Builder, le traitement consiste à analyser le contenu du dépôt Git (ou de la tarball) pour construire les fichiers manquants, et ainsi générer un lien Git correct pour l&#039;envoyer au Builder.&lt;br /&gt;
* Si le contributeur dépose simplement une demande pour un outil, c&#039;est à l&#039;administrateur de trouver les ressources nécessaires pour installer l&#039;outil.&lt;br /&gt;
&lt;br /&gt;
Une fois le lien Git généré et envoyé au Builder avec un Tag qui correspond au commit à partir duquel le Builder doit travailler, le Controller attend un retour :&lt;br /&gt;
* Si la création s&#039;est bien passé, l&#039;administrateur reçoit un accusé de réussite, et le Controller dépose le fichier .deb sur le Repository.&lt;br /&gt;
* Si la création a échoué, l&#039;adminstrateur reçoit un accusé d&#039;échec ainsi que les logs d&#039;erreur. Il peut alors intervenir manuellement pour résoudre le problème en générant lui-même le lien Git.&lt;br /&gt;
&lt;br /&gt;
===== Copie des packages dans le Repository =====&lt;br /&gt;
Une fois que le Builder a généré les packages, ceux-ci sont déposés avec l&#039;outil DPUT.&lt;br /&gt;
&lt;br /&gt;
===== Mise à jour automatique des packages =====&lt;br /&gt;
Le fonctionnement des mises à jour automatique dépend du type de dépôt au moment de la contribution :&lt;br /&gt;
* Si le contributeur a déposé un lien (Git ou tarball), alors la recherche de mises à jour est possible :&lt;br /&gt;
** Lien Git : il est possible de savoir si une nouvelle version de l&#039;outil est disponible sur un dépôt Git.&lt;br /&gt;
** Lien de téléchargement de tarball : Si le lien de téléchargement est dynamique, c&#039;est à dire s&#039;il renvoi la dernière version de l&#039;outil disponible, alors le système peut détecter une mise à jour en téléchargeant la tarball, et en la comparant avec le dépôt initial.&lt;br /&gt;
* Si le contributeur a déposé un tarball, la recherche de mises à jour est malheureusement impossible.&lt;br /&gt;
&lt;br /&gt;
Si une mise à jour est disponible, le Controller met à jour le dépôt Git généré à la création du premier package, puis envoi au Builder le nouveau dépôt Git avec le nouveau Tag pour obtenir le package correspondant à la nouvelle version de l&#039;outil. Une fois le nouveau package généré, il est déposé sur le Repository avec le numéro de version correspondant.&lt;br /&gt;
&lt;br /&gt;
=== Builder ===&lt;br /&gt;
Le Builder est le composant qui va gérer la création du package. Il utilise les lien Git envoyé par le Controller pour obtenir les fichiers sources de l&#039;outil à packager.&lt;br /&gt;
&lt;br /&gt;
Le Builder est basé sur un composant Docker de génération de Package &#039;&#039;&#039;(choix à définir)&#039;&#039;&#039;. La construction consiste en une suite de commande Unix, c&#039;est pourquoi nous avons choisi le Shell.&lt;br /&gt;
&lt;br /&gt;
Nous avons décidé qu&#039;une fois le package crée, le Builder le renvoi au Controller au lieu de directement le copier sur le Repository. Nous avons fait ce choix pour ce soit le Controller qui effectue les copies sur le Repository.&lt;br /&gt;
&lt;br /&gt;
=== Repository ===&lt;br /&gt;
Le Repository contient les fichiers nécessaires aux stockages des packages :&lt;br /&gt;
* Les packages (fichiers .deb)&lt;br /&gt;
* Les clés GPG &#039;&#039;&#039;(Voir si l&#039;on peut générer plusieurs clés publiques à partir d&#039;une clé privée)&#039;&#039;&#039;&lt;br /&gt;
* Les hash des clés&lt;br /&gt;
&lt;br /&gt;
Le Repository est mis à disposition du public grâe à une url. L&#039;accès se fait grâce à une clé GPG et les ports 80/443 (HTTP/HTTPS).&lt;br /&gt;
&lt;br /&gt;
= Annexes =&lt;br /&gt;
== Glossaire ==&lt;br /&gt;
Package :&lt;br /&gt;
&lt;br /&gt;
Git :&lt;br /&gt;
&lt;br /&gt;
Tarball :&lt;br /&gt;
&lt;br /&gt;
FrontEnd :&lt;br /&gt;
&lt;br /&gt;
BackEnd :&lt;br /&gt;
&lt;br /&gt;
Repository :&lt;br /&gt;
&lt;br /&gt;
== Structure du SRS ==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
== References : ==&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Page_contribution.png&amp;diff=33028</id>
		<title>File:Page contribution.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Page_contribution.png&amp;diff=33028"/>
		<updated>2017-02-01T10:25:17Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: Germain.Lecorps uploaded a new version of &amp;amp;quot;File:Page contribution.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Page_FAQ.png&amp;diff=33024</id>
		<title>File:Page FAQ.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Page_FAQ.png&amp;diff=33024"/>
		<updated>2017-02-01T10:16:44Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Page_contribution.png&amp;diff=33023</id>
		<title>File:Page contribution.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Page_contribution.png&amp;diff=33023"/>
		<updated>2017-02-01T10:16:23Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Page_recherche.png&amp;diff=33022</id>
		<title>File:Page recherche.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Page_recherche.png&amp;diff=33022"/>
		<updated>2017-02-01T10:16:14Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Page_acceuil_-_Login.png&amp;diff=33021</id>
		<title>File:Page acceuil - Login.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Page_acceuil_-_Login.png&amp;diff=33021"/>
		<updated>2017-02-01T10:15:44Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Maquette_-_Gestionnaire_de_packages&amp;diff=33019</id>
		<title>Maquette - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Maquette_-_Gestionnaire_de_packages&amp;diff=33019"/>
		<updated>2017-02-01T10:15:27Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: Created page with &amp;quot;= Équipe = * Rémi Gattaz * Germain Lecorps (Chef de Projet) * Thibaut Nouguier * Régis Ramel (Scrum Master)  == Gestionnaire de packages ==  === Identification === [[File:P...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
== Gestionnaire de packages ==&lt;br /&gt;
&lt;br /&gt;
=== Identification ===&lt;br /&gt;
[[File:Page acceuil - Login.png|thumb|center|upright=4]]&lt;br /&gt;
&lt;br /&gt;
=== Affichage des packages ===&lt;br /&gt;
[[File:Page recherche.png|thumb|center|upright=4]]&lt;br /&gt;
&lt;br /&gt;
=== Contribution ===&lt;br /&gt;
[[File:Page contribution.png|thumb|center|upright=4]]&lt;br /&gt;
&lt;br /&gt;
=== FAQ ===&lt;br /&gt;
[[File:Page FAQ.png|thumb|center|upright=4]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projet_2017_:_Gestionnaire_de_packages_Polytech&amp;diff=33016</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=33016"/>
		<updated>2017-02-01T10:11:39Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* 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;
* [[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;
* [[Analyse des besoins - Gestionnaire de packages| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:PresentationDuProjet.pdf| &#039;&#039;&#039;Présentation du projet - Première séance de 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/&#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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=32989</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=32989"/>
		<updated>2017-01-31T15:57:09Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Mardi 31 janvier */&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;
* Interview&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;
&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;
=== Jeudi 02 février ===&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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=32988</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=32988"/>
		<updated>2017-01-31T15:56:32Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Mardi 31 janvier */&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&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;
* Interview&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;
&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;
=== Jeudi 02 février ===&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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=32968</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=32968"/>
		<updated>2017-01-31T13:02:49Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Mardi 31 janvier */&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;
=== Mercredi 01 février ===&lt;br /&gt;
&lt;br /&gt;
=== Jeudi 02 février ===&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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Linux_Packages&amp;diff=32860</id>
		<title>Linux Packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Linux_Packages&amp;diff=32860"/>
		<updated>2017-01-26T15:32:10Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Probabilités et simulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page recense les logiciels et les paquets nécessaires pour les cours à Polytech. Vous pouvez les installer selon vos besoins à l&#039;issu de la [[Linux Install Party]]. N&#039;hésitez pas à signaler les manques et les erreurs sur cette page. Précisez bien à chaque fois votre distribution (Debian/Ubuntu)&lt;br /&gt;
&#039;&#039;&#039;ainsi que sa version&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Les noms de paquets sont à gauche des &amp;quot;:&amp;quot; avec les conventions suivantes :&lt;br /&gt;
* paquet : paquet valable pour Debian et Ubuntu, toutes versions (raisonnables)&lt;br /&gt;
* paquet/debian : paquet valable pour Debian&lt;br /&gt;
* paquet/debian/wheezy : paquet valable pour la distribution Debian Wheezy&lt;br /&gt;
* paquet/ubuntu : paquet valable pour Ubuntu&lt;br /&gt;
* ...&lt;br /&gt;
* XXX : le paquet n&#039;existe pas, le logiciel doit être installé manuellement&lt;br /&gt;
&lt;br /&gt;
Dans la mesure du possible, pour profiter d&#039;une intégration maximale de vos&lt;br /&gt;
logiciels entre eux, des mises à jour, des corrections des sécurités, etc.,&lt;br /&gt;
préférez installer les logiciels à partir des paquets de votre distribution.&lt;br /&gt;
Évidemment, il y a des exceptions à cette règle : logiciel non packagé, besoin&lt;br /&gt;
impératif d&#039;une version plus récentes que celle packagée, etc.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Comment chercher des paquets ==&lt;br /&gt;
&lt;br /&gt;
=== Recherche ===&lt;br /&gt;
&lt;br /&gt;
Recherche de paquets par mots clés dans leur description&lt;br /&gt;
&lt;br /&gt;
  sudo apt-get update&lt;br /&gt;
  apt-cache search &#039;&#039;motclé1 motclé2&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recherche de paquets par nom de fichier&lt;br /&gt;
&lt;br /&gt;
  sudo apt-file update&lt;br /&gt;
  apt-file search &#039;&#039;nom_de_fichier&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Visualisation de la description d&#039;un paquet&lt;br /&gt;
&lt;br /&gt;
  apt-cache show &#039;&#039;nom_de_paquet&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Bibliothèques ===&lt;br /&gt;
&lt;br /&gt;
Quand vous avez besoin d&#039;une bibliothèque pour de la programmation,&lt;br /&gt;
c&#039;est souvent du paquet dont le nom fini par &#039;&#039;&#039;-dev&#039;&#039;&#039; que vous avez besoin.&lt;br /&gt;
&lt;br /&gt;
== Tâches génériques ==&lt;br /&gt;
&lt;br /&gt;
* nautilus-open-terminal&lt;br /&gt;
* minicom&lt;br /&gt;
&lt;br /&gt;
=== Environnement de travail ===&lt;br /&gt;
&lt;br /&gt;
* task-&lt;br /&gt;
* task-french-kde-desktop&lt;br /&gt;
* task-xfce-desktop&lt;br /&gt;
* task-lxde-desktop&lt;br /&gt;
&lt;br /&gt;
=== Programmation ===&lt;br /&gt;
&lt;br /&gt;
==== Outils ====&lt;br /&gt;
* build-essential : les outils de base (gcc, make, etc.)&lt;br /&gt;
* g++ : compilateur C++&lt;br /&gt;
* git, gitk, git-gui, tig, git-extras : Outils collaboratifs de gestion de versions (distribué)&lt;br /&gt;
* subversion git-svn : Outils collaboratifs de gestion de versions (centralisé)&lt;br /&gt;
* kgdb, ddd, valgrind : Outils de déverminage&lt;br /&gt;
&lt;br /&gt;
==== Documentation des appels systèmes et de la bibliothèque C ====&lt;br /&gt;
* manpages-dev: Documentation sur l&#039;API C et les appels systèmes (Section 2 et 3)&lt;br /&gt;
* manpages-posix: Documentation sur les outils POSIX (Section 1)&lt;br /&gt;
* manpages-posix-dev: Documentation sur l&#039;API POSIX (Section 3 et 7)&lt;br /&gt;
* manpages-fr-dev: Documentation pour les appels systèmes (en français)&lt;br /&gt;
* manpages-fr-extra: Documentation pour l&#039;API POSIX (en français)&lt;br /&gt;
&lt;br /&gt;
==== Éditeurs ====&lt;br /&gt;
* vim ou emacs : éditeur de programmes (indentation automatique, coloration syntaxique, etc.)&lt;br /&gt;
* joe, nano&lt;br /&gt;
* kate, geany, code::blocks&lt;br /&gt;
* eclipse, eclipse-cdt, eclipse-egit : Outils de développement&lt;br /&gt;
&lt;br /&gt;
==== AOO (programmation object en Java) ====&lt;br /&gt;
&lt;br /&gt;
* openjdk-9-sdk : Java Standard Development Kit version 1.9&lt;br /&gt;
* openjdk-9-doc : la documentation du JDK (peut aussi être consultée en ligne)&lt;br /&gt;
&lt;br /&gt;
=== Réseau ===&lt;br /&gt;
&lt;br /&gt;
* wireshark : Analyseur de trames réseaux&lt;br /&gt;
&lt;br /&gt;
== Enseignements RICM ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mobilité, Multimédia et Données Ouvertes ===&lt;br /&gt;
&lt;br /&gt;
* apache2 : Apache HTTP Server metapackage&lt;br /&gt;
* libapache2-mod-php5: server-side, HTML-embedded scripting language (Apache 2 module)&lt;br /&gt;
* php5-curl: CURL module for php5&lt;br /&gt;
* php5-cli: command-line interpreter for the php5 scripting language&lt;br /&gt;
&lt;br /&gt;
=== AOO (programmation object en Java) ===&lt;br /&gt;
&lt;br /&gt;
* javacc javacc-doc : un générateur de parser avec sa doc&lt;br /&gt;
* XXX : plugin éclipse pour javacc&lt;br /&gt;
* XXX : EUML2 si une version gratuite est sortie pour Éclipse&lt;br /&gt;
&lt;br /&gt;
=== OCaml ===&lt;br /&gt;
&lt;br /&gt;
* ocaml : Méta-package pour l&#039;essentiel du développement OCaml&lt;br /&gt;
* ocaml-core : la base d&#039;OCaml&lt;br /&gt;
* ocaml-native-compilers : compilateurs optimisés (code natif)&lt;br /&gt;
* ocaml-findlib : gestionnaire de bibliothèques&lt;br /&gt;
* camlp4 : Préprocesseur pour la programmation caml&lt;br /&gt;
* liblablgl-ocaml-dev : pour de développement d&#039;applications graphiques&lt;br /&gt;
* tuareg-mode : un mode OCaml pour Emacs&lt;br /&gt;
&lt;br /&gt;
=== Réseau ===&lt;br /&gt;
&lt;br /&gt;
* libreadline-dev : une bibliothèque nécessaire pour :&lt;br /&gt;
* XXX : des outils maisons à retrouver [http://imag-moodle.e.ujf-grenoble.fr/mod/folder/view.php?id=3368 ici]&lt;br /&gt;
* [http://socklab.forge.imag.fr/socklab.html Socklab] : Outil pour les TP sur les sockets réseaux&lt;br /&gt;
* gns3 : Simulateur de réseaux&lt;br /&gt;
&lt;br /&gt;
=== ALM1 ===&lt;br /&gt;
&lt;br /&gt;
* XXX : des outils disponibles [http://imag-moodle.e.ujf-grenoble.fr/mod/folder/view.php?id=2105 ici]&lt;br /&gt;
&lt;br /&gt;
=== Traitement du signal ===&lt;br /&gt;
&lt;br /&gt;
* python : Python language&lt;br /&gt;
* XXX : [http://www.continuum.io/ Anaconda]. Suivre le guide [http://chamilo1.grenet.fr/ujf/main/course_description/?cidReq=FAMILIARISATIONAVECPYTHONSUITEANACON&amp;amp;id_session=0&amp;amp;gidReq=0 ici]&lt;br /&gt;
&lt;br /&gt;
=== Probabilités et simulation ===&lt;br /&gt;
&lt;br /&gt;
* r-base : Outil R d&#039;analyse statistique&lt;br /&gt;
* RStudio : RStudio est un environnement de développement multiplateforme pour R, un langage de programmation utilisé pour le traitement de données et l’analyse statistique. Il est disponible sous la licence libre AGPLv3, ou bien sous une licence commerciale, soumise à un abonnement annuel.&lt;br /&gt;
&lt;br /&gt;
== Enseignements 3I ==&lt;br /&gt;
&lt;br /&gt;
* libx11-dev : bibliothèque de développement X11&lt;br /&gt;
&lt;br /&gt;
== Enseignements TIS ==&lt;br /&gt;
&lt;br /&gt;
=== APO ===&lt;br /&gt;
&lt;br /&gt;
* Eclipse/Netbeans : Développement Java&lt;br /&gt;
&lt;br /&gt;
=== Réseaux ===&lt;br /&gt;
&lt;br /&gt;
* Voir la section [http://air.imag.fr/index.php/Linux_Packages#R.C3.A9seau réseaux en RICM].&lt;br /&gt;
&lt;br /&gt;
=== Applications médicales ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.debian.org/devel/debian-med/ Debian Med] -  Dans les packages med-* (med-tasks pour tout)&lt;br /&gt;
&lt;br /&gt;
== Autres enseignements ==&lt;br /&gt;
&lt;br /&gt;
* libasound2-dev&lt;br /&gt;
&lt;br /&gt;
=== Sagemath ===&lt;br /&gt;
&lt;br /&gt;
* sagemath&lt;br /&gt;
* qtcreator&lt;br /&gt;
* qt4-designer&lt;br /&gt;
* qt4-dev-tools&lt;br /&gt;
* python3-all-dev&lt;br /&gt;
* python3-pyqt4&lt;br /&gt;
* python3-numpy&lt;br /&gt;
* pyqt4-dev-tools&lt;br /&gt;
* python-qwt5-qt4&lt;br /&gt;
* python-matplotlib&lt;br /&gt;
* ipython3&lt;br /&gt;
* ipython3-notebook&lt;br /&gt;
* ipython3-qtconsole&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32856</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32856"/>
		<updated>2017-01-26T14:56:57Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Cas d&amp;#039;utilisations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
=Description générale=&lt;br /&gt;
==Le but du projet==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
*1 Étudiant&lt;br /&gt;
Personne souhaitant téléchargé des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
*2 Enseignant&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
*3 Administrateur &lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
//TODO&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
*Le site internet doit avoir un nombre d&#039;annonces conséquent si il veut attirer des utilisateurs. Et s&#039;il n&#039;en attire pas, il y aura de moins en moins d&#039;annonces.&lt;br /&gt;
*Le lancement du site et le travail sur son attractivité s&#039;annonce délicat.&lt;br /&gt;
*L&#039;utilisateur souhaitant mettre en ligne une annonce doit être connecté.&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Cross-plateformes&lt;br /&gt;
*Application mobile&lt;br /&gt;
*Amélioration du design du site&lt;br /&gt;
*Ajout de publicités&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32855</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32855"/>
		<updated>2017-01-26T14:56:44Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Cas d&amp;#039;utilisations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
=Description générale=&lt;br /&gt;
==Le but du projet==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
*1 Étudiant&lt;br /&gt;
Personne souhaitant téléchargé des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
*2 Enseignant&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
*3 Administrateur &lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
**TODO**&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
*Le site internet doit avoir un nombre d&#039;annonces conséquent si il veut attirer des utilisateurs. Et s&#039;il n&#039;en attire pas, il y aura de moins en moins d&#039;annonces.&lt;br /&gt;
*Le lancement du site et le travail sur son attractivité s&#039;annonce délicat.&lt;br /&gt;
*L&#039;utilisateur souhaitant mettre en ligne une annonce doit être connecté.&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Cross-plateformes&lt;br /&gt;
*Application mobile&lt;br /&gt;
*Amélioration du design du site&lt;br /&gt;
*Ajout de publicités&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32854</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32854"/>
		<updated>2017-01-26T14:55:05Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Utilisateurs potentiels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
=Description générale=&lt;br /&gt;
==Le but du projet==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
*1 Étudiant&lt;br /&gt;
Personne souhaitant téléchargé des packages spécifiques à sa formation&lt;br /&gt;
&lt;br /&gt;
*2 Enseignant&lt;br /&gt;
Personne souhaitant créer un package pour sa matière.&lt;br /&gt;
&lt;br /&gt;
*3 Administrateur &lt;br /&gt;
Il peut également ajouter des packages ou en supprimer. Il peut aussi accéder à la maintenance des packages en cas d&#039;erreur pendant l&#039;automatisation.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur peut à tout moment se connecter sur le site en cliquant sur le bouton &amp;quot;Login&amp;quot; en haut à droite de l&#039;écran. Une fois celui-ci cliqué, une nouvelle fenêtre va s&#039;ouvrir. L&#039;utilisateur devra renseigner son identifiant et son mot de passe. Un bouton mot de passe oublié est cliquable. Si l&#039;utilisateur clique dessus, il devra renseigner son email et un mail contenant ses identifiants et mot de passe lui sera envoyé à l&#039;adresse renseignée précédemment si le compte existe. De plus, un bouton &amp;quot;S&#039;incrire&amp;quot; ouvre une nouvelle fenêtre qui permet à l&#039;utilisateur de renseigner son identifiant (unique), son nom, ses coordonnées (email et un numéro de téléphone (optionnel)), son département et ville, ainsi que son mot de passe.&lt;br /&gt;
*Se déconnecter&lt;br /&gt;
Un utilisateur connecté peut à tout moment cliquer sur le bouton &amp;quot;Logout&amp;quot; en haut à droite de l&#039;écran.&lt;br /&gt;
*Mettre en ligne une annonce&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. Un bouton &amp;quot;Mettre une annonce&amp;quot; en ligne est disponible à tout moment en haut à droite de l&#039;écran. Si l&#039;utilisateur clique dessus, une nouvelle fenêtre va apparaître. L&#039;utilisateur devra renseigner le nom de l&#039;annonce (unique), un prix, un type, la ville, le département et une description de minimum 20 mots. L&#039;ajout de photos est optionnel.&lt;br /&gt;
*Consulter une annonce&lt;br /&gt;
L&#039;utilisateur peut à tout moment consulter les annonces en ligne. Cet onglet recherche est disponible sur la page d&#039;accueil du site. Des mots-clés peuvent être saisi pour réduire la recherche. De manière optionnelle, l&#039;utilisateur peut aussi demander une recherche plus précise en précisant une ville, une région ou un département, un type d&#039;annonce, un intervalle de prix et une date maximum d&#039;ancienneté de l&#039;annonce. Une fois le bouton &amp;quot;Recherche&amp;quot; cliqué, une liste d&#039;annonces correspondant aux critères de recherche va s&#039;afficher. Chaque ligne correspondra à une annonce. Seront renseignés le nom de l&#039;annonce, sa date de parution, son prix, un extrait de la description, une image si elle en comporte, sa ville/département ou région. Elles seront tout d&#039;abord triées par date de parution. L&#039;utilisateur peut les trier ensuite en cliquant sur les boutons correspondants par prix, nom (alphabétique), ville, département ou région. L&#039;utilisateur aura à cliquer sur le nom de l&#039;annonce pour voir les informations relatives à l&#039;annonce.&lt;br /&gt;
Une fois une annonce ouverte, une nouvelle fenêtre va apparaître. Dans cette fenêtre, seront renseignés les champs précisé précédemment ainsi que une description complète de l&#039;annonce, le contact de l&#039;annonceur et toutes les photos disponibles pour l&#039;annonce. Un bouton &amp;quot;Retour aux annonces&amp;quot; permettra de retourner à la liste d&#039;annonces.&lt;br /&gt;
*Editer son profil&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. L&#039;utilisateur peut à tout moment clique sur le bouton &amp;quot;Profil&amp;quot; dans le bandeau à gauuche de l&#039;écran. Une fois ce bouton cliqué, une nouvelle fenêtre s&#039;affiche. Un bouton édition sera disponible sur celle-ci, permettant de modifier le nom d&#039;utilisateur, le mot de passe, la ville/département de l&#039;utilisateur ainsi que sa photo de profil.&lt;br /&gt;
*Consulter ses annonces&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. Une fois l&#039;utilisateur sur la fenêtre d&#039;édition du profil, un bouton &amp;quot;Voir ses annonces&amp;quot; est disponible. Si l&#039;utilisateur clique dessus, la liste de ses annonces apparaîtra sur la même fenêtre, triée tout d&#039;abord par date de parution. Sera renseigné par ligne d&#039;annonce : Son nom, son prix, un extrait de la description de l&#039;annonce et sa photo. L&#039;utilisateur pourra les trier par nom (alphabétique), prix et date. L&#039;utilisateur peut aussi cliquer sur le nom d&#039;une annonce pour avoir toutes les informations de celle-ci, comme dans le cas d&#039;utilisation &amp;quot;Consulter une annonce&amp;quot;.&lt;br /&gt;
*Supprimer/Editer une annonce&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible et ne peut éditer ou supprimer que des annonces dont il est le créateur. L&#039;utilisateur a deux moyens de supprimer une annonce. Soit il ouvre la page de son annonce et clique sur le bouton correspondant sur l&#039;écran, soit lorsqu&#039;il pratique le cas d&#039;utilisation &amp;quot;Consulter ses annonces&amp;quot;, un bouton éditer/supprimer est disponible à chaque ligne d&#039;annonce.&lt;br /&gt;
Si l&#039;utilisateur décide de supprimer une annonce, un message de confirmation lui sera demandé.&lt;br /&gt;
Si l&#039;utilisateur décide d&#039;éditer une annonce, il pourra modifier le prix, la description, le nom et les photos.&lt;br /&gt;
*Administrer&lt;br /&gt;
L&#039;administrateur se connecte au serveur via l&#039;interface dédiée et a accès aux fonctionnalités disponibles pour gérer la base de données.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
*Le site internet doit avoir un nombre d&#039;annonces conséquent si il veut attirer des utilisateurs. Et s&#039;il n&#039;en attire pas, il y aura de moins en moins d&#039;annonces.&lt;br /&gt;
*Le lancement du site et le travail sur son attractivité s&#039;annonce délicat.&lt;br /&gt;
*L&#039;utilisateur souhaitant mettre en ligne une annonce doit être connecté.&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Cross-plateformes&lt;br /&gt;
*Application mobile&lt;br /&gt;
*Amélioration du design du site&lt;br /&gt;
*Ajout de publicités&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32848</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32848"/>
		<updated>2017-01-26T14:32:37Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Fonctionnalités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
=Description générale=&lt;br /&gt;
==Le but du projet==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&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;
*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;
*Ajouter/Supprimer des utilisateurs&lt;br /&gt;
*Mise à jour / maintenance automatique des packages&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
*1 Vendeur&lt;br /&gt;
Personne souhaitant consulter une annonce.&lt;br /&gt;
&lt;br /&gt;
*2 Acheteur&lt;br /&gt;
Personne souhaitant mettre en ligne une annonce.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note : Un utilisateur peut être vendeur ET acheteur.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*3 Administrateur &lt;br /&gt;
Modère les annonces et les profils d&#039;utilisateurs ne respectant la charte de déontologie du site.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur peut à tout moment se connecter sur le site en cliquant sur le bouton &amp;quot;Login&amp;quot; en haut à droite de l&#039;écran. Une fois celui-ci cliqué, une nouvelle fenêtre va s&#039;ouvrir. L&#039;utilisateur devra renseigner son identifiant et son mot de passe. Un bouton mot de passe oublié est cliquable. Si l&#039;utilisateur clique dessus, il devra renseigner son email et un mail contenant ses identifiants et mot de passe lui sera envoyé à l&#039;adresse renseignée précédemment si le compte existe. De plus, un bouton &amp;quot;S&#039;incrire&amp;quot; ouvre une nouvelle fenêtre qui permet à l&#039;utilisateur de renseigner son identifiant (unique), son nom, ses coordonnées (email et un numéro de téléphone (optionnel)), son département et ville, ainsi que son mot de passe.&lt;br /&gt;
*Se déconnecter&lt;br /&gt;
Un utilisateur connecté peut à tout moment cliquer sur le bouton &amp;quot;Logout&amp;quot; en haut à droite de l&#039;écran.&lt;br /&gt;
*Mettre en ligne une annonce&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. Un bouton &amp;quot;Mettre une annonce&amp;quot; en ligne est disponible à tout moment en haut à droite de l&#039;écran. Si l&#039;utilisateur clique dessus, une nouvelle fenêtre va apparaître. L&#039;utilisateur devra renseigner le nom de l&#039;annonce (unique), un prix, un type, la ville, le département et une description de minimum 20 mots. L&#039;ajout de photos est optionnel.&lt;br /&gt;
*Consulter une annonce&lt;br /&gt;
L&#039;utilisateur peut à tout moment consulter les annonces en ligne. Cet onglet recherche est disponible sur la page d&#039;accueil du site. Des mots-clés peuvent être saisi pour réduire la recherche. De manière optionnelle, l&#039;utilisateur peut aussi demander une recherche plus précise en précisant une ville, une région ou un département, un type d&#039;annonce, un intervalle de prix et une date maximum d&#039;ancienneté de l&#039;annonce. Une fois le bouton &amp;quot;Recherche&amp;quot; cliqué, une liste d&#039;annonces correspondant aux critères de recherche va s&#039;afficher. Chaque ligne correspondra à une annonce. Seront renseignés le nom de l&#039;annonce, sa date de parution, son prix, un extrait de la description, une image si elle en comporte, sa ville/département ou région. Elles seront tout d&#039;abord triées par date de parution. L&#039;utilisateur peut les trier ensuite en cliquant sur les boutons correspondants par prix, nom (alphabétique), ville, département ou région. L&#039;utilisateur aura à cliquer sur le nom de l&#039;annonce pour voir les informations relatives à l&#039;annonce.&lt;br /&gt;
Une fois une annonce ouverte, une nouvelle fenêtre va apparaître. Dans cette fenêtre, seront renseignés les champs précisé précédemment ainsi que une description complète de l&#039;annonce, le contact de l&#039;annonceur et toutes les photos disponibles pour l&#039;annonce. Un bouton &amp;quot;Retour aux annonces&amp;quot; permettra de retourner à la liste d&#039;annonces.&lt;br /&gt;
*Editer son profil&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. L&#039;utilisateur peut à tout moment clique sur le bouton &amp;quot;Profil&amp;quot; dans le bandeau à gauuche de l&#039;écran. Une fois ce bouton cliqué, une nouvelle fenêtre s&#039;affiche. Un bouton édition sera disponible sur celle-ci, permettant de modifier le nom d&#039;utilisateur, le mot de passe, la ville/département de l&#039;utilisateur ainsi que sa photo de profil.&lt;br /&gt;
*Consulter ses annonces&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. Une fois l&#039;utilisateur sur la fenêtre d&#039;édition du profil, un bouton &amp;quot;Voir ses annonces&amp;quot; est disponible. Si l&#039;utilisateur clique dessus, la liste de ses annonces apparaîtra sur la même fenêtre, triée tout d&#039;abord par date de parution. Sera renseigné par ligne d&#039;annonce : Son nom, son prix, un extrait de la description de l&#039;annonce et sa photo. L&#039;utilisateur pourra les trier par nom (alphabétique), prix et date. L&#039;utilisateur peut aussi cliquer sur le nom d&#039;une annonce pour avoir toutes les informations de celle-ci, comme dans le cas d&#039;utilisation &amp;quot;Consulter une annonce&amp;quot;.&lt;br /&gt;
*Supprimer/Editer une annonce&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible et ne peut éditer ou supprimer que des annonces dont il est le créateur. L&#039;utilisateur a deux moyens de supprimer une annonce. Soit il ouvre la page de son annonce et clique sur le bouton correspondant sur l&#039;écran, soit lorsqu&#039;il pratique le cas d&#039;utilisation &amp;quot;Consulter ses annonces&amp;quot;, un bouton éditer/supprimer est disponible à chaque ligne d&#039;annonce.&lt;br /&gt;
Si l&#039;utilisateur décide de supprimer une annonce, un message de confirmation lui sera demandé.&lt;br /&gt;
Si l&#039;utilisateur décide d&#039;éditer une annonce, il pourra modifier le prix, la description, le nom et les photos.&lt;br /&gt;
*Administrer&lt;br /&gt;
L&#039;administrateur se connecte au serveur via l&#039;interface dédiée et a accès aux fonctionnalités disponibles pour gérer la base de données.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
*Le site internet doit avoir un nombre d&#039;annonces conséquent si il veut attirer des utilisateurs. Et s&#039;il n&#039;en attire pas, il y aura de moins en moins d&#039;annonces.&lt;br /&gt;
*Le lancement du site et le travail sur son attractivité s&#039;annonce délicat.&lt;br /&gt;
*L&#039;utilisateur souhaitant mettre en ligne une annonce doit être connecté.&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Cross-plateformes&lt;br /&gt;
*Application mobile&lt;br /&gt;
*Amélioration du design du site&lt;br /&gt;
*Ajout de publicités&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32845</id>
		<title>SRS - Gestionnaire de packages</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=SRS_-_Gestionnaire_de_packages&amp;diff=32845"/>
		<updated>2017-01-26T14:24:08Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: Created page with &amp;quot;Voici la fiche SRS du Projet 2017 : Gestionnaire de package.   &amp;#039;&amp;#039;&amp;#039;Page d&amp;#039;accueil du projet&amp;#039;&amp;#039;&amp;#039;  = Équipe = * Rémi Gattaz *...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche SRS 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;
=Description générale=&lt;br /&gt;
==Le but du projet==&lt;br /&gt;
Le but de ce site est de fournir une plateforme de rencontre et de mise en relation des particuliers ou des professionnels qui souhaitent proposer des produits à la vente d&#039;occasion, ou chercher des articles hors des magasins ou sites de vente traditionnels. Ce site a pour but d&#039;être accessible et facile d&#039;utilisation pour les personnes qui n&#039;ont pas une grande expérience dans l&#039;utilisation de sites webs.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
*Mettre en ligne une annonce avec des photos, une description et un prix.&lt;br /&gt;
*Rechercher des annonces par mot-clé et/ou région. Possibilité de trier les annonces par pertinence, région ou prix.&lt;br /&gt;
*Consulter une annonce et voir les coordonnées de son vendeur.&lt;br /&gt;
*Editer son profil (mot de passe, coordonnées).&lt;br /&gt;
*Consulter et éditer ou supprimer ses annonces.&lt;br /&gt;
*Administrer les annonces et les profils (Edition/Suppression).&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs potentiels==&lt;br /&gt;
*1 Vendeur&lt;br /&gt;
Personne souhaitant consulter une annonce.&lt;br /&gt;
&lt;br /&gt;
*2 Acheteur&lt;br /&gt;
Personne souhaitant mettre en ligne une annonce.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note : Un utilisateur peut être vendeur ET acheteur.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
*3 Administrateur &lt;br /&gt;
Modère les annonces et les profils d&#039;utilisateurs ne respectant la charte de déontologie du site.&lt;br /&gt;
&lt;br /&gt;
==Cas d&#039;utilisations==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur peut à tout moment se connecter sur le site en cliquant sur le bouton &amp;quot;Login&amp;quot; en haut à droite de l&#039;écran. Une fois celui-ci cliqué, une nouvelle fenêtre va s&#039;ouvrir. L&#039;utilisateur devra renseigner son identifiant et son mot de passe. Un bouton mot de passe oublié est cliquable. Si l&#039;utilisateur clique dessus, il devra renseigner son email et un mail contenant ses identifiants et mot de passe lui sera envoyé à l&#039;adresse renseignée précédemment si le compte existe. De plus, un bouton &amp;quot;S&#039;incrire&amp;quot; ouvre une nouvelle fenêtre qui permet à l&#039;utilisateur de renseigner son identifiant (unique), son nom, ses coordonnées (email et un numéro de téléphone (optionnel)), son département et ville, ainsi que son mot de passe.&lt;br /&gt;
*Se déconnecter&lt;br /&gt;
Un utilisateur connecté peut à tout moment cliquer sur le bouton &amp;quot;Logout&amp;quot; en haut à droite de l&#039;écran.&lt;br /&gt;
*Mettre en ligne une annonce&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. Un bouton &amp;quot;Mettre une annonce&amp;quot; en ligne est disponible à tout moment en haut à droite de l&#039;écran. Si l&#039;utilisateur clique dessus, une nouvelle fenêtre va apparaître. L&#039;utilisateur devra renseigner le nom de l&#039;annonce (unique), un prix, un type, la ville, le département et une description de minimum 20 mots. L&#039;ajout de photos est optionnel.&lt;br /&gt;
*Consulter une annonce&lt;br /&gt;
L&#039;utilisateur peut à tout moment consulter les annonces en ligne. Cet onglet recherche est disponible sur la page d&#039;accueil du site. Des mots-clés peuvent être saisi pour réduire la recherche. De manière optionnelle, l&#039;utilisateur peut aussi demander une recherche plus précise en précisant une ville, une région ou un département, un type d&#039;annonce, un intervalle de prix et une date maximum d&#039;ancienneté de l&#039;annonce. Une fois le bouton &amp;quot;Recherche&amp;quot; cliqué, une liste d&#039;annonces correspondant aux critères de recherche va s&#039;afficher. Chaque ligne correspondra à une annonce. Seront renseignés le nom de l&#039;annonce, sa date de parution, son prix, un extrait de la description, une image si elle en comporte, sa ville/département ou région. Elles seront tout d&#039;abord triées par date de parution. L&#039;utilisateur peut les trier ensuite en cliquant sur les boutons correspondants par prix, nom (alphabétique), ville, département ou région. L&#039;utilisateur aura à cliquer sur le nom de l&#039;annonce pour voir les informations relatives à l&#039;annonce.&lt;br /&gt;
Une fois une annonce ouverte, une nouvelle fenêtre va apparaître. Dans cette fenêtre, seront renseignés les champs précisé précédemment ainsi que une description complète de l&#039;annonce, le contact de l&#039;annonceur et toutes les photos disponibles pour l&#039;annonce. Un bouton &amp;quot;Retour aux annonces&amp;quot; permettra de retourner à la liste d&#039;annonces.&lt;br /&gt;
*Editer son profil&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. L&#039;utilisateur peut à tout moment clique sur le bouton &amp;quot;Profil&amp;quot; dans le bandeau à gauuche de l&#039;écran. Une fois ce bouton cliqué, une nouvelle fenêtre s&#039;affiche. Un bouton édition sera disponible sur celle-ci, permettant de modifier le nom d&#039;utilisateur, le mot de passe, la ville/département de l&#039;utilisateur ainsi que sa photo de profil.&lt;br /&gt;
*Consulter ses annonces&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible. Une fois l&#039;utilisateur sur la fenêtre d&#039;édition du profil, un bouton &amp;quot;Voir ses annonces&amp;quot; est disponible. Si l&#039;utilisateur clique dessus, la liste de ses annonces apparaîtra sur la même fenêtre, triée tout d&#039;abord par date de parution. Sera renseigné par ligne d&#039;annonce : Son nom, son prix, un extrait de la description de l&#039;annonce et sa photo. L&#039;utilisateur pourra les trier par nom (alphabétique), prix et date. L&#039;utilisateur peut aussi cliquer sur le nom d&#039;une annonce pour avoir toutes les informations de celle-ci, comme dans le cas d&#039;utilisation &amp;quot;Consulter une annonce&amp;quot;.&lt;br /&gt;
*Supprimer/Editer une annonce&lt;br /&gt;
L&#039;utilisateur doit être connecté pour avoir cette option de disponible et ne peut éditer ou supprimer que des annonces dont il est le créateur. L&#039;utilisateur a deux moyens de supprimer une annonce. Soit il ouvre la page de son annonce et clique sur le bouton correspondant sur l&#039;écran, soit lorsqu&#039;il pratique le cas d&#039;utilisation &amp;quot;Consulter ses annonces&amp;quot;, un bouton éditer/supprimer est disponible à chaque ligne d&#039;annonce.&lt;br /&gt;
Si l&#039;utilisateur décide de supprimer une annonce, un message de confirmation lui sera demandé.&lt;br /&gt;
Si l&#039;utilisateur décide d&#039;éditer une annonce, il pourra modifier le prix, la description, le nom et les photos.&lt;br /&gt;
*Administrer&lt;br /&gt;
L&#039;administrateur se connecte au serveur via l&#039;interface dédiée et a accès aux fonctionnalités disponibles pour gérer la base de données.&lt;br /&gt;
&lt;br /&gt;
==Contraintes générales==&lt;br /&gt;
*Avoir une connexion internet.&lt;br /&gt;
*Avoir un niveau basique de connaissances informatiques (savoir s&#039;inscrire sur un site internet...).&lt;br /&gt;
*Le site internet doit avoir un nombre d&#039;annonces conséquent si il veut attirer des utilisateurs. Et s&#039;il n&#039;en attire pas, il y aura de moins en moins d&#039;annonces.&lt;br /&gt;
*Le lancement du site et le travail sur son attractivité s&#039;annonce délicat.&lt;br /&gt;
*L&#039;utilisateur souhaitant mettre en ligne une annonce doit être connecté.&lt;br /&gt;
&lt;br /&gt;
=Evolutions potentielles du produit=&lt;br /&gt;
*Cross-plateformes&lt;br /&gt;
*Application mobile&lt;br /&gt;
*Amélioration du design du site&lt;br /&gt;
*Ajout de publicités&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Appendices=&lt;br /&gt;
&lt;br /&gt;
==Structure du SRS==&lt;br /&gt;
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx&lt;br /&gt;
* http://en.wikipedia.org/wiki/Software_requirements_specification&lt;br /&gt;
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Gestionnaire_de_packages&amp;diff=32813</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=32813"/>
		<updated>2017-01-25T13:25:40Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Semaine 1 : 23/01 - 29/01 */&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 :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
Germain Lecorps :&lt;br /&gt;
* Travail sur la doc sur les repository Debian&lt;br /&gt;
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;
== Semaine 2 : 30/01 - 05/02 ==&lt;br /&gt;
Travail réalisé :&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>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projet_2017_:_Gestionnaire_de_packages_Polytech&amp;diff=32757</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=32757"/>
		<updated>2017-01-24T14:51:12Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Équipe */&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;
= Livrables =&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;
* [[Analyse des besoins - Gestionnaire de packages| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/&#039;&#039;&#039;Dépôt Git&#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;
* [[Liens - Gestionnaire de packages| &#039;&#039;&#039;Liens utiles&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projet_2017_:_Gestionnaire_de_packages_Polytech&amp;diff=32756</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=32756"/>
		<updated>2017-01-24T14:50:48Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Équipe */&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;
* &amp;lt;span style=&amp;quot;color: #FF0000;&amp;quot;&amp;gt;Germain Lecorps (Chef de Projet)&amp;lt;/span&amp;gt;&lt;br /&gt;
* Thibaut Nouguier&lt;br /&gt;
* Régis Ramel (Scrum Master)&lt;br /&gt;
&lt;br /&gt;
= Livrables =&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;
* [[Analyse des besoins - Gestionnaire de packages| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/&#039;&#039;&#039;Dépôt Git&#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;
* [[Liens - Gestionnaire de packages| &#039;&#039;&#039;Liens utiles&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=32134</id>
		<title>Scrum - Coivoiturage taxi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=32134"/>
		<updated>2016-12-13T07:40:55Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Quatrième sprint : 28/11 - 11/12 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016_Covoiturage| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Sprints Scrum =&lt;br /&gt;
&lt;br /&gt;
== Premier sprint : 03/10 - 16/10 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Réaliser tous les livrables pour la conception du site&lt;br /&gt;
** Diagramme Relationnel - Base de Données&lt;br /&gt;
** Dossier de Conception Système &lt;br /&gt;
** Analyse des besoins &lt;br /&gt;
** SRS&lt;br /&gt;
** Modèle de tâches&lt;br /&gt;
** Maquette&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 04/10 :&lt;br /&gt;
* Création des modèles de tâches&lt;br /&gt;
* Création de l&#039;IHM abstraite&lt;br /&gt;
* Création des premières maquettes&lt;br /&gt;
Jeudi 06/10 :&lt;br /&gt;
* Finalisation des modèles de tâches&lt;br /&gt;
* Créations des dernières maquettes importantes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 11/10 :&lt;br /&gt;
* Création du dossier le conception / travail sur les fonctionnalités utilisateur &lt;br /&gt;
* Réalisation de l&#039;analyse des besoins utilisateur grâce au questionnaire&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Travail sur le SRS&lt;br /&gt;
* Design de l&#039;architecture système&lt;br /&gt;
* Design de la base de données&lt;br /&gt;
* Préparation pour la soutenance conception&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Les livrables ont été rendus à temps&lt;br /&gt;
* Les maquettes doivent être révisés pour une version mobile du site&lt;br /&gt;
&lt;br /&gt;
== Deuxième sprint : 31/10 - 13/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Créer une base de site internet&lt;br /&gt;
* Mettre en place des images docker de base ainsi que des metrics&lt;br /&gt;
* Début de mise en place des EJB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 01/11 :&lt;br /&gt;
* Création d&#039;une base de site internet à partir d&#039;un template&lt;br /&gt;
* Mise en place des metrics pour notre site internet&lt;br /&gt;
Jeudi 03/11 :&lt;br /&gt;
* Mise en place d&#039;images docker pour glassfish, grafana, influxDB, mySQL...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 08/11 :&lt;br /&gt;
* Début de mise en place des EJB et de la base de données &lt;br /&gt;
* Modification du template&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Prise en main de AngularJS et HAProxy&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Une première version du site internet a bien été mise en place et les metrics correspondants fonctionnent&lt;br /&gt;
* Un premier travail sur la base de donnée à bien été effectué&lt;br /&gt;
&lt;br /&gt;
== Troisième sprint : 14/11 - 27/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Installer MySQL Cluster, HAProxy&lt;br /&gt;
* Mise en place de la gestion d&#039;utilisateurs&lt;br /&gt;
* Affichage de trajets pas tirés de la base de données (tests)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 15/11 :&lt;br /&gt;
* Installation de MySQL Cluster sur le cloud (migration sur Azur)&lt;br /&gt;
* Mise en place de la gestion utilisateur&lt;br /&gt;
** Création d&#039;un compte&lt;br /&gt;
** Connexion à un compte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 22/11 :&lt;br /&gt;
* Possibilité d&#039;afficher un trajet (pas depuis la base de données) sur une carte Google (Communication JSON)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
== Quatrième sprint : 28/11 - 11/12 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
* Mettre en place complètement la connexion utilisateur sécurisée&lt;br /&gt;
* Corrections de bugs&lt;br /&gt;
* Finaliser les documents&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 29/11 :&lt;br /&gt;
&lt;br /&gt;
* Finalisation de la mise en place de HAProxy&lt;br /&gt;
* Utilisation de cookies pour se connecter au bon serveur&lt;br /&gt;
&lt;br /&gt;
Mardi 06/12 :&lt;br /&gt;
&lt;br /&gt;
* Correction des dernières erreurs&lt;br /&gt;
* Finalisation des documents&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Les objectifs principaux ont été réalisés&lt;br /&gt;
* La terminaison SSL n&#039;a pas été mise en place puisqu&#039;elle empêchait les appels AJAX&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=32132</id>
		<title>Scrum - Coivoiturage taxi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=32132"/>
		<updated>2016-12-13T07:31:05Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Quatrième sprint : 28/11 - 11/12 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016_Covoiturage| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Sprints Scrum =&lt;br /&gt;
&lt;br /&gt;
== Premier sprint : 03/10 - 16/10 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Réaliser tous les livrables pour la conception du site&lt;br /&gt;
** Diagramme Relationnel - Base de Données&lt;br /&gt;
** Dossier de Conception Système &lt;br /&gt;
** Analyse des besoins &lt;br /&gt;
** SRS&lt;br /&gt;
** Modèle de tâches&lt;br /&gt;
** Maquette&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 04/10 :&lt;br /&gt;
* Création des modèles de tâches&lt;br /&gt;
* Création de l&#039;IHM abstraite&lt;br /&gt;
* Création des premières maquettes&lt;br /&gt;
Jeudi 06/10 :&lt;br /&gt;
* Finalisation des modèles de tâches&lt;br /&gt;
* Créations des dernières maquettes importantes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 11/10 :&lt;br /&gt;
* Création du dossier le conception / travail sur les fonctionnalités utilisateur &lt;br /&gt;
* Réalisation de l&#039;analyse des besoins utilisateur grâce au questionnaire&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Travail sur le SRS&lt;br /&gt;
* Design de l&#039;architecture système&lt;br /&gt;
* Design de la base de données&lt;br /&gt;
* Préparation pour la soutenance conception&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Les livrables ont été rendus à temps&lt;br /&gt;
* Les maquettes doivent être révisés pour une version mobile du site&lt;br /&gt;
&lt;br /&gt;
== Deuxième sprint : 31/10 - 13/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Créer une base de site internet&lt;br /&gt;
* Mettre en place des images docker de base ainsi que des metrics&lt;br /&gt;
* Début de mise en place des EJB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 01/11 :&lt;br /&gt;
* Création d&#039;une base de site internet à partir d&#039;un template&lt;br /&gt;
* Mise en place des metrics pour notre site internet&lt;br /&gt;
Jeudi 03/11 :&lt;br /&gt;
* Mise en place d&#039;images docker pour glassfish, grafana, influxDB, mySQL...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 08/11 :&lt;br /&gt;
* Début de mise en place des EJB et de la base de données &lt;br /&gt;
* Modification du template&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Prise en main de AngularJS et HAProxy&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Une première version du site internet a bien été mise en place et les metrics correspondants fonctionnent&lt;br /&gt;
* Un premier travail sur la base de donnée à bien été effectué&lt;br /&gt;
&lt;br /&gt;
== Troisième sprint : 14/11 - 27/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Installer MySQL Cluster, HAProxy&lt;br /&gt;
* Mise en place de la gestion d&#039;utilisateurs&lt;br /&gt;
* Affichage de trajets pas tirés de la base de données (tests)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 15/11 :&lt;br /&gt;
* Installation de MySQL Cluster sur le cloud (migration sur Azur)&lt;br /&gt;
* Mise en place de la gestion utilisateur&lt;br /&gt;
** Création d&#039;un compte&lt;br /&gt;
** Connexion à un compte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 22/11 :&lt;br /&gt;
* Possibilité d&#039;afficher un trajet (pas depuis la base de données) sur une carte Google (Communication JSON)&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
== Quatrième sprint : 28/11 - 11/12 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 29/11 :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 06/12 :&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32106</id>
		<title>ECOM2016 Covoiturage</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32106"/>
		<updated>2016-12-12T16:55:00Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Livrables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ECOM-RICM| &#039;&#039;&#039;Lien vers la page des projets ECOM-RICM&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but du projet est de réaliser un site de réservation de Taxi. La particularité de nos Taxis est que ce sont des voiture Autonome. &lt;br /&gt;
L&#039;application permettra de réserver des trajets en individuel mais aussi en covoiturage.&lt;br /&gt;
Les voyages seul seront des voyages porte à porte disponible à n&#039;importe quelle heure tandis que les voyages en covoiturage s&#039;effectueront entre différents points de rendez-vous à des horaires précis.&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* LECORPS Germain (Chef de projet)&lt;br /&gt;
* VOUTAT Manuel&lt;br /&gt;
* MATHIEU Tanguy&lt;br /&gt;
* HALLAL Marwan (Scrum Master)&lt;br /&gt;
* FOUNAS Abdelaziz&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Coivoiturage_taxi| &#039;&#039;&#039;Fiche de suivi&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Coivoiturage_taxi| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Diagramme Relationnel - Base de Données| &#039;&#039;&#039;Diagramme Relationnel - Base de Données&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:etudeeComG4.pdf| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Coivoiturage_taxi| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Coivoiturage_taxi| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches - Coivoiturage_taxi| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Coivoiturage_taxi| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/marwanh/ecomEJB &#039;&#039;&#039;Dépôt Git -- EJB&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_GlassfishApp &#039;&#039;&#039;Dépôt Git -- Website&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_Application &#039;&#039;&#039;Dépôt Git -- Génération EAR&#039;&#039;&#039;]&lt;br /&gt;
* [http://ecom45743.cloudapp.net/AutomaticAuto &#039;&#039;&#039;Apllication en ligne&#039;&#039;&#039;]&lt;br /&gt;
* [[Media:Presentation_conception_g4.pdf| &#039;&#039;&#039;Présentation de Conception&#039;&#039;&#039;]]&lt;br /&gt;
* [[Présentation finale - Coivoiturage_taxi| &#039;&#039;&#039;Présentation finale&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=32050</id>
		<title>Scrum - Coivoiturage taxi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=32050"/>
		<updated>2016-12-11T11:50:35Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Travail réalisé : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016_Covoiturage| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Sprints Scrum =&lt;br /&gt;
&lt;br /&gt;
== Premier sprint : 03/10 - 16/10 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Réaliser tous les livrables pour la conception du site&lt;br /&gt;
** Diagramme Relationnel - Base de Données&lt;br /&gt;
** Dossier de Conception Système &lt;br /&gt;
** Analyse des besoins &lt;br /&gt;
** SRS&lt;br /&gt;
** Modèle de tâches&lt;br /&gt;
** Maquette&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 04/10 :&lt;br /&gt;
* Création des modèles de tâches&lt;br /&gt;
* Création de l&#039;IHM abstraite&lt;br /&gt;
* Création des premières maquettes&lt;br /&gt;
Jeudi 06/10 :&lt;br /&gt;
* Finalisation des modèles de tâches&lt;br /&gt;
* Créations des dernières maquettes importantes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 11/10 :&lt;br /&gt;
* Création du dossier le conception / travail sur les fonctionnalités utilisateur &lt;br /&gt;
* Réalisation de l&#039;analyse des besoins utilisateur grâce au questionnaire&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Travail sur le SRS&lt;br /&gt;
* Design de l&#039;architecture système&lt;br /&gt;
* Design de la base de données&lt;br /&gt;
* Préparation pour la soutenance conception&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Les livrables ont été rendus à temps&lt;br /&gt;
* Les maquettes doivent être révisés pour une version mobile du site&lt;br /&gt;
&lt;br /&gt;
== Deuxième sprint : 31/10 - 13/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Créer une base de site internet&lt;br /&gt;
* Mettre en place des images docker de base ainsi que des metrics&lt;br /&gt;
* Début de mise en place des EJB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 01/11 :&lt;br /&gt;
* Création d&#039;une base de site internet à partir d&#039;un template&lt;br /&gt;
* Mise en place des metrics pour notre site internet&lt;br /&gt;
Jeudi 03/11 :&lt;br /&gt;
* Mise en place d&#039;images docker pour glassfish, grafana, influxDB, mySQL...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 08/11 :&lt;br /&gt;
* Début de mise en place des EJB et de la base de données &lt;br /&gt;
* Modification du template&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Prise en main de AngularJS et HAProxy&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Une première version du site internet a bien été mise en place et les metrics correspondants fonctionnent&lt;br /&gt;
* Un premier travail sur la base de donnée à bien été effectué&lt;br /&gt;
&lt;br /&gt;
== Troisième sprint : 14/11 - 27/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Installer MySQL Cluster, HAProxy&lt;br /&gt;
* Mise en place de la gestion d&#039;utilisateurs&lt;br /&gt;
* Affichage de trajets pas tirés de la base de données (tests)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 15/11 :&lt;br /&gt;
* Installation de MySQL Cluster sur le cloud (migration sur Azur)&lt;br /&gt;
* Mise en place de la gestion utilisateur&lt;br /&gt;
** Création d&#039;un compte&lt;br /&gt;
** Connexion à un compte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 22/11 :&lt;br /&gt;
* Possibilité d&#039;afficher un trajet (pas depuis la base de données) sur une carte Google&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Coivoiturage_taxi&amp;diff=32049</id>
		<title>Fiche de suivi - Coivoiturage taxi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Coivoiturage_taxi&amp;diff=32049"/>
		<updated>2016-12-11T11:46:44Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche de suivi du projet ECOM 2016-2017 : Coivoiturage taxi&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016_Covoiturage| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 12/09 - 18/09 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Création du groupe&lt;br /&gt;
* Création des pages wiki&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 19/09 - 25/09 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Début d&#039;apprentissage de JavaEE&lt;br /&gt;
* Création du questionnaire de besoins utilisateurs&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 26/09 - 02/10 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Prise en main de glassfish (mise en place d&#039;un serveur glassfish), de AWS et de docker (création d&#039;une image simple)&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 03/10 - 09/10 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Début du premier sprint scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Conception&lt;br /&gt;
** Création des modèles de tâches&lt;br /&gt;
** Création de l&#039;IHM abstraite&lt;br /&gt;
** Créations des maquettes&lt;br /&gt;
&lt;br /&gt;
* Tutoriel EJB, Tutoriel Servlet/JSP/REST/WS/Filter/Docker&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 10/10 - 16/10 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Conception système&lt;br /&gt;
** Fonctionnalités du système&lt;br /&gt;
** Design de l&#039;architecture système&lt;br /&gt;
* Création de la base de données associée à notre système&lt;br /&gt;
* Finalisation de l&#039;analyse des besoins à partir du questionnaire&lt;br /&gt;
* Création du SRS&lt;br /&gt;
* Préparation pour la soutenance conception&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fin du premier sprint scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 17/10 - 23/10 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Soutenance conception&lt;br /&gt;
* Révision des différents pointes évoqués par les enseignants durant la soutenance&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 24/10 - 30/10 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Installation de tous les outils nécessaires pour le projet&lt;br /&gt;
* Prise en main (via tutoriel principalement) de ces outils et des différentes technologies (AngularJS, Bootstrap, Jersey, EJB, Swagger, Metrics, Docker, HAProxy, Grafana, InfluxDB, MySQL)&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 31/10 - 06/11 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Début du deuxième sprint Scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Création d&#039;une base de site internet à partir d&#039;un template&lt;br /&gt;
* Mise en place d&#039;images docker pour glassfish, grafana, influxDB, mySQL...&lt;br /&gt;
* Mise en place des metrics pour notre site internet &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
* Mise en place des EJB et de la base de données&lt;br /&gt;
* Modification du template&lt;br /&gt;
* Mise en place de HAProxy&lt;br /&gt;
&lt;br /&gt;
== Semaine 9 : 07/11 - 13/11 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Modification du template pour le site&lt;br /&gt;
* Mise en place des EJB&lt;br /&gt;
* Prise en main et début de mise en place de HAProxy&lt;br /&gt;
* Prise en main d&#039;AngularJS&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fin du deuxième sprint Scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Semaine 10 : 14/11 - 20/11 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 11 : 21/11 - 27/11 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 12 : 28/11 - 04/12 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 13 : 05/12 - 11/12 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32021</id>
		<title>ECOM2016 Covoiturage</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32021"/>
		<updated>2016-12-10T14:05:29Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Livrables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ECOM-RICM| &#039;&#039;&#039;Lien vers la page des projets ECOM-RICM&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but du projet est de réaliser un site de réservation de Taxi. La particularité de nos Taxis est que ce sont des voiture Autonome. &lt;br /&gt;
L&#039;application permettra de réserver des trajets en individuel mais aussi en covoiturage.&lt;br /&gt;
Les voyages seul seront des voyages porte à porte disponible à n&#039;importe quelle heure tandis que les voyages en covoiturage s&#039;effectueront entre différents points de rendez-vous à des horaires précis.&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* LECORPS Germain (Chef de projet)&lt;br /&gt;
* VOUTAT Manuel&lt;br /&gt;
* MATHIEU Tanguy&lt;br /&gt;
* HALLAL Marwan (Scrum Master)&lt;br /&gt;
* FOUNAS Abdelaziz&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Coivoiturage_taxi| &#039;&#039;&#039;Fiche de suivi&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Coivoiturage_taxi| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Diagramme Relationnel - Base de Données| &#039;&#039;&#039;Diagramme Relationnel - Base de Données&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:etudeeComG4.pdf| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Coivoiturage_taxi| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Coivoiturage_taxi| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches - Coivoiturage_taxi| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Coivoiturage_taxi| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/marwanh/ecomEJB &#039;&#039;&#039;Dépôt Git -- EJB&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_GlassfishApp &#039;&#039;&#039;Dépôt Git -- Website&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_Application &#039;&#039;&#039;Dépôt Git -- Génération EAR&#039;&#039;&#039;]&lt;br /&gt;
* [http://52.174.55.174:8080/AutomaticAuto/ &#039;&#039;&#039;Apllication en ligne&#039;&#039;&#039;]&lt;br /&gt;
* [[Media:Presentation_conception_g4.pdf| &#039;&#039;&#039;Présentation de Conception&#039;&#039;&#039;]]&lt;br /&gt;
* [[Présentation finale - Coivoiturage_taxi| &#039;&#039;&#039;Présentation finale&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32020</id>
		<title>ECOM2016 Covoiturage</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32020"/>
		<updated>2016-12-10T14:03:28Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Livrables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ECOM-RICM| &#039;&#039;&#039;Lien vers la page des projets ECOM-RICM&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but du projet est de réaliser un site de réservation de Taxi. La particularité de nos Taxis est que ce sont des voiture Autonome. &lt;br /&gt;
L&#039;application permettra de réserver des trajets en individuel mais aussi en covoiturage.&lt;br /&gt;
Les voyages seul seront des voyages porte à porte disponible à n&#039;importe quelle heure tandis que les voyages en covoiturage s&#039;effectueront entre différents points de rendez-vous à des horaires précis.&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* LECORPS Germain (Chef de projet)&lt;br /&gt;
* VOUTAT Manuel&lt;br /&gt;
* MATHIEU Tanguy&lt;br /&gt;
* HALLAL Marwan (Scrum Master)&lt;br /&gt;
* FOUNAS Abdelaziz&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Coivoiturage_taxi| &#039;&#039;&#039;Fiche de suivi&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Coivoiturage_taxi| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Diagramme Relationnel - Base de Données| &#039;&#039;&#039;Diagramme Relationnel - Base de Données&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:etudeeComG4.pdf| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Coivoiturage_taxi| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Coivoiturage_taxi| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches - Coivoiturage_taxi| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Coivoiturage_taxi| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/marwanh/ecomEJB &#039;&#039;&#039;Dépôt Git -- EJB&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_GlassfishApp &#039;&#039;&#039;Dépôt Git -- Website&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_Application &#039;&#039;&#039;Dépôt Git -- Génération EAR&#039;&#039;&#039;]&lt;br /&gt;
* [[Media:Presentation_conception_g4.pdf| &#039;&#039;&#039;Présentation de Conception&#039;&#039;&#039;]]&lt;br /&gt;
* [[Présentation finale - Coivoiturage_taxi| &#039;&#039;&#039;Présentation finale&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32019</id>
		<title>ECOM2016 Covoiturage</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32019"/>
		<updated>2016-12-10T14:02:30Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Livrables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ECOM-RICM| &#039;&#039;&#039;Lien vers la page des projets ECOM-RICM&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but du projet est de réaliser un site de réservation de Taxi. La particularité de nos Taxis est que ce sont des voiture Autonome. &lt;br /&gt;
L&#039;application permettra de réserver des trajets en individuel mais aussi en covoiturage.&lt;br /&gt;
Les voyages seul seront des voyages porte à porte disponible à n&#039;importe quelle heure tandis que les voyages en covoiturage s&#039;effectueront entre différents points de rendez-vous à des horaires précis.&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* LECORPS Germain (Chef de projet)&lt;br /&gt;
* VOUTAT Manuel&lt;br /&gt;
* MATHIEU Tanguy&lt;br /&gt;
* HALLAL Marwan (Scrum Master)&lt;br /&gt;
* FOUNAS Abdelaziz&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Coivoiturage_taxi| &#039;&#039;&#039;Fiche de suivi&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Coivoiturage_taxi| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Diagramme Relationnel - Base de Données| &#039;&#039;&#039;Diagramme Relationnel - Base de Données&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:etudeeComG4.pdf| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Coivoiturage_taxi| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Coivoiturage_taxi| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches - Coivoiturage_taxi| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Coivoiturage_taxi| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/marwanh/ecomEJB &#039;&#039;&#039;Dépôt Git -- EJB&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_GlassfishApp &#039;&#039;&#039;Dépôt Git -- Website&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_Application &#039;&#039;&#039;Dépôt Git -- Génération EAR&#039;&#039;&#039;]&lt;br /&gt;
* [[http://52.174.55.174:8080/AutomaticAuto/| &#039;&#039;&#039;Application en ligne&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:Presentation_conception_g4.pdf| &#039;&#039;&#039;Présentation de Conception&#039;&#039;&#039;]]&lt;br /&gt;
* [[Présentation finale - Coivoiturage_taxi| &#039;&#039;&#039;Présentation finale&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32018</id>
		<title>ECOM2016 Covoiturage</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM2016_Covoiturage&amp;diff=32018"/>
		<updated>2016-12-10T14:01:56Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Livrables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ECOM-RICM| &#039;&#039;&#039;Lien vers la page des projets ECOM-RICM&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Objectif du projet =&lt;br /&gt;
Le but du projet est de réaliser un site de réservation de Taxi. La particularité de nos Taxis est que ce sont des voiture Autonome. &lt;br /&gt;
L&#039;application permettra de réserver des trajets en individuel mais aussi en covoiturage.&lt;br /&gt;
Les voyages seul seront des voyages porte à porte disponible à n&#039;importe quelle heure tandis que les voyages en covoiturage s&#039;effectueront entre différents points de rendez-vous à des horaires précis.&lt;br /&gt;
&lt;br /&gt;
= Équipe =&lt;br /&gt;
* LECORPS Germain (Chef de projet)&lt;br /&gt;
* VOUTAT Manuel&lt;br /&gt;
* MATHIEU Tanguy&lt;br /&gt;
* HALLAL Marwan (Scrum Master)&lt;br /&gt;
* FOUNAS Abdelaziz&lt;br /&gt;
&lt;br /&gt;
= Livrables =&lt;br /&gt;
* [[Fiche de suivi - Coivoiturage_taxi| &#039;&#039;&#039;Fiche de suivi&#039;&#039;&#039;]]&lt;br /&gt;
* [[Dossier de Conception Système - Coivoiturage_taxi| &#039;&#039;&#039;Dossier de Conception Système&#039;&#039;&#039;]]&lt;br /&gt;
* [[Diagramme Relationnel - Base de Données| &#039;&#039;&#039;Diagramme Relationnel - Base de Données&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:etudeeComG4.pdf| &#039;&#039;&#039;Analyse des besoins&#039;&#039;&#039;]]&lt;br /&gt;
* [[Maquette - Coivoiturage_taxi| &#039;&#039;&#039;Maquette&#039;&#039;&#039;]]&lt;br /&gt;
* [[SRS - Coivoiturage_taxi| &#039;&#039;&#039;SRS&#039;&#039;&#039;]]&lt;br /&gt;
* [[Modèle de tâches - Coivoiturage_taxi| &#039;&#039;&#039;Modèle de tâches&#039;&#039;&#039;]]&lt;br /&gt;
* [[Scrum - Coivoiturage_taxi| &#039;&#039;&#039;Scrum&#039;&#039;&#039;]]&lt;br /&gt;
* [https://github.com/marwanh/ecomEJB &#039;&#039;&#039;Dépôt Git -- EJB&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_GlassfishApp &#039;&#039;&#039;Dépôt Git -- Website&#039;&#039;&#039;]&lt;br /&gt;
* [https://github.com/abdelazizFounas/ECOM_Application &#039;&#039;&#039;Dépôt Git -- Génération EAR&#039;&#039;&#039;]&lt;br /&gt;
* [[Application en ligne - Coivoiturage_taxi| &#039;&#039;&#039;Application en ligne&#039;&#039;&#039;]]&lt;br /&gt;
* [[Media:Presentation_conception_g4.pdf| &#039;&#039;&#039;Présentation de Conception&#039;&#039;&#039;]]&lt;br /&gt;
* [[Présentation finale - Coivoiturage_taxi| &#039;&#039;&#039;Présentation finale&#039;&#039;&#039;]]&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=31950</id>
		<title>Scrum - Coivoiturage taxi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=31950"/>
		<updated>2016-12-06T09:48:23Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Troisième sprint : 14/11 - 27/11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016_Covoiturage| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Sprints Scrum =&lt;br /&gt;
&lt;br /&gt;
== Premier sprint : 03/10 - 16/10 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Réaliser tous les livrables pour la conception du site&lt;br /&gt;
** Diagramme Relationnel - Base de Données&lt;br /&gt;
** Dossier de Conception Système &lt;br /&gt;
** Analyse des besoins &lt;br /&gt;
** SRS&lt;br /&gt;
** Modèle de tâches&lt;br /&gt;
** Maquette&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 04/10 :&lt;br /&gt;
* Création des modèles de tâches&lt;br /&gt;
* Création de l&#039;IHM abstraite&lt;br /&gt;
* Création des premières maquettes&lt;br /&gt;
Jeudi 06/10 :&lt;br /&gt;
* Finalisation des modèles de tâches&lt;br /&gt;
* Créations des dernières maquettes importantes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 11/10 :&lt;br /&gt;
* Création du dossier le conception / travail sur les fonctionnalités utilisateur &lt;br /&gt;
* Réalisation de l&#039;analyse des besoins utilisateur grâce au questionnaire&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Travail sur le SRS&lt;br /&gt;
* Design de l&#039;architecture système&lt;br /&gt;
* Design de la base de données&lt;br /&gt;
* Préparation pour la soutenance conception&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Les livrables ont été rendus à temps&lt;br /&gt;
* Les maquettes doivent être révisés pour une version mobile du site&lt;br /&gt;
&lt;br /&gt;
== Deuxième sprint : 31/10 - 13/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Créer une base de site internet&lt;br /&gt;
* Mettre en place des images docker de base ainsi que des metrics&lt;br /&gt;
* Début de mise en place des EJB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 01/11 :&lt;br /&gt;
* Création d&#039;une base de site internet à partir d&#039;un template&lt;br /&gt;
* Mise en place des metrics pour notre site internet&lt;br /&gt;
Jeudi 03/11 :&lt;br /&gt;
* Mise en place d&#039;images docker pour glassfish, grafana, influxDB, mySQL...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 08/11 :&lt;br /&gt;
* Début de mise en place des EJB et de la base de données &lt;br /&gt;
* Modification du template&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Prise en main de AngularJS et HAProxy&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Une première version du site internet a bien été mise en place et les metrics correspondants fonctionnent&lt;br /&gt;
* Un premier travail sur la base de donnée à bien été effectué&lt;br /&gt;
&lt;br /&gt;
== Troisième sprint : 14/11 - 27/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Installer MySQL Cluster, HAProxy&lt;br /&gt;
* Mise en place de la gestion d&#039;utilisateurs&lt;br /&gt;
* Affichage de trajets pas tirés de la base de données (tests)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 15/11 :&lt;br /&gt;
* Installation de MySQL Cluster sur le cloud (migration sur Azur)&lt;br /&gt;
* Mise en place de la gestion utilisateur&lt;br /&gt;
** Création d&#039;un compte&lt;br /&gt;
** Connexion à un compte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 22/11 :&lt;br /&gt;
* Possibilité d&#039;afficher un trajet (pas depuis la base de données) sur une carte Google&lt;br /&gt;
* Réalisation de l&#039;analyse des besoins utilisateur grâce au questionnaire&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=31949</id>
		<title>Scrum - Coivoiturage taxi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Scrum_-_Coivoiturage_taxi&amp;diff=31949"/>
		<updated>2016-12-06T09:48:12Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Sprints Scrum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016_Covoiturage| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Sprints Scrum =&lt;br /&gt;
&lt;br /&gt;
== Premier sprint : 03/10 - 16/10 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Réaliser tous les livrables pour la conception du site&lt;br /&gt;
** Diagramme Relationnel - Base de Données&lt;br /&gt;
** Dossier de Conception Système &lt;br /&gt;
** Analyse des besoins &lt;br /&gt;
** SRS&lt;br /&gt;
** Modèle de tâches&lt;br /&gt;
** Maquette&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 04/10 :&lt;br /&gt;
* Création des modèles de tâches&lt;br /&gt;
* Création de l&#039;IHM abstraite&lt;br /&gt;
* Création des premières maquettes&lt;br /&gt;
Jeudi 06/10 :&lt;br /&gt;
* Finalisation des modèles de tâches&lt;br /&gt;
* Créations des dernières maquettes importantes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 11/10 :&lt;br /&gt;
* Création du dossier le conception / travail sur les fonctionnalités utilisateur &lt;br /&gt;
* Réalisation de l&#039;analyse des besoins utilisateur grâce au questionnaire&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Travail sur le SRS&lt;br /&gt;
* Design de l&#039;architecture système&lt;br /&gt;
* Design de la base de données&lt;br /&gt;
* Préparation pour la soutenance conception&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Les livrables ont été rendus à temps&lt;br /&gt;
* Les maquettes doivent être révisés pour une version mobile du site&lt;br /&gt;
&lt;br /&gt;
== Deuxième sprint : 31/10 - 13/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Créer une base de site internet&lt;br /&gt;
* Mettre en place des images docker de base ainsi que des metrics&lt;br /&gt;
* Début de mise en place des EJB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 01/11 :&lt;br /&gt;
* Création d&#039;une base de site internet à partir d&#039;un template&lt;br /&gt;
* Mise en place des metrics pour notre site internet&lt;br /&gt;
Jeudi 03/11 :&lt;br /&gt;
* Mise en place d&#039;images docker pour glassfish, grafana, influxDB, mySQL...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 08/11 :&lt;br /&gt;
* Début de mise en place des EJB et de la base de données &lt;br /&gt;
* Modification du template&lt;br /&gt;
Jeudi 13/10 :&lt;br /&gt;
* Prise en main de AngularJS et HAProxy&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Une première version du site internet a bien été mise en place et les metrics correspondants fonctionnent&lt;br /&gt;
* Un premier travail sur la base de donnée à bien été effectué&lt;br /&gt;
&lt;br /&gt;
== Troisième sprint : 14/11 - 27/11 ==&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Objectif&#039;&#039;&#039;===&lt;br /&gt;
* Installer MySQL Cluster, HAProxy&lt;br /&gt;
* Mise en place de la gestion d&#039;utilisateurs&lt;br /&gt;
* Affichage de trajets pas tirés de la base de données (tests)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Travail réalisé&#039;&#039;&#039; : ===&lt;br /&gt;
&lt;br /&gt;
Mardi 15/11 :&lt;br /&gt;
* Installation de MySQL Cluster sur le cloud (migration sur Azur)&lt;br /&gt;
* Mise en place de la gestion utilisateur&lt;br /&gt;
** Création d&#039;un compte&lt;br /&gt;
** Connexion à un compte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mardi 22/11 :&lt;br /&gt;
* Possibilité d&#039;afficher un trajet (pas depuis la base de données) sur une carte Google&lt;br /&gt;
* Réalisation de l&#039;analyse des besoins utilisateur grâce au questionnaire&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Revue de sprint&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
* Les livrables ont été rendus à temps&lt;br /&gt;
* Les maquettes doivent être révisés pour une version mobile du site&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Coivoiturage_taxi&amp;diff=31941</id>
		<title>Fiche de suivi - Coivoiturage taxi</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Fiche_de_suivi_-_Coivoiturage_taxi&amp;diff=31941"/>
		<updated>2016-12-06T09:20:29Z</updated>

		<summary type="html">&lt;p&gt;Germain.Lecorps: /* Semaine 9 : 07/11 - 13/11 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voici la fiche de suivi du projet ECOM 2016-2017 : Coivoiturage taxi&lt;br /&gt;
&lt;br /&gt;
[[ECOM2016_Covoiturage| &#039;&#039;&#039;Page d&#039;accueil du projet&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
= Avancée du projet =&lt;br /&gt;
== Semaine 1 : 12/09 - 18/09 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Création du groupe&lt;br /&gt;
* Création des pages wiki&lt;br /&gt;
&lt;br /&gt;
== Semaine 2 : 19/09 - 25/09 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Début d&#039;apprentissage de JavaEE&lt;br /&gt;
* Création du questionnaire de besoins utilisateurs&lt;br /&gt;
&lt;br /&gt;
== Semaine 3 : 26/09 - 02/10 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Prise en main de glassfish (mise en place d&#039;un serveur glassfish), de AWS et de docker (création d&#039;une image simple)&lt;br /&gt;
&lt;br /&gt;
== Semaine 4 : 03/10 - 09/10 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Début du premier sprint scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Conception&lt;br /&gt;
** Création des modèles de tâches&lt;br /&gt;
** Création de l&#039;IHM abstraite&lt;br /&gt;
** Créations des maquettes&lt;br /&gt;
&lt;br /&gt;
* Tutoriel EJB, Tutoriel Servlet/JSP/REST/WS/Filter/Docker&lt;br /&gt;
&lt;br /&gt;
== Semaine 5 : 10/10 - 16/10 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Conception système&lt;br /&gt;
** Fonctionnalités du système&lt;br /&gt;
** Design de l&#039;architecture système&lt;br /&gt;
* Création de la base de données associée à notre système&lt;br /&gt;
* Finalisation de l&#039;analyse des besoins à partir du questionnaire&lt;br /&gt;
* Création du SRS&lt;br /&gt;
* Préparation pour la soutenance conception&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fin du premier sprint scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Semaine 6 : 17/10 - 23/10 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Soutenance conception&lt;br /&gt;
* Révision des différents pointes évoqués par les enseignants durant la soutenance&lt;br /&gt;
&lt;br /&gt;
== Semaine 7 : 24/10 - 30/10 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Installation de tous les outils nécessaires pour le projet&lt;br /&gt;
* Prise en main (via tutoriel principalement) de ces outils et des différentes technologies (AngularJS, Bootstrap, Jersey, EJB, Swagger, Metrics, Docker, HAProxy, Grafana, InfluxDB, MySQL)&lt;br /&gt;
&lt;br /&gt;
== Semaine 8 : 31/10 - 06/11 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Début du deuxième sprint Scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Création d&#039;une base de site internet à partir d&#039;un template&lt;br /&gt;
* Mise en place d&#039;images docker pour glassfish, grafana, influxDB, mySQL...&lt;br /&gt;
* Mise en place des metrics pour notre site internet &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
* Mise en place des EJB et de la base de données&lt;br /&gt;
* Modification du template&lt;br /&gt;
* Mise en place de HAProxy&lt;br /&gt;
&lt;br /&gt;
== Semaine 9 : 07/11 - 13/11 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* Modification du template pour le site&lt;br /&gt;
* Mise en place des EJB&lt;br /&gt;
* Prise en main et début de mise en place de HAProxy&lt;br /&gt;
* Prise en main d&#039;AngularJS&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fin du deuxième sprint Scrum&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Semaine 10 : 14/11 - 20/11 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 11 : 21/11 - 27/11 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 12 : 28/11 - 04/12 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 13 : 05/12 - 11/12 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Semaine 14 : 12/12 - 18/12 ==&lt;br /&gt;
&#039;&#039;&#039;Travail réalisé :&#039;&#039;&#039;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problèmes rencontrés :&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tâches à effectuer identifiées :&#039;&#039;&#039;&lt;br /&gt;
*&lt;/div&gt;</summary>
		<author><name>Germain.Lecorps</name></author>
	</entry>
</feed>