====== Réponse à un appel d'offre : système d'affichage dynamique ======
Grâce au travail réalisé dans les séances précédentes de TD, nous sommes prêts à répondre au vrai appel d'offre ci-après (date limite officielle 24 octobre, la notre fin décembre) :
{{:2013_2014:s3:tp:e_temp_rar_di02.120_ccp_21fcs2013.pdf|Voici l'appel d'offre}}
Dans ce qui suit, nous avons extrait un certain nombre de fonctionnalités que nous nous proposons d'étudier ici.
Nous les avons décrites sous la forme de "user story" simples. Il est probable que des points soient encore flous.
Pour faciliter la compréhension de l'étude de cas, nous définissons les personas qui nous permettent de humaniser les acteurs de notre système.
===== Personas =====
Personas autrement dit des archétypes d’utilisateurs représentatifs de la cible
A l’heure actuelle et sur la base des informations à notre disposition nous envisageons de travailler sur les personas principaux suivants.
Voici comment ils se déclinent dans le cadre de cet appel d'offre :
* Christophe, 35 ans : l’un des responsables de la communication à l'université. Il est en charge de décider la répartition des écrans, leur financement. Bien que ses connaissances informatiques ne soient pas excellentes, il est motivé pour essayer cette nouvelle solution d’affichage et multi-diffusion. Il a pris la responsabilité de déployer cette solution, si elle ne fonctionne pas c'est lui qui reçoit les doléances etc.
* Françoise, 31 ans : en charge de la communication pour son laboratoire. Elle est passionnée par les nouvelles technologies et est à l'aise avec les outils informatiques. Elle est intéressée par l'application pour avoir une meilleure image et diffusion des informations dans son laboratoire.
* Béatrice, 35 ans : secrétaire au département. Elle est en charge de gérer les informations diffusées sur les écrans. Elle apprécie l'idée d'une diffusion sur écran qui lui simplifiera la tâche. Par contre, elle craint un surcroît de travail. Il est important que la tâche soit simple pour elle.
* Céline 27 ans : designer, correspondante communication, elle est amenée à désigner les écrans. Pour elle, ce qui est important c'est que sa créativité puisse s'exprimer. Elle attend du système de facilement pouvoir ajouter de nouveaux écrans, renderers, etc.
* Simon, 25 ans : Fournisseur du système (dans la vraie vie, votre employeur). PDG d'une start-up, il veut garantir la justesse des produits fournis et veut recueillir des informations sur le fonctionnement des systèmes déployés.
===== AE_MiseEnVeille : Administrateur d'écran (Françoise) programme la mise en veille d'un écran =====
(cf. § 1.3)
**Valeur métier : 2**
* **En tant que ** Administrateur d'écran
* **Je veux ** programmer la mise en veille d'un des écrans que je gère
* **Ainsi ** nous ferons des économies d'énergie.
**Condition d’acceptation **
* l’administrateur doit pouvoir saisir l'heure d'activation et de mise en veille d'un écran et le système doit vérifier la cohérence des choix (horaire de mise en veille après l'activation)
* l’administrateur doit pouvoir programmer des heures d'activations différentes dans la semaine (ex : le samedi et dimanche ne pas allumer l'écran), voir dans le temps (pas d'affichage pendant les vacances).
* les seuls systèmes ciblés sont sous windows.
Nous ne programmons pas ici la mise en veille et l'activation réelle, seulement l'enregistrement des horaires.
Vous avez le droit d'utiliser des systèmes annexes comme un calendrier.
===== AS_controleActivation : Administrateur du système (Christophe) contrôle l'activation du parc des écrans =====
//La mise sous tension tout comme l’extinction des écrans doit être programmable à distance. Il est indispensable
que nous puissions contrôler le parc de players à distance, sans aucune intervention sur site. Ce monitoring
pourra être proposé sous forme de tableau de bord recensant l’état des différents players sur chacun des sites
de déploiement de CAD.//
**Valeur métier :** 2
* **En tant que ** administrateur du système
* **Je veux ** visualiser les heures d'activation de chacun des écrans du site et les modifier éventuellement,
* **Ainsi ** nous ferons des économies d'énergie.
**Condition d’acceptation **
* l’administrateur doit pouvoir visualiser les heures d'activation de l'ensemble des écrans qu'il gère.
* l’administrateur doit pouvoir programmer des heures d'activations différentes, dans ce cas, il bascule sur l'histoire utilisateur précédente.
* On apprécierait que les écrans soient organisés par sous site (par exemple Fabron, Sciences, ..)
===== AS_ControleEcrans : Administrateur du système (Christophe) contrôle les états des écrans =====
//... Cet aspect est primordial dans la mesure où nous ne pouvons pas courir le risque d’encombrer la
bande passante pendant les heures ouvrées.
Le logiciel doit avertir de tout problème (logiciel, serveur ou player) au moyen de messages d’alerte.
Eventuellement, le logiciel proposera un historique des pannes et erreurs survenues. (voir chapitre maintenance
et contrôle du player).//
**Valeur métier :** 2
* **En tant que ** Administrateur du système
* **Je veux ** visualiser les erreurs remontées des différents écrans et pouvoir arrêter un écran à distance
* **Ainsi ** nous contrôlons l'état de l'ensemble du système.
**Conditions d’acceptation **
* l’administrateur doit pouvoir visualiser l'état des écrans : en marche, en panne, erreurs levées, arrêté;
* l’administrateur doit pouvoir consulter les erreurs levées par un écran.
* l’administrateur doit pouvoir savoir qui a arrêté un écran.
* l’administrateur doit pouvoir stopper un écran
Pensez à utiliser des mocks!
L'arrêt et la levée des erreurs par les écrans n'est pas à opérationnaliser.
===== AS_ConOrganiseEcrans :Administrateur du système (Christophe) organise les écrans par site =====
//Le logiciel doit permettre la gestion du parc de players en les organisant en groupes de players par site. Ainsi, il devient possible de diffuser sur 1, 2 ou n écrans un programme A donné pendant qu’un autre groupe de players diffuse un programme B sur d’autres écrans.//
**Valeur métier :** 2
* **En tant que** administrateur du système
* **je veux** pouvoir organiser les écrans sur les sites
* **Ainsi** je localise mieux les écrans et peut m'organiser.
**Conditions d’acceptation **
* l’administrateur peut déclarer des sites par leur nom, leur localisation : ex Site Fabron, route Napoleon
* l’administrateur peut déclarer des écrans par leur nom, le site auquel ils se rattachent, leur position : ex Ecran HallInfo, Fabron, dans le hall batiment info
* Un écran peut être changé de site.
* Un site peut être effacé.
===== M_modere : Modératrice (Béatrice) modère une source d'information =====
//...//
**Valeur métier :** 3
* **En tant que** modérateur
* **je veux** pouvoir modérer l'ensemble des nouvelles informations qui m'ont été affectées par type
* **Ainsi** ces informations peuvent alors être diffusées sur les écrans
**Conditions d’acceptation **
* Il doit être possible de classer et filtrer les informations par les auteurs, par date;
* Les informations contenant des "gros" mots doivent être identifiées automatiquement;
* Il doit être possible de rejeter ou valider un groupe d'informations
* Je dois pouvoir ajouter des gros mots à identifier en le sélectionnant dans une information.
* Une fois une information traitée elle n'apparaît plus dans la liste des informations à traiter
* Je dois pouvoir visualiser l'ensemble des informations rejetées et de même pour les informations validées.
===== AS_donneDroitsModeration: Administrateur système (Christophe) donne à Béatrice les droits de modération sur une source d'information =====
//Le système de gestion des accès utilisateurs (plusieurs personnes pour la composition des programmes et pour
la validation des grilles de programmes) doit pouvoir se paramétrer depuis le logiciel afin de nous éviter par la
suite des interférences entre usagers.
Il doit donc permettre :... la délégation de modération, gestion des droits et notification
//
**Valeur métier :** 2
* **En tant que** Administrateur système
* **je veux** attribuer le rôle de modérateur à un membre relativement à un type d'informations
* **Ainsi** les sources désignées sont automatiquement modérées et les modérateurs ont accès aux sources à modérer.
Exemple : Béatrice va à présent modérer les annonces! Elle pouvait auparavant modérer les twitts.
**Conditions d’acceptation **
* Je dois pouvoir sélectionner le nouveau modérateur dans une liste ou créer un nouveau membre;
* Je dois pouvoir sélectionner la source à assigner au modérateur parmi une liste de sources
===== AS_attribueDroitsEcrans : Administrateur de système (Christophe) attribue les droits d'accès à un écran à des administrateurs d'écran (Françoise) =====
//Le système de gestion des accès utilisateurs (plusieurs personnes pour la composition des programmes et pour
la validation des grilles de programmes) doit pouvoir se paramétrer depuis le logiciel afin de nous éviter par la
suite des interférences entre usagers....
Le paramétrage des droits d’accès utilisateurs apparaît comme une nécessité dans le cadre d’une configuration
multi-sites. Les composantes doivent disposer en local de droits d’accès différenciés de ceux du Pôle
communication. ...//
**Valeur métier :** 2
* **En tant que** Administrateur système
* **je veux** attribuer le rôle d'administrateur d'écran à un membre relativement à un écran
* **Ainsi** ces écrans pourront être administrés par d'autres que moi!!
**Conditions d’acceptation **
* Je dois pouvoir sélectionner le nouveau administrateur dans une liste ou créer un nouveau membre;
* Je dois pouvoir sélectionner l'écran à assigner au modérateur parmi une liste d'écrans triée par site
===== CE_CreeAfficheur : Concepteur d'écran (Céline) découpe un afficheur en zone =====
//Il est indispensable que l’écran puisse être découpé en plusieurs zones d’affichage, toutes indépendantes les
unes des autres. Si possible, le logiciel permettra de créer des zones chevauchant plusieurs autres zones. Ce
découpage ne doit cependant pas rendre l’utilisation du logiciel plus complexe. La simplicité d’utilisation du
logiciel est l’un des critères déterminants du choix final de la solution. L’administration du projet d’affichage
dynamique doit pouvoir être gérée sans connaissance particulière en audiovisuel, ni en informatique.//
**Valeur métier :** 4
* **En tant que** concepteur d'écran
* **Je veux** découper un afficheur en plusieurs zones
* **Ainsi** plusieurs zones d'un écran afficheront des informations différentes
**Condition d’acceptation **
* Une zone est soit une zone de défilement de texte, soit une zone bloc.
* Seule une zone d'alerte peut chevaucher d'autres zones.
* Une zone est nommée.
* Le résultat du découpage en zone est un afficheur.
* Le découpage est réalisé relativement à une taille d'écran donnée.
* Un afficheur est dédié à une taille d'écran donnée.
* Les zones doivent rester dans la taille de l'écran
* Je dois pouvoir associer un style à un afficheur (IUT Fabron, Festival de Cannes, Noël...)
===== AE_associeAfficheurEcran : Administrateur d'écran (Françoise) associe un afficheur à un écran =====
//....//
**Valeur métier :** 2
* **En tant que** administrateur d'écran
* **Je veux** associer un nouvel afficheur à mon écran
* **Ainsi** le look de mon écran en sera modifié.
**Condition d’acceptation **
* seuls les afficheurs correspondant à la taille de mon écran me sont proposés
* je peux choisir les afficheurs par le style ou l'auteur
===== CE_AssocieRenderers : Concepteur d'écran (Céline) associe des "renderers" à un afficheur =====
**Valeur métier :** 4
* **En tant que** concepteur d'écran
* **Je veux** associer à un afficheur déjà découpé en zones (éventuellement une seule zone) des renderers
* **Ainsi** mon afficheur sera prêt à être utilisé sur les écrans au bonne dimension.
**Condition d’acceptation **
* Un ensemble de renderers prédéfinis existe dans le système. Un renderer est caractérisé par le type d'information qu'il sait afficher, le type (défilement ou bloc) et la taille min et max de la zone à laquelle il peut être associé, et un ou des styles (IUT, Polytech, Evenement, Crash..)
* Ne proposer pour chacune des zones, que la liste des renderers acceptables.
* Lors de la définition de l'afficheur un style peut lui être associé. Dans ce cas, seuls des renderers supportant ce style pourront être associés.
* L'afficheur est mémorisé..
===== AE_CreePlayList : Administrateur d'écran (Françoise) établit des séquences d'informations (playlist) =====
//La composition des grilles de diffusion doit pouvoir s’effectuer le plus simplement possible au moyen, par
exemple, d’un calendrier hebdomadaire à renseigner. L’idéal serait que le logiciel permette de programmer les
grilles quelques semaines avant la date exacte de diffusion....
Le logiciel doit permettre la préparation du contenu à diffuser simplement (pas de connaissances informatiques
poussées nécessaires) : programmer une playlist de médias de façon quasi intuitive, par fonction « glisser-déposer » dans une time line pour modifier l’ordre de passage des informations,
//
**Valeur métier :** 3
* **En tant que** administrateur d'écran
* **Je veux** sélectionner les sources d'informations et l'ordre de passage des sources d'informations (edt, photos, ..), cela inclut de pouvoir des informations, choisir le nombre max d'un certain type..
* **Ainsi** je peux construire des playlist différentes : période de cours, pauses, repas, ...
**Condition d’acceptation **
* Une playlist doit pouvoir être nommée et renommée
* Il doit être possible de restreindre le nombre d'informations d'un type donné : ex : 5 photos maximum
* Il doit être possible de demander le mélange des informations d'un type donné : ex : mélanger photos par exemple
* Il doit être possible de mélanger toutes les informations de la playliste : ex : mélanger prend toutes les informations et les mélange; Il ne peut pas être utilisé avec un autre mélangé
===== Administrateur d'écran (Françoise) associe une (playlist) à une zone de l'afficheur =====
//...
//
**Valeur métier :** 3
* **En tant que** administrateur d'écran
* **Je veux** associer des playlists aux zones d'un écran
* **Ainsi** je peux construire mes écrans
**Condition d’acceptation **
* Une playlist ne peut être associée à une zone que si les renderers de cette zone supportent toutes les sources prévues dans la playlist :// ex: je ne peux pas demander à une zone d'afficher une carte, si elle ne sait pas le faire.//
* Il doit être possible d'associer plusieurs playlists à une même zone
* Je peux savoir les playlists associées à une zone
===== AE_CreeGrille : Administrateur d'écran (Françoise) établit une grille de programme =====
//La composition des grilles de diffusion doit pouvoir s’effectuer le plus simplement possible au moyen, par
exemple, d’un calendrier hebdomadaire à renseigner. L’idéal serait que le logiciel permette de programmer les
grilles quelques semaines avant la date exacte de diffusion....
... gestion avancée des exceptions et des récurrences de planification (toutes les
semaines, sauf mercredi, etc.), //
**Valeur métier :** 5
* **En tant que** administrateur d'écran
* **Je veux** positionner les playlists dans le temps pour un afficheur donné
* **Ainsi** je peux décider de quand diffuser les playlists et obtenir des écrans animés.
**Condition d’acceptation **
* Une //grille// est créée pour un écran;
* par zone de l'écran, un //planning// est prévu
* Dans un planning à un //créneau horaire// donné, une seule playlist peut être associée; la playlist fait forcément partie des playlists associées à cette zone;
* Un créneau horaire ne peut pas être plus court que le nombre de types d'informations dans la playlist qui lui est associée;
* Un créneau horaire peut être récurrent, ex: tous les lundis pendant 5 semaines ...
* Deux créneaux horaires qui se chevauchent doivent être signalés et éventuellement ordonnés;
* Un créneau horaire "Default" doit toujours être renseignée par planning pour garantir que la zone diffusera toujours des informations;
* Une grille est complète lorsque à toutes les zones de l'afficheur sont associés des planning complets
* Il doit être possible de dynamiquement modifier une grille de programme.
* Une grille de programme est nommée, par exemple : grille étage, grille hall, ...
* Exemples : Tous les midi, diffuser la playlist "repas", le week-end diffuser "divertissement", ...
===== Administrateur d'écran (Françoise) associe une grille de programme à un écran =====
//La composition des grilles de diffusion doit pouvoir s’effectuer le plus simplement possible au moyen, par
exemple, d’un calendrier hebdomadaire à renseigner. L’idéal serait que le logiciel permette de programmer les
grilles quelques semaines avant la date exacte de diffusion....
... gestion avancée des exceptions et des récurrences de planification (toutes les
semaines, sauf mercredi, etc.), //
**Valeur métier :** 2
* **En tant que** administrateur d'écran
* **Je veux** associer une grille à un écran
* **Ainsi** l'écran diffusera les informations données par la grille.
**Condition d’acceptation **
* Une même grille peut être associée à plusieurs écrans si les afficheurs associés sont les "mêmes" (à discuter).
===== Administrateur d'écran (Françoise) prévisualise une playliste =====
//• prévisualiser le contenu diffusé,//
//Non évaluée//
===== Créateur de contenu (Béatrice) crée un contenu multimédia et l'associe à une source d'informations dédiées =====
//Le logiciel doit également pouvoir s’appuyer sur la composition de pages multimédias de type HTML ou
équivalent afin de créer des présentations complètes issues de l’assemblage de plusieurs éléments
multimédias.//
//Non évaluée//
===== AS_SECURITY : administrateur du site et sécurité =====
//Le système de gestion des accès utilisateurs (plusieurs personnes pour la composition des programmes et pour la validation des grilles de programmes) doit pouvoir se paramétrer depuis le logiciel afin de nous éviter par la suite des interférences entre usagers.
Il doit donc permettre :
* ...
* la connexion impérative avec le LDAP de l’université
Le paramétrage des droits d’accès utilisateurs apparaît comme une nécessité dans le cadre d’une configuration multi-sites. Les composantes doivent disposer en local de droits d’accès différenciés de ceux du Pôle communication. Lors de la diffusion de contenus spécifiques à chacun des sites, l’administration de ces
programmes doit pouvoir être gérée par les correspondants communication interne locaux alors que les contenus similaires diffusés sur les trois sites simultanément doivent être administrés par l’équipe du Pôle communication de l’université uniquement.
//
Nous gérons ici une version très simplifiée des droits..
**Valeur métier :** 2
* **En tant que** administrateur de site
* **Je veux** que tout accès aux différentes US de mon système soit contrôlé en respectant les règles d'accès définies
* **Ainsi** mon système sera sécurisé.
**Condition d’acceptation **
* un membre doit pouvoir se connecter en utilisant soit une base locale (membre non répertoriés par l'université), soit en se connectant au LDAP (prévoir un "mock" ici)
* Tout accès à l'une des US précédente est à présent contrôlé.
Elle sera évaluée intrinsèquement sur sa capacité à contrôler un accès.
Elle sera évaluée comme de l'intégration avec toutes les US auxquelles vous l'ajouterez, en particulier en utilisant les droits prévus par ces US.
===== F_Fiabilite : Fournisseur et Fiabilité =====
**Valeur métier :** 1
* **En tant que** Fournisseur
* **Je veux** que toute action de création ou modification d'écran, site, playliste, ... dans le système soit tracée,
* **Ainsi** j'aurais une meilleure appréhension de l'utilisation de mon système.
**Conditions d’acceptation **
* Je veux pouvoir consulter les "log" qui m'intéressent en pouvant filtrer sur l'identification de l'acteur de l'action, l'action elle-même et éventuellement des paramètres additionnels dans une interface ou un fichier dédié.
* La connexion à un système de notification (basé sur des mocks) doit être démontrée (exemple : log(create, screen, Christophe, "IUT Fabron", 18/11/13 à 18h) )
Elle sera évaluée intrinsèquement sur sa capacité à "mémoriser" des traces.
Elle sera évaluée comme de l'intégration avec toutes les US auxquelles vous l'ajouterez.
=== Outils ===
Non valide pour ce semestre
Vous pouvez, si vous le voulez, utiliser l'outil en ligne : http://kanbanflow.com/ si la forge n'intégre pas d'ici là des outils Kanban.
=== Références ===
http://www.betterprojects.net/2011/03/user-story-template.html
http://dannorth.net/whats-in-a-story/