Stage de seconde année - Onepoint

Présentation de l'organisation

Onepoint est une société de conseil du numérique créée par David Layani en 2002 et un acteur international de la digitalisation des Grands Comptes. Elle est l'un des acteurs majeurs de la transformation numérique et compte plus de 2000 salariés. Son métier est autant de penser le changement que de le conduire avec les outils adaptés, pour des clients de tous secteurs, privés comme publics.

Présentation de mes activités

Au cours de ce stage, j'ai pu exploiter divers outils tels que Confluence, JBOSS ou encore Swagger dans le but de répondre aux activités qui m'ont été confiées. Ces dernières étant :

- La participation au projet KnowledgeCenter. Dans le cadre de ce projet, j'ai dû travailler avec l'entreprise Nissan, cette dernière ayant une équipe qui souhaitant changer son mode de travail car ces derniers travaillaient en silos, sans interactions particulières. Avec l'aide d'un autre stagiaire, nous les avons donc accompagnés dans le recueil du besoin et d'un outil à cet effet.

- La mise en place et l'exploitation d'un serveur JBOSS. Dans le but de me familiariser avec JBOSS, j'ai dû réaliser une petite application visant à intéragir avec une base de données en Java EE.

- La réalisation d'une documentation SWAGGER. Ici on m'a demandé de réaliser la documentation de certaines spécifications d'API qui retournent des données au format JSON.

Projet KnowledgeCenter

Au sein de Nissan, j'ai été amené à travailler pour l'équipe de la Software Factory. Cette dernière travaillait en silos, sans interactions et éprouvait des difficultés à retrouver certains documents plus ou moins récents au travers de leur boîte mail. Afin de palier à ces problèmes, il nous à été demandé dans un premier temps de travailler sur l'outil Confluence, qui est un outil type Wikipédia, et d'effectuer une maquette de ce qu'il serait possible de réaliser. Confluence se présente comme suit :


Cet outil est très polyvalent et il est possible d'y ajouter de nombreux modules qui permettent de répondre aux besoins de l'équipe. Nous avons donc réalisé la maquette et en avons fait la présentation. Cependant, l'équipe n'ayant pas été impliqué dans sa totalité dès le début du projet, cette dernière à décidé de redéfinir les besoins du projet en impliquant toute l'équipe.

On a donc été amené à effectuer des sessions de workshops, durant lesquelles on recueillait les besoins de chaque membre de l'équipe dans un tableau excel. Nissan étant une entreprise bilingue, ces sessions s'effectuaient en anglais. Chaque besoin se présentait sous la forme :

- As a...
- I want to...
- So that I...

Cette structure avait pour but de définir précisément les besoins de chacun et ce à quoi ce serait utile.

Par la suite nous avons débattu sur l'ordre de priorité de chaque besoin pour au final obtenir ce résultat :


Sur ce tableau, on peut observer les différents besoins énoncés (qui ne sont pas tous présents sur la capture), la priorité qui leur à été attribuée ainsi que le nombre de fois où elle ont été énoncées selon les workshops, ce qui a en partie, permis d'établir la priorité de ceux-ci.

Il m'a également été demandé de concevoir un outil permettant de suivre l'avancement du projet à l'aide du logiciel SharePoint de Microsoft. Sur et outil on devrait retrouver les différents besoins du projet, une section permettant de mettre en avant de nouvelles idées, une foire aux questions et un calendrier où l'on retrouverait notamment les dates de réunions.

Je me suis donc éxécuté et ai réalisé cet outil qui se présente ainsi :

Product Backlog :


Idea Box :


FAQ :


Calendar :


Suite au recueil des besoins, nous avons été amenés à effectuer une documentation utilisateur et des statistiques concernant les idées relevées lors des workshops, le tout dans un powerpoint que vous pouvez retrouver ici

Enfin, il nous à été demandé d'effectuer une documentation sur les possibilités de deux outils, à savoir Confluence et Teams, au travers d'un word et de définir s'ils répondent aux besoins du projet.

Si vous souhaitez consulter cette documentation, cliquez ici

Installation et exploitation d'un serveur JBOSS

Dans un second temps, j'ai donc été amené à installer un serveur JBOSS. Pour se faire, il m'a fallu, à partir de l'IDE Eclipse, installer le plugin Jboss Tools. Après avoir installé ce dernier, il nous est donc possible de mettre en place le serveur Jboss sur lequel on pourra faire fonctionner nos applications Java EE.

Après avoir correctement effectué l'installation, on obtient ceci à l'adresse localhost:8080 dans notre navigateur:


Une fois la mise en place du serveur effectuée, il m'a fallu l'exploiter et le but étant de communiquer avec une base de données, j'ai donc dû mettre en place un serveur PostgreSQL en local ainsi que son interface graphique pgAdmin4.

On obtient :


Après avoir mis en place le serveur de base de données j'ai donc pu créer une petite application permettant de s'inscrire en tant qu'utilisateur mais aussi de se connecter. Ici le Java EE est assez similaire au modèle MVC, les JSP représentant les vues, les servlets le contrôleur et les beans les modèles.

On obtient ces deux interfaces en résultat :

Inscription


Connexion


Documentation SWAGGER

Pour finir, il m'a été demandé de réaliser la documentation SWAGGER de spécifications d'API qui m'ont été fournies.

En voici un exemple :


J'ai donc utilisé SwaggerHub afin de réaliser cette documentation, obtenant un résultat similaire à celui-ci :


Cette documentation a pour but de regrouper et de définir l'utilité de chaque méthode de l'API en question