Sirh
Sirh
Sirh
par :
Mathieu HERMANN
L’étudiant a envoyé ce document par email à l'adresse d'analyse remise par son
conseiller au travail de Bachelor pour analyse par le logiciel de détection de plagiat
URKUND. http://www.urkund.fr/student_gorsahar.asp
« J’atteste avoir réalisé seul le présent travail, sans avoir utilisé des sources autres que
celles citées dans la bibliographie. »
Mathieu HERMANN
Je tiens également à remercier la société informatique genevoise Qim info qui m’a
donné la chance de réaliser ce travail de Bachelor en situation réelle. Durant cette
expérience j’ai eu la chance de côtoyer des personnes qui m’ont accordé leur confiance
et qui ont toujours été très chaleureuses. Remerciement tout spécial à Loïc Malot,
responsable de mon projet en interne, qui en plus de sa sympathie a toujours été de
bon conseil dans les moments cruciaux de ce projet.
Finalement, je tiens à remercier également mes proches qui ont supporté avec brio mon
indisponibilité pour des raisons professionnelles liées à la réalisation de ce travail.
Les limitations de puissance qui autrefois permettaient de très rapidement écarter l’idée
d’utiliser un smartphone comme outil de travail ne sont plus d’actualité. En effet, les
smartphones s’approchent des puissances de calcul des ordinateurs et par conséquent
deviennent largement capables d’exécuter des programmes qui autrefois pouvaient
sembler bien trop lourds.
L’idéal serait donc de pouvoir développer une application qui soit capable de fonctionner
sur l’ensemble des plateformes susceptibles d’être employées par les utilisateurs. Il
faudrait également que cette application devienne disponible depuis n’importe quel lieu
géographique afin d’en faciliter encore l’accès.
Ayant déjà un certain attrait pour le sujet avant de débuter ce travail, je savais qu’il allait
m’être impossible d’aborder l’ensemble des solutions disponibles concernant le client
riche multiplateforme. De plus l’évolution constante des technologies rendrait plus ou
moins obsolète ce travail d’ici quelques mois.
C’est pourquoi j’ai fait le choix de réaliser cette recherche non pas seulement de
manière théorique, mais également de manière pratique en l’appliquant à une situation
réelle. Cela me permettra de proposer un état de l’art à ce jour mais également de
montrer plus globalement les étapes de conception et développement de ce type de
projet sans pour autant être focalisé sur une technologie particulière.
L’opportunité de cette mise en pratique m’a été offerte par une société de services
informatiques de la région genevoise : Qim info.
Ce qui va suivre ne va donc pas être une solution à tous vos problèmes de
développement, en revanche je vais tenter de vous présenter de manière concise les
différents paramètres à prendre en compte, un aperçu des technologies existantes mais
également les moments clés du développement d’un client riche multiplateforme.
Étant installé sur le système, le logiciel peut dialoguer facilement avec le reste
du système.
Le logiciel profite des performances de la machine ainsi que de sa rapidité
d’accès à la mémoire.
1.1.1.2 Ses faiblesses
Depuis le début des années 2000 cependant, on remarque une baisse significative dans
l’adoption du client lourd. Cette baisse est sans doute due à ses différentes faiblesses :
Les installations et les mises à jour sont à effectuer sur chaque poste et
demandent donc une organisation importante pour le déploiement.
Le client lourd est développé pour un système défini et par conséquent dispose
d’une compatibilité quasi inexistante avec d’autres systèmes.
1.1.2 Le client léger
Basé sur les faiblesses du client lourd, le client léger (également appelé application
internet) ne nécessite pas d’être installé. L’ensemble de ses calculs sont effectués sur
un serveur qui envoie les pages une fois générées sur la machine de l’utilisateur.
Pour cela, il s’appuie sur de nouvelles technologies permettant d’une part de déléguer
une partie du traitement à la machine utilisateur afin de moins charger le serveur, et
d’autre part de récupérer des informations sur le serveur sans pour autant avoir à
régénérer toute la page.
Cependant l’application riche n’est pas sans défauts. Le premier d’entre eux se traduit
par sa complexité de conception. Pour fonctionner de manière interactive tout en étant
sécurisée, l’application riche rajoute une couche de code qui augmente la complexité
par rapport au client léger. La seconde limitation est celle de la connexion internet, bien
que de moins en moins restrictive grâce aux progrès effectués dans le domaine. En
effet, l’ensemble des données transitent par le réseau ; par conséquent, une mauvaise
connexion pourrait donc directement impacter le temps de récupération des données
affichées. Finalement les technologies étant assez nouvelles et pas toujours
parfaitement standardisées, certains soucis de compatibilité, principalement avec
d’anciens navigateurs, peuvent survenir.
Ces technologies, pour la plupart propriétaires, reposent toutes sur un plug-in installé
soit dans le navigateur, soit directement sur la machine de l’utilisateur. Ce plugin permet
ensuite d’exécuter le code sur la machine et de proposer donc des contrôles semblables
à ceux d’une application lourde.
Si aujourd’hui les versions récentes des navigateurs sont pour la plupart disposées à
proposer ces différents plugins, il subsiste tout de même de réels soucis de compatibilité
lorsque l’on tente d’accéder à ce genre d’applications. En effet, les appareils de type
smartphones, tablettes, télévisions connectées mais aussi une grande partie des
navigateurs installés sur des appareils un peu plus exotiques tels que les ordinateurs de
bords de certains véhicules, n’autorisent pas l’installation de tels plugins.
Conscient du réel gain que peut apporter une application riche, les différents acteurs
œuvrant pour le HTML et le Javascript ont également commencé à réfléchir sur des
solutions pour enrichir les simples clients légers auxquels ils étaient confinés.
Cette solution basée sur des technologies HTML/Javascript (+ AJAX pour les
interactions avec la base de données) a comme avantage de ne nécessiter aucune
installation côté client.
Aujourd’hui, deux mouvements s’opposent : ceux qui prônent le client riche avec un
bout de code installé sur la machine utilisateur et ceux qui défendent le client riche sans
aucune installation.
Dans le cadre de ce projet, j’ai fait le choix de partir sur une solution basée sur des
technologies HTML/Javascript (+AJAX). Ce choix a notamment été motivé par la plus
grande compatibilité de cette solution du fait de son architecture qui ne repose pas sur
La principale force d’AngularJS est de proposer une liaison des données fonctionnant
dans les deux sens entre la vue et le modèle, également appelée « two-way data-
binding ». Cette liaison permet donc de mettre à jour automatiquement notre page
affichée sur la machine utilisateur lorsque les données sont modifiées, mais également
l’inverse.
http://www.inqbation.com/wp-content/uploads/2013/11/binding.png
Par exemple, lorsque l’utilisateur saisit un texte dans un formulaire, les données sont
mise à jour en direct dans le modèle. Plus besoin de recharger la page contrairement
aux applications de type « client léger ».
Le développeur peut ensuite, pour chacun des éléments de son design, définir à l’aide
de classes CSS le nombre de colonnes que prend l’élément. Lorsque la taille de l’écran
se réduit, la taille des colonnes se réduit également et par conséquent l’élément
diminue. Jusque-là rien de nouveau me direz-vous, autant fixer la taille de l’élément
comme un pourcentage de la page.
Mais là où le responsive design propose une avancée, c’est lorsqu’il couple ce système
de grilles à l’utilisation des media-queries disponibles dans CSS3. Les media-queries
nous donnent accès en temps réel à certaines données telles que la taille de la fenêtre
du navigateur. Cette donnée va ainsi nous permettre de définir des classes en fonction
de la taille de l’écran.
Afin de vous donner un exemple un peu plus parlant, je vais prendre l’exemple de
fonctionnement de Bootstrap, le Framework le plus populaire à ce jour proposant des
fonctionnalités de responsive design.
Par exemple si je décide d’afficher un élément sur la moitié d’un écran de bureau je vais
utiliser une classe : grand-6 (taille de l’écran – nombre de colonnes). Si je désire que ce
même élément prenne toute la largeur de l’écran de téléphone je vais alors lui ajouter la
classe : trèsPetit-12.
Bootstrap propose également des classes permettant de masquer les éléments sur
certaines résolutions d’écran. Par exemple, si je souhaite masquer mon élément sur le
format mobile, il me suffit d’ajouter la classe : masqué-trèsPetit. Lorsque les media-
queries détecteront un écran de très petite taille à l’aide de la CSS, elles masqueront
mon élément.
http://.wikimotive.com/wikiblog/wp-
content/uploads/sites/2/2013/11/Responsive_Design_Kinetic_Knowledge1.jpg
Durant 4 mois, à mi-temps, j’ai pris part aux activités du plateau de développement au
sein duquel j’ai été chargé de développer de A à Z une nouvelle version d’une
application destinée principalement aux responsables des différentes unités
opérationnelles de la société.
Cette application nommée SIRH (en version 4.0 à mon arrivée dans la société) est une
application de type client lourd, basée sur une technologie Microsoft Access. Mon
objectif était donc de prendre connaissance des fonctionnalités de l’application, ainsi
que des nouveaux besoins en termes de fonctionnalités pour pouvoir ensuite
développer une version 5.0 de cette application sous la forme d’un client riche. Cette
version 5.0, reposant sur la structure d’une application riche, est également appelée
SIRH Web.
Avant de vous détailler plus amplement l’application existante (SIRH 4.0) à mon arrivée
dans la société, je vais vous présenter brièvement la société Qim info, sa structuration
mais également les différents termes métiers utilisés par l’entreprise, qui sont par
conséquent nécessaires à la compréhension des fonctionnalités de l’application.
http://www.qiminfo.ch/templates/templateqiminfo/images/logo.png
La S.A Qim info a été fondée en 2004 par des personnes issues du domaine du service
informatique. Ses locaux sont situés dans la ville de Carouge au sein du canton de
Genève. Depuis 2010, la société dispose également de locaux dans la ville de
Lausanne.
2.1.1 Organigramme
Figure 5 : Organigramme Qim info
Dans le cadre de notre application, nous allons également nous intéresser à certains
collaborateurs qui sont responsables d’unités opérationnelles.
La société Qim info est composée de 6 unités opérationnelles. A noter qu’il est tout à fait
possible qu’un collaborateur réalise des missions dans plusieurs unités opérationnelles.
2.1.2.3 Trigramme
Le trigramme est un identifiant composé de 3 lettres découlant directement du nom et
du prénom du collaborateur. Cet identifiant est unique et global à l’ensemble des
applications Qim info. Il a l’avantage d’être plus compréhensible et plus facilement
mémorisable qu’un simple identifiant numérique.
2.1.2.4 Tâche
Une tache est une composante d’une mission. Elle est réalisée par un collaborateur.
Une tâche est également définie par une date de début ainsi qu’une date de fin, elle
comporte de plus un montant.
2.1.2.5 Mission
Une mission est le produit que vend la société Qim info. La mission se déroule sous la
direction d’un responsable d’unité opérationnelle et sera réalisée par un ou plusieurs
collaborateurs de cette même unité opérationnelle. La mission peut être effectuée pour
un client externe mais elle peut aussi être interne. Dans ce deuxième cas le client n’est
autre que la société Qim info.
La mission régie
C’est une mission composée d’une seule tâche et donc d’un seul collaborateur.
La mission forfait
C’est une mission avec un prix forfait, qui peut être composée d’une ou plusieurs
tâches et qui, par conséquent, peut comporter un ou plusieurs collaborateurs.
2.1.2.6 Revue (de mission)
Une revue de mission est un point de contrôle réalisé par un responsable d’unité
opérationnelle. Cette revue concerne le travail d’un collaborateur sur une mission. Le
responsable prend alors connaissance de l’état de la mission en compagnie du
collaborateur et du client.
A planifier
Planifiée
Réalisée
Terminée
La différence entre « réalisée » et « terminée » est assez subtile. Une fois que la revue
s’est déroulée, elle est « réalisée ». Et c’est uniquement lorsque le rapport de revue est
envoyé qu’elle peut prendre le statut de « terminée »
2.1.2.7 Formation
Qim info propose à ses collaborateurs de se former. La formation qui est donc associée
à un collaborateur peut avoir différents statuts :
Évoquée
La formation évoquée n’a pas encore été planifiée, elle représente une idée de
formation à effectuer.
Planifiée
La formation est planifiée sur des dates précises, elle est en attente d’être
réalisée.
Réalisée
La formation a été réalisée.
Abandonnée
La formation a été abandonnée avant d’être réalisée.
Les formations sont classifiées en catégories.
2.1.2.9 Contact
Le contact est un rendez-vous informel entre un responsable d’unité opérationnelle et
l’un de ses collaborateurs.
Il faut savoir que SIRH comporte principalement deux axes de travail : l’axe
« candidats » et l’axe « collaborateurs ».
La gestion des missions ainsi que celle des clients est déléguée à l’intranet. Pour cette
raison, un script a été mis en place afin que chaque soir, les données présentes sur
l’intranet soient synchronisées dans la base de données SIRH. Pour pouvoir les
reconnaitre, les tables préfixées : « INT_ » sont générées par l’intranet. La table
« Collaborateur », elle, se synchronise sur SIRH Core, le gestionnaire des
collaborateurs de la société.
2.2.2 Fonctionnalités
Je vais à présent vous exposer les fonctionnalités de l’application SIRH v4.0. Je
n’évoquerai pas du tout l’axe candidats cité précédemment, je me baserai ici
uniquement sur l’axe collaborateurs.
La liste est triée par statut, excepté pour les certifications qui sont elles triées par
collaborateur.
SIRH v4.0 propose également la possibilité d’afficher les contacts d’un responsable
spécifié. Pour ce faire, l’application invite à saisir le trigramme d’un responsable et
affiche sous forme de liste triée par statut l’ensemble des contacts liés au responsable.
Mon travail avait également comme but de proposer une solution technologique
compatible avec l’environnement informatique de Qim info.
J’ai donc eu à ma disposition un ordinateur équipé de deux écrans sur lequel Microsoft
Visual Studio était installé.
Ce projet a été encadré par Loïc Malot, chef de projet. Il m’a suivi tout au long de sa
réalisation en optant pour une méthode agile. L’application finale a été découpée en
différents lots, chaque lot comprenant plusieurs tâches. Cette méthode efficace,
combinée à l’outil interne de suivi de projet, a permis à M. Malot de connaitre à chaque
instant l’avancée de mon travail par rapport au planning prévu.
En nous basant sur l’application existante, nous avons identifié les fonctionnalités qui
devaient être implémentées dans la nouvelle application : SIRH Web.
Collaborateurs, Missions
• Afficher tous
Mode vignettes / mode liste
Filtrer par unité opérationnelle
Trier
Rechercher
• Afficher le détail
Revues, formations, certifications, contact
• Afficher tous
Mode vignettes / mode liste
Filtrer par unité opérationnelle
Trier
Rechercher
• Modifier
• Ajouter
• Supprimer
Après avoir défini les fonctionnalités, j’ai pu passer à la seconde étape : la conception
de la base de données.
Partant de là, la société Qim info étant partenaire Microsoft et effectuant la plupart de
ses développements sur l’outil Microsoft SQL Server, je me suis tout naturellement
tourné vers cette solution technologique.
J’ai, par la suite, modifié l’ensemble des noms afin de respecter les normes de
nommage de la société, normes qui n’étaient pas respectées par l’ancienne base.
Pour finir j’ai produit, à l’aide de l’outil intégré à Microsoft SQL Server, un schéma de
base de données dans le but d’avoir un aperçu visuel de l’état de la base. Ce dernier
aura été d’une aide précieuse pour faire valider mon schéma de base de données.
3.3.1 Technologie
Il existe une multitude d’outils permettant de produire des maquettes d’écrans. Dans
mon cas, j’ai fait le choix d’utiliser balsamiq, un outil que j’ai déjà eu l’occasion d’utiliser
à plusieurs reprises dans le cadre de projets informatiques.
Cet outil, disponible en ligne gratuitement dans une version d’essai amplement
suffisante, permet de faire des maquettes de type « wireframe » (fil de fer) très
aisément.
3.3.3 Validation
Comme énoncé précédemment, les maquettes doivent être validées avant de débuter le
code à proprement parler. Nous avons donc organisé une courte réunion afin de
discuter des différentes maquettes en salle de réunion. Certaines modifications ont été
proposées par les futurs utilisateurs de l’application.
Suite aux quelques modifications effectuées j’ai, avec l’accord de mon chef, passé
l’étape de conception de réels écrans sur Photoshop. Nous avons considéré que cette
étape n’apporterait pas grand-chose et avons choisi de directement continuer sur la
création du cœur même de l’application : sa structure.
Cette architecture MVC permet, comme son nom l’indique, de séparer le modèle
(données) de la vue (l’interface utilisateur) et du traitement (contrôleur). C’est un grand
avantage pour la maintenance de l’application, car on peut aisément intervenir sur une
couche sans avoir à modifier le code d’une autre couche.
L’environnement Visual Studio est, de plus, plutôt simple à utiliser mais également très
intuitif. De plus, le langage C# employé pour le codage des pages est vraiment facile à
prendre en main une fois le background en programmation d’un étudiant de la 3ème
année de la HEG acquis.
Peu après le début du projet, j’ai reçu une demande de la part du plateau de
développement me demandant de regarder si il y’avait une possibilité d’ajouter
AngularJS, un Framework Javascript très en vogue en ce moment.
Avec cette nouvelle structure, on continue de jouir des possibilités de notre MVC
ASP.NET, tout en profitant de la synchronisation bidirectionnelle des données entre le
modèle et l’interface utilisateur proposée par AngularJS.
Cette structure nous permet donc d’atteindre l’objectif de notre client riche. Les pages
seront rechargées lors du changement de page par le MVC ASP.NET, alors que toutes
les interactions à l’intérieur des pages seront réalisées par le contrôleur AngularJS qui,
à l’aide de requête AJAX, récupèrera les données à la volée dans notre base de
données. Ce traitement effectué côté client renforcera la caractéristique riche de notre
application et rapprochera son utilisation de celle d’un client lourd.
En revanche, j’ai grandement personnalisé Bootstrap à l’aide d’un fichier CSS afin de
parfaire le design de l’application, avec comme objectif la reproduction du design
proposé dans les maquettes.
Le but a donc été de trouver une façon ergonomique d’ajouter, de modifier mais
également de supprimer des objets. Après quelques recherches, j’ai fait la
connaissance d’un plugin adapté à AngularJS nommé : Angular-xeditable.
http://ryanlanciaux.github.io/files/original_xeditable.png
D’un point de vue technique, notre modèle affiche dans notre vue un objet. En cliquant
dessus Angular-xeditable affiche un champ de saisie faisant référence à l’objet du
modèle. Lorsque l’utilisateur saisi une nouvelle valeur et l’enregistre, du fait du
fonctionnement de AngularJS, l’objet contenu dans le modèle est mis à jour en
conséquence. Mise à jour qui va ensuite se répercuter sur la vue. Cette dernière va
donc afficher la nouvelle valeur de l’objet. Cette technique propose donc une
modification rapide ne nécessitant aucun rechargement de page.
Dans le cadre de l’application SIRH Web, j’ai, dans un premier temps, utilisé une autre
fonctionnalité également proposée par ce plugin : l’édition en ligne. Cette dernière
repose sur le même principe de fonctionnement d’un point de vue technique.
La solution que j’ai choisi d’implémenter est basée sur les fenêtres « modals »
proposées par Bootstrap. Ces fenêtres qui s’affichent en surimpression de la page
permettent d’afficher toutes sortes d’informations. SIRH Web fait appel à ces fenêtres
dans deux cas d’utilisation.
Le second cas d’utilisation est lorsque l’utilisateur clique sur un objet. La fenêtre modal
s’ouvre et affiche les détails de l’objet.
La fenêtre de type modal a le grand avantage par rapport à l’édition en ligne d’être
parfaitement compatible et ergonomique sur les petits écrans de type smartphone. Cette
solution m’a également permis de proposer directement l’édition d’objets depuis le mode
vignettes sans nécessiter d’afficher les objets sous forme de liste.
4.2 Fonctionnalités
4.2.1 Le filtrage par unité opérationnelle
Le filtrage par unité opérationnelle est un concept que vous allez retrouver dans
chacune des pages ayant comme fonction principale le listing d’objets métiers
(missions, collaborateurs, etc..). En effet, comme expliqué un peu plus tôt dans ce
document, l’application SIRH Web est destinée principalement à des responsables
d’unité opérationnelle qui, par conséquent, doivent pouvoir accéder rapidement aux
Cette recherche est disponible sur l’ensemble des champs des objets du listing.
D’un point de vue technique, le modèle AngularJS contient l’ensemble de nos objets.
Lorsque l’utilisateur modifie le champ de recherche sur l’interface (grâce à la
synchronisation que propose AngularJS entre le modèle et la vue), le modèle de
recherche prend la nouvelle valeur introduite par l’utilisateur. A l’aide de cette nouvelle
valeur, les objets du modèle sont filtrés. Une fois de plus grâce à la synchronisation
modèle-vue, la vue est automatiquement mise à jour avec les objets filtrés du modèle.
Aux yeux de l’utilisateur, lorsqu’il modifie le champ de recherche, la liste des objets à
l’écran se filtre afin d’afficher uniquement les objets contenant les caractères
recherchés.
La page de détails du collaborateur, comme son nom l’indique, affiche l’ensemble des
détails du collaborateur sous forme de liste déroulante.
On retrouve donc sur cette page l’ensemble des revues, formations, certifications et
contacts du collaborateur. On peut également, directement depuis la page du
collaborateur, modifier, ajouter et supprimer la plupart de ces éléments. Seules les
missions ne sont pas modifiables car ce n’est pas le rôle de l’application SIRH.
La page des missions affiche l’ensemble des missions répondant aux critères de
filtrage. Comme vous pouvez le voir ci-dessus, elle distingue les missions forfaits des
missions régies. Les missions forfaits étant moins amenées à être consultées que les
missions régies, elles sont par défaut repliées.
La page de détails d’une mission affiche l’ensemble des informations associées à une
mission. On retrouve donc dans un premier temps les différentes dates ainsi que le
budget.
On retrouve ensuite la liste des tâches qui composent la mission. Dans le cadre d’une
mission régie, une seule et unique tâche est présente. Mais dans le cadre d’une mission
forfaits, nous avons souvent affaire à plusieurs tâches.
Pour finir, cette page affiche les revues qui concernent cette mission. Il est également
possible d’ajouter, de modifier ou bien de supprimer une revue pour cette mission
directement depuis cette page.
La page des revues affiche l’ensemble des revues répondant aux critères de filtre. Ces
revues sont triées par statut et disposées sous forme de menu déroulant.
En cliquant sur l’une des revues, une fenêtre modale s’ouvre. Cette fenêtre contient
l’ensemble des détails de la revue. Cette fenêtre nous permet également de modifier ou
supprimer la revue. En cliquant sur modifier, les champs se transforment en formulaire
et nous invitent à modifier les éléments désirés.
L’ajout de la revue se fait à l’aide du bouton situé en haut de la page : « ajouter une
revue ».
Cette page comporte exactement les mêmes fonctionnalités que la page des revues,
excepté que l’ensemble des opérations se passe sur des formations.
Cette page dispose également des mêmes fonctionnalités que la page des revues. La
seule différence ici est que les certifications ne disposent pas de statut. Par conséquent,
le tri par statut n’est pas présent sur cette page.
Cette page fonctionne exactement de la même manière que la page des revues, la
seule différence ici est que l’objet traité est un contact.
A la suite de ce travail, la société Qim info continuera le développement sur SIRH Web
afin d’y inclure l’axe « candidats ». Cela permettra à court terme, de se passer
totalement de l’application SIRH 4.0.
A plus long terme, l’application SIRH Web pourrait également, suivant l’évolution de
l’infrastructure chez Qim info, se voir doter de certaines tâches qui, aujourd’hui, sont
réalisées par l’intranet.
5. Conclusion
A l’heure où le nombre d’appareils connectés atteint son point le plus haut jamais
enregistré et ne cesse encore de croître. Il devient nécessaire de se préoccuper de la
compatibilité des applications développées avec l’ensemble de ces nouveaux systèmes.
Le coût de développement de multiples versions du même produits ainsi que la difficulté
de maintenance de ces solutions à vite fait de décourager les développeurs, causant
une segmentation du marché de l’application. Cette segmentation se fait au détriment
de l’utilisateur qui veut pouvoir, en tout temps, et ce depuis n’importe quel appareil,
pouvoir avoir accès à son application et l’utiliser de manière optimale.
Aujourd’hui le client riche propose une solution concrète à ces problèmes. En effet, le
temps où le client riche proposait une compatibilité limitée sur les systèmes nomades
est sur le point d’être révolu. En effet, comme nous avons pu le voir tout au long de ce
travail, nous disposons aujourd’hui d’outils capables d’apporter de la richesse à nos
applications sans nécessiter une quelconque installation.
L’application que j’ai créée reprend l’ensemble des fonctionnalités de l’application SIRH
v4.0. Elle permet d’afficher un annuaire des collaborateurs ainsi que des missions. Elle
permet également une gestion complète des revues, formations, certifications et
contacts. Les contraintes liées à la caractéristique « multiplateforme » de l’application
m’ont fait imaginer des solutions ergonomiques adaptées à chaque situation tout en
gardant les fonctionnalités de l’application intactes et ce : peu importe la plateforme. La
notion de client riche m’a également permis d’explorer les différentes solutions
actuellement disponibles et de choisir la plus adaptée.
Les avantages qu’apporte mon application sont nombreux. Tout d’abord, son
architecture de client riche multiplateforme lui permet de proposer une expérience
d’utilisation identique sur l’ensemble des plateformes de la société. Cette architecture
simplifie également les futures maintenances de l’application. La recherche effectuée
sur le design et l’ergonomie aboutissent à une navigation facilitée. Pour finir cette
Cette expérience m’aura énormément apporté sur le plan personnel. Bien que déjà très
intéressé par le sujet, j’ai eu l’occasion de mettre en œuvre des technologies qui jusque-
là m’étaient inconnues. En combinant des technologies récentes et en imaginant des
solutions peu expérimentées jusqu’ici, j’ai pu non seulement concevoir une application
répondant aux objectifs fixés mais également une application innovante de par ses
composants.
Livres
GREEN, Bras, 2014, AngularJS. O’Reilly, 2014. ISBN 978-1-449-34485-6
Blogs
AngularJS pour les nuls, 2014, AngularJS pour les nuls [en ligne]. [Consulté le 1er juillet
2014] Disponible à l’adresse : http://angularpourlesnuls.blogspot.ch/
Sites web
WIKIPEDIA, 2014, AngularJS [en ligne]. [Consulté le 1er juillet 2014] Disponible à
l’adresse : http://en.wikipedia.org/wiki/AngularJS
WIKIPEDIA, 2014, ASP.NET MVC Framework [en ligne]. [Consulté le 1er juillet 2014]
Disponible à l’adresse : http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework
WIKIPEDIA, 2014, Rich Internet Application [en ligne]. [Consulté le 1er juillet 2014]
Disponible à l’adresse : http://en.wikipedia.org/wiki/Rich_Internet_application
BOOTSTRAP, 2014, Bootstrap [en ligne]. [Consulté le 1er juillet 2014] Disponible à
l’adresse : http://getbootstrap.com/
ANGULAR-XEDITABLE, 2014, Angular-xeditable [en ligne]. [Consulté le 1er juillet 2014]
Disponible à l’adresse : http://vitalets.github.io/angular-xeditable/
MICROSOFT, 2014, ASP.NET MVC Overview [en ligne]. [Consulté le 1er juillet 2014]
Disponible à l’adresse : http://msdn.microsoft.com/en-
us/library/dd381412%28v=vs.108%29.aspx