• Aucun résultat trouvé

Dimension V  : Les outils

5.  Personnalisation

 

Type d’outil  Description 

Aide  FAQ  Bouton d’impression  Ballons d’aide  Aide Contextuelle  Awareness  Mise en avant de nouveau contenu, changement de statut d’information  Bandeau temporel permettant d’agréger les listes de son choix  Templates  Gestion et configuration de patrons d’agencement de l’écran selon le rôle  choisi par l’utilisateur.        

 

Méthode de sélection des fonctionnalités à développer 

Nous avons décidé d’obtenir un regard extérieur. Notre thématique s’adressant à  deux types de populations (étudiants et enseignants), nous avons décidé 

d’interviewer une personne de chacun de ces groupes. 

De façon individuelle, nous leurs avons présenté le tableau ci‐dessus et demandé  pour chacune des fonctionnalités de nous donner un ordre de priorités dans le  développement de notre logiciel.  

 La priorité de niveau 1 était assignée à des fonctionnalités d’une version 1 du  logiciel, qui en feraient un outil déjà exploitable dans le contexte de suivi de  mémoire. 

 La priorité de niveau 2 était considérée comme non‐urgente, même si  désirable. 

 La priorité de niveau 3 étant considérée comme non désirée. 

Dans un premier temps nous avons interviewé une assistante de recherche venant de  terminer son mémoire.  

Dans un second temps, en cours de développement, nous avons reproduit cet  exercice auprès d’un enseignant universitaire ayant l’expérience de suivi de  mémoires. 

Dans un troisième temps, nous avons passé en revue les fonctionnalités pour les  valider.  

Le tableau récapitulatif de ces fonctionnalités priorisées, sélectionnées et  implémentées est disponible en Annexe 1. 

 

Phase de Développement 

Environnement technique 

Le choix de l’environnement technique était un défi en soi, n’ayant jamais développé  de projet en PHP et Mysql, mais ce choix s’est imposé dans l’optique d’être accessible  au monde libre du logiciel. Pour le développement, deux ensembles de produits se  distinguaient, et plutôt que EasyPhp, j’ai fait le choix d’installer la suite XAMPP.  Comme outil d’écriture j’ai utilisé PSPad, très simple d’utilisation mais suffisant.  Après quelques tests, j’appréciais également l’utilisation de MySQL Workbench, son  interface étant plus agréable à utiliser pour les configurations de tables et le travail  avec les requêtes SQL. La configuration logicielle installée se déclinait selon les  versions suivantes : 

Ensemble de logiciels sous XAMPP version 1.7.7   Php 5.3.8   Mysql 5.5.16   Apache 2.2.21   phpMyAdmin 3.5.1  MySQL Workbench 5.2  PSPad 4.5.6  Internet Explorer 9.0.7 

Structure de données 

Les structures de données ont été définies selon quatre axes:   Gestion des données 

Ceci concerne essentiellement les tables de références qui permettent 

l’interprétation et l’exploitation des données 

 Gestion des processus 

Permet de gérer les données ayant un impact sur la gestion des informations, 

par exemple celles permettant le suivi des changements de statuts des 

 Gestion de l’interface 

Structures dédiées à l’implémentation visuelle des outils, les configurations 

des panneaux dans le Dashboard. 

 Gestion des utilisateurs 

Concerne les profils utilisateurs, les droits d’accès, la configuration 

personnalisée des outils et de l’interface. 

Le choix de technologie de la structure de données créée s’est porté sur une  structure générique, typique de nombreux CMS : nous avons créé une table de  données centrale et l’avons entourée de multiples tables de références. 

Grâce à cela, il a été possible de définir un outil central qui permet l’implémentation  de différentes formes de fonctionnalités, toutes reposants sur des données 

centralisées.  

Pour cela j’ai implémenté un moteur de gestion de fiches qui centralise les  informations de tous les outils du système de suivi.  

Les champs de données des fiches sont stockés dans une seule et même table  (donnees). Cette table dispose d’une seule colonne (DataValue)  dédiée au stockage  des données entrées dans les champs des formulaires.  

Ce sont les tables de références qui permettent de modifier et interpréter de façon  dynamique au niveau de l’interface les types de fiches, leurs structures et les types  de champs. 

Les fiches sont des formulaires web générés dynamiquement à partir d’une table  (structuredefiche) définissant la structure de chacune, en regard de son type. Les  colonnes de cette table sont dédiées à l’implémentation de chaque formulaire.  (Champs obligatoire ou non, ordonnancement dans le formulaire, champs servant de  titre, activation optionnelle du WYSIWYG pour les zones de textes, dimensions en  hauteur et largeur, etc.) 

Les types de champs permettent de définir les moyens d’actions sur les informations  stockées, la façon de les traiter et de les afficher. La table des types de champs  (typesdedonnees) est utilisée pour identifier chaque type de champ de formulaire.  Chaque type est un enregistrement dans cette table et son identifiant est repris dans  la table de structure des formulaires (structuredefiche).  

J’ai  identifié huit types de champs de formulaire : 

Commentaire  Commentaire sans entrée de données Texte  Données de type texte

Tri  Un champ caché dans les formulaires mais qui permet de  changer l'ordre des fiches au sein d'une même liste. 

Numérique  Données de type numérique

Date  Données de type de date

AutreStructure  Permet de stocker l'ID d'une autre structure pour se référer à  l’une de ses fiches. Utilisé dans les notes de lectures qui  pointent sur la bibliographie. 

Oui / Non  Champs à choix « oui » ou « non »

Fichier  Fichiers téléchargeables  

A chaque mémoire sont liés des utilisateurs et des fiches. 

Lorsqu’un utilisateur de type étudiant entre dans le système, il a accès aux fiches  liées au mémoire qui lui est assigné. 

Lorsqu’un utilisateur de type superviseur entre dans le système, il a accès aux fiches  liées au mémoire de l’étudiant sur lequel il est connecté. Le superviseur peut ainsi  sélectionner dans l’interface l’étudiant dont il veut voir les informations de son  mémoire. 

   

 

Structure de données 

 

Configuration visuelle de l'interface 

J’ai implémenté une interface modulable, avec des blocs visuels pouvant avoir des  formes, tailles et contenus différents. Ce sont donc des carrés ou des rectangles. Les  rectangles sont orientés de façon verticale ou horizontale selon l’outil concerné.  Chaque bloc a une définition en axe et en ordonnée qui est un multiple de l’unité  visuelle de base : un carré d’une résolution réelle correspondant  au modulo en  pourcent de la résolution d’écran. 

La plupart des écrans sont sur un ratio de 4/3.  J’ai donc décidé de définir l’unité  visuelle de base en correspondance avec ce ratio.  

Trop d’éléments visuels entraineraient une surcharge cognitive, cependant définir 12  (4*3) blocs (incluant la navigation) semblait insuffisant. En doublant le ratio (8*6),  cela a permis de mettre à disposition 48 blocs de 12.5% de largeur et 16.6% de  hauteur. 

La colonne de gauche est l’emplacement réservé au deux zones navigation et  « Awareness ».  

Chaque fiche possède donc une configuration dont les limites de tailles en hauteur et  en largeur doivent s’inscrire dans cette définition : 1 à 7 de largeur, 1 à 6 de hauteur. 

   

J’ai créé trois utilisateurs ayant chacun sa propre configuration d’écran pour montrer les  possibilités de l’interface : 

Documents relatifs