ECOM RICM5 Groupe3 2014

Cette page wiki est la fiche de suivi du projet d’e-commerce du groupe 3 de la promotion RICM5 de 2014-2015. Le projet ECOM consiste à concevoir et réaliser une application de commerce électronique. Elle est constituée de deux parties : la partie IHM et la partie Système. Elles seront toutes deux traitées en parallèle et ferons l’objet de soutenances séparées.



=Résumé du projet= L’objectif du projet ECOM est de mettre en place un site permettant de louer des serveurs informatiques en ligne. À la différence d’autres sites de location où les détails techniques des serveurs sont mis en avant et déroutent de nombreux clients, nous privilégions ici leur utilité : dans quel but peuvent-ils être employés par les utilisateurs ? En quoi améliorent-ils la vie des clients ? Nous proposons ainsi des services impliquant la location de serveurs : hébergement site web, sauvegarde données personnelles... Les internautes choisissent indirectement le serveur qui leur correspond, sans avoir à comprendre les détails techniques, en sélectionnant le service qui les intéresse le plus. Le projet s’adresse aux particuliers comme aux entreprises.

=L’équipe= L’équipe est constituée de quatre étudiants en cinquième année de RICM. Deux viennent de l’option Système et réseau, les deux autres viennent de l’option Communication multimédia.
 * Chef de projet : Paul Mariage
 * Scrum Master : Augustin Husson
 * Responsable développement : Patrick Perea
 * Responsable graphique : Paul Labat
 * Responsable utilisabilité : Patrick Perea
 * développeur : toute l’équipe

=Liens utiles=
 * Slides de présentation
 * [[Image:charte-graphique.pdf|Charte graphique]]
 * enquete.pdf
 * enquete-satisfaction.pdf

=Motivations= La capacité de stockage de nos disques durs a considérablement augmenté au cours des dernières décennies. Nous sommes passés de quelques octets à plusieurs Téraoctets en l’espace de 20 ans. Cependant, cet espace devient insuffisant pour certaines applications gourmandes en ressources, pour stocker les projets conséquents d‘une entreprise ou lorsqu’il faut gérer et traiter les commandes simultanées de milliers de clients par exemple.

Il existe un bon nombre de sites proposant la location de serveurs. Ils offrent la possibilité de louer des stations spécifiques, dont les caractéristiques sont détaillées et pour une durée limitée. Cependant, les aspects techniques des serveurs ne sont pas compréhensibles par tous les clients susceptibles d’en avoir besoin. En effet, les différents types de processeurs, les types de stations (unix, windows…) ou les multiples architectures de cloud possibles ne sont pas des notions accessibles à n’importe quel type d’utilisateur.

Nous nous proposons de réaliser un site de location de serveurs en prenant en compte l’expérience de l’usager. Il met en avant leur utilité, ce qu’il est possible de créer ou d’accomplir en louant telle ou telle station. Les services présentés sur le site concernent par exemple l’hébergement d’un site web ou encore la sauvegarde de données personnelles... Les internautes choisissent indirectement le serveur qui leur correspond, en sélectionnant le service qui les intéresse le plus.

Le nombre de détails techniques affichés variera en fonction du type de service. L’hébergement simple d’un site web par exemple ne concernera qu’un seul serveur. Seule sa capacité de stockage est importante et sera indiquée dans le descriptif. En revanche la location de stations de rendus concerne de multiples serveurs et nécessite de connaître le type de processeurs utilisés, la quantité de mémoire RAM, etc. Les services proposeront également des assistants de création pour guider un utilisateur novice dans son projet. Le service d’hébergement de site comprendra par exemple un assistant permettant d’en créer un en quelques minutes selon des modèles prédéfinis…

=Utilisateurs cibles= Nous visons tout type d’utilisateurs : En effet, les industriels peuvent être intéressés de louer un ensemble de serveurs possédants des ressources conséquentes (ex. : 1 To de RAM), ou de profiter de service de calcul considérable.
 * Industriel
 * Particulier

Enfin les particuliers, qu’ils soient doués en informatique ou non, peuvent être intéressés par tous les types de service que nous proposons à bien sûr plus petite échelle que pour un industriel. Par exemple, des joueurs peuvent vouloir utiliser des serveurs vocaux afin de pouvoir communiquer entre eux rapidement. En additionnant à cela, la mise en place d’un forum prédéfini (avec par exemple phpbb), ce qui permettra à ces joueurs de pouvoir organiser des évènements entre eux.

=Analyse de la concurrence= Digicube : Le site possède une densité informationnelle très importante. Il est clairement dédié à des utilisateurs experts, ayant des connaissances poussées sur les différents types de processeurs existants, etc. L’expérience de l’usager n’est donc pas prise en compte. Le catalogue comporte une dizaine de serveurs et une commande est réalisée en dix clics (environ). Le site ne possède pas de version adaptée aux terminaux mobiles.

Ikoula : Le site est également chargé visuellement et possède un catalogue très complet (plus d’une vingtaine de serveurs dédiés, quatre types de serveurs virtuels, etc.). Il est moins centré sur les utilisateurs experts car il propose en première page une description textuelle de chaque produit, sans rentrer dans les détails techniques, associée à son prix (un clic sur un serveur fournira des détails plus concrets). En revanche il n’y a que peu d’indices permettant à un usager novice de le guider dans le parcours du catalogue et du choix du produit qui lui est adapté : une des pages présente sous forme de liste l’ensemble des serveurs sans indiquer à quels usages ils sont particulièrement adaptés.

Nfrance : Le site propose un large choix de services et présente un nombre important d’informations sur chacune de ses pages. Chaque service possède une description textuelle très détaillée, aidant un utilisateur novice à s’orienter dans le catalogue. Il y a moins de détails techniques. En revanche la location d’un serveur, par exemple, n’est ni rapide ni aisée. Il est en effet nécessaire de contacter les gérants du site en remplissant un formulaire ou en téléphonant, leur faire part d’une commande et attendre leur réponse.

Dri : Le site possède une dizaine de catégories dans chaque menu. Il est par conséquent difficile de s’y repérer ou de rechercher rapidement à l’information recherchée. Les caractéristiques techniques des serveurs y sont très nettement mises en avant, ce qui en fait un site pour utilisateur expert. Une commande est réalisée en approximativement 10 clics. Même s’il n’y a que peu d’indices pour guider un utilisateur novice, le site propose un forum où les internautes peuvent échanger leurs opinions sur des commandes passées, le bon fonctionnement des serveurs, etc. Enfin, le site est très chargé visuellement et il n’existe pas de version mobile, ce qui le rend inutilisable sur les terminaux portables.

=Plateformes= Nous constatons sur la figure que la plateforme la plus utilisé pour les achats en ligne est l'ordinateur. C'est donc cette plateforme qui nous occupera en premier. Nous ferons le reste ensuite.
 * Navigateur web (Chrome, Firefox et IE)
 * Tablette (Android, Windows tablette et iPad)
 * Téléphone



=Services proposés= À l'issu du sondage sur les différents services que les utilisateurs souhaite voir présent sur notre site, nous avons décidé de prendre en compte tout les services.
 * Hébergement site web
 * Sauvegarde donnée personnelle
 * Partage de fichiers (jusqu’à 2, 4 ou 8 gigas) (serveur semi-public : lien pour pouvoir télécharger ou système Drive)
 * Stations de calculs/rendus (plus cher)
 * Location et mise en place de « salle de discussion » pour audioconférence (Teampeak)
 * Configuration d’un serveur mail (ne plus confier vos mails à Gmail, Yahoo ou Hotmail) : adresse mail personnelle + plus grand espace de stockage pour envoi/réception de mail



=Fonctionnalités=
 * Création de comptes utilisateur
 * Réinitialisation de mot de passe dans le cas de demande de renvoi du mot de passe
 * Confirmation de la création de comptes
 * Paiement en ligne (en passant par des services externes ex. : PayPal ?)
 * Paramétrer un site web via un thème préfait
 * Configurer et administrer un serveur
 * Déposer des fichiers avec ou sans versioning (doc, musique, code source…)

Dans certains cas l’envoi d’e-mail est obligatoire : Il s'agit de la méthode de confirmation privilégié à mettre en place.
 * Confirmation de création de comptes
 * Récupération de login
 * Réinitialisation de mot de passe
 * Confirmation de payement reçu
 * Confirmation de commande reçue
 * Confirmation de commande faite
 * Confirmation de serveur prêt
 * Maintenance sur serveur (problème sur les serveurs, mise à jour, problème résolu, etc.)


 * Gestion multilingues : traductions du site web en français, anglais et espagnol

=Base de donnée=

=IHM=

=Métriques logicielles=

=Scrum=

Sprint 1 : du 09 septembre au 22 septembre 2014

 * Compréhension du sujet
 * Répartition des tâches
 * Début de la rédaction du cahier des charges

Sprint 2 : du 22 septembre au 14 octobre 2014

 * rédaction et diffusion d'un questionnaire permettant d'établir une idée de la cible cliente
 * rédaction de la charte graphique
 * rédaction de scénarios
 * Création de maquettes du site
 * Rédaction de l'ihm abstraite
 * Rédaction du schéma de la base de données

Sprint 3 : du 14 octobre au 18 novembre 2014

 * correction du schéma de la base de données
 * Mise en place d'un prototype du site web avec Angular JS et BootStrap
 * Amélioration graphique du prototype
 * Structuration de l'architecture du projet avec maven
 * Mise en place de glassfish et déploiement via maven

Sprint 4 : du 18 novembre au 2 décembre 2014

 * Mise en place de la base de données
 * Continuation de la création des pages web

Sprint 5 : du 2 décembre au 18 décembre 2014

 * Mise en place d'un shell
 * Modification de la façon pour déployer le site : utilisation de script shell/batch
 * Mise en place de script sql pour supprimer la bdd et créer des accès root
 * Mise en place de l'activation de compte utilisateur par mail
 * Mise en place du serveur James permettant l'envoi de mail
 * Finition des pages webs