50
Jordan Petit mai-juin 2017 BTS Services informatiques aux organisations Option SLAM Note de synthèse 1

jordanpetit.files.wordpress.com€¦ · Web viewPrésentation du projet général. Notre projet au cours de ce stage sera de développer, sous WebDev 22, un petit logiciel de gestion

Embed Size (px)

Citation preview

Jordan Petit mai-juin 2017

BTS Services informatiques aux organisations

Option SLAM

Note de synthèse

1

Sommaire

DESCRIPTION DE L’ENTREPRISE 3

Présentation : 3

Activités : 3

Economie : 3

PRÉSENTATION DU PROJET GÉNÉRAL 4

MISSIONS 5

RÉALISATION DU PROJET 7

1. Découverte de WebDev : 7

2. Conception graphique du planning 9

3. Ajout de fonctionnalités au planning 144. Réalisation d’une liste des salariés 20

5. Intervention sur un planning pré construit 22

6. Optimisations de l’interface et des contrôles 25a) Indication de la date et l’heure 25b) Historisation 26c) Contrôle de saisie 28d) Affichage de l’utilisateur connecté 29e) Ajout de nouvelles tables 30f. 32Création d’une base de données SQL 32

BILAN DE STAGE 33

ANNEXES : 34

BESOIN : 34

2

Description de l’entreprisePrésentation :Cyberjet est une société de services informatiques spécialisée dans l’aviation.

Son domaine d’activité concerne le développement de progiciels au niveau de la gestion de la production d’une compagnie aérienne et la gestion des échanges de données entre les avions et les systèmes d’informations au sol avec l’aide du logiciel WebDev.

Activités : Cyberjet réalise des planning complets et précis pour ses clients afin de fournir un suivi concret de l’emploi du temps de chaque salarié et de chaque avion.

En effet, Cyberjet travaille exclusivement avec des compagnies aériennes pour lesquelles elle gère les vols et les salariés (pilotes ou les stewards/hôtesses).

Economie : Cette société dispose d’un siège social à Etampes et s’est externalisée en Espagne en plus de la France. À travers 3 entreprises actuellement en fonction et seulement 19 salariés, Cyberjet a réalisé un chiffre d’affaire de plus de 1 million d’euro pendant l’année 2015.

3

Présentation du projet généralNotre projet au cours de ce stage sera de développer, sous WebDev 22, un petit logiciel de gestion du planning et d’accès client.

L’objectif principal est de nous familiariser avec ce nouvel outil de développement qui est WebDev et de nous apprendre différentes façons de l’utiliser dans un milieu professionnel et informatisé.

4

MissionsDeux missions nous ont été confiées.

1) Réalisation d’un planning opérationnel relié à une table spécifique de la base de données de l’entreprise ainsi qu’à la table des salariés faisant partis de l’entreprise Cyberjet.

Visuel :

5

2) Ajout de fonctionnalités sur un planning pré construit.

Visule :

6

Réalisation du projet1.Découverte de WebDev :

Au cours de nos premiers jours de stage nous avons pu découvrir et nous familiariser avec l’outil de développement WebDev à l’aide d’un livre d’auto formation mis à disposition ainsi que l’aide de notre tuteur. Avec cela nous avons pu réaliser des exercices de l’ouvrage nous initiant à la pratique de ce logiciel.

Interface de WebDev

7

Voici un exemple d’exercice d’auto formation auquel nous avons été confrontés.

8

2.Conception graphique du planning

Suite à cette auto formation, nous avons pu débuter la réalisation du projet. Pour le débuter, mais également approfondir notre maîtrise de WebDev, nous avons développé un planning « local », c’est-à-dire que ce planning n’était relié à aucune BDD, ce qui nous permettait d’effectuer des tests plus rapidement.

En complément à l’auto formation, nous avons reçu un bref rappel sur les requêtes SQL puisque qu’une base de données sera sollicitée durant notre projet.

Le planning se réalise sur le logiciel WebDev et se décompose en trois parties. Une partie code, une partie création - visualisation et une partie affichage et son fonctionnement.

Pour commencer le projet, nous avons dû générer un planning basique sur une semaine de 5 jours.

9

Ensuite pour compléter ce projet nous avons créé et reliée notre planning à des fenêtres popups (pour « ajouter » un utilisateur, pour « initialiser » le planning) et également des boutons par du code.

Ici, la fonction PopupAffiche() permet d’afficher une fenêtre lorsque l’on cliquera sur le bouton « ajouter ». Cette fenêtre servira à ajouter un nouvel utilisateur dans le planning.

10

Ci-dessous, le code du bouton « valider » présent dans le popup « ajouter » se présente de cette manière et requiert des commandes SQL et un accès à la base de données afin de pouvoir y ajouter de nouvelles ressources qui seront saisies.

Par la suite nous avons procédé au lancement d’une fenêtre popup, lors d’un clic dans le planning, permettant la modification ou la création d’un rendez-vous.

Mais rapidement nous avons dû changer ce système de fenêtres popup qui devenaient beaucoup trop nombreuses en termes d’outils sur notre projet.

11

Nous sommes donc passés à un système d’onglets, beaucoup plus simple et pratique, placés au-dessus du planning.

Les onglets ont pour fonctionnalités de pouvoir ranger les différentes manipulations que l’on peut effectuer sur le planning telles que la création et la modification d’un rendez-vous sur l’onglet 1 et l’importation et exportation d’un planning sur l’onglet 2.

12

Après plusieurs heures de travail, le planning que nous voulions était optimisé et ressemblait à cela. Nous avons opté pour un planning construit sur des heures de travails et une semaine de 5 jours.

Les fonctionnalités sur l’onglets 2 sont de pouvoir importer le planning d’un salarié précis ou encore d’exporter la totalité du planning.

Le fichier généré sera un fichier .ics et sera ouvrable via Outlook.

13

3.Ajout de fonctionnalités au planning

Lors du lancement de notre planning l’interface se présente sous la forme de fenêtre popup qui nous demande de saisir des dates afin de définir l’intervalle d’affichage du planning souhaité.

14

Ensuite, une fois la période saisie, le planning se construit en prenant compte les dates indiquées précédemment et également en prenant en compte des informations de la base données ci-dessous.

15

Le planning se construit de cette manière et peut, à partir de cette page, être modifié avec les fonctionnalités présentes au-dessus de celui-ci dans les 2 onglets ci-dessous.

Onglet 1 :

Le but étant de créer ou de modifier un rendez-vous. Le principe est simple, il suffit de cliquer sur la cellule souhaitée dans le planning. Après cela, écrire dans la case « rdv » du volet 1 le nouveau rendez-vous ainsi que la date et l’heure de celui-ci. Et enfin, après avoir cliqué sur « ajouter » le rendez-vous se crée dans le planning et la base de données.

16

Onglet 2 :

Le but ici est simple, ces fonctionnalités nous permettent d’importer le planning sur WebDev et de l’exporter sur le bureau ou par mail.

L’importation et l’exportation se font en renseignant un nom de salarié au préalable.

Ces deux fonctions s’exécutent en cliquant sur leurs boutons respectifs « importer » et « exporter ».

17

Le code du bouton « initialiser » sur lequel nous avons cliqué pour générer ce planning, se présente dans cette partie qui est propre à chaque bouton et fonctionnalités du planning. C’est ici que sa fonction est définit.

La base de données sur laquelle nous travaillons est une copie de celle de la société. Elle est reliée au planning de WebDev par du code SQL.

18

Nous travaillons sur les tables CYBUSERS et EVENTS lors de nos projet planning et liste des salariés.

19

4.Réalisation d’une liste des salariés

Par la suite il nous a été demandé de réaliser une liste des salariés sur la base de données de Cyberjet.

Le but était de lier une base de données sur WebDev et d’y ajouter et modifier directement ce que nous voulions.

Ici nous avons spécifié des caractères précis pour chaque catégorie caractérisant chaque salarié, tels que des caractères numériques pour les numéros ou encore un « @ » pour les mails.

20

La partie code de ce nouveau projet se situe dans le bouton « ajouter » et se présente de cette façon.

La partie visualisation de la base de données, permet d’obtenir la liste des salariés qui se présente d’une manière claire et simple répertoriant les données personnelles chaque salarié.

21

5.Intervention sur un planning pré construit

Un nouveau projet nous a été donné, dont le but était de travailler sur un planning déjà pré construit afin d’éviter des erreurs telles que des rendez-vous qui ne se créaient pas ou des modifications qui ne se faisaient pas sans raison apparente.

Notre intervention a été simple, nous avons dû rajouter les mêmes fonctionnalités que dans le premier projet.

22

Ensuite, nous avons dû également rajouter la table user, qui a pour fonction de nous permettre de rajouter des salariés si besoin sur le planning précédemment définit comme étant des ressources.

Ce qui nous liait à la base de données actuelle avec la possibilité d’entrée de nouvelles données. Avec l’exemple ci-dessous où je me suis rajouté.

23

De plus ma nouvelle entrée est également présente dans la base de données :

Une fois cela fait, une page login nous a été donnée afin de permettre l’accès à la table des salariés avec des identifiants tels que l’adresses mail et un mot de passe crypté. Cependant la connexion ne peut se faire si un des deux champs ou les deux n’est pas saisi et également si le login est mauvais ou inexistant dans la table correspondante.

24

6.Optimisations de l’interface et des contrôles

a) Indication de la date et l’heure

Après cela nous avons dû ajouter une fonctionnalité qui permettrait de donner la date et l’heure de la dernière connexion à la base. Dans la colonne « T_ACTIVITY ».

Code :

Aperçu de la base :

25

b) Historisation

En complément nous avons vus comment garder les rendez-vous dans la base de données une fois supprimés, mais avec la particularité d’indiquer 1 dans la colonne « cancelled ». En effet, le but était de garder une trace du rdv dans la base pour une consultation future des rdv effectués.

Après le clique sur la croix rouge et une requête SQL on peut voir que cela est fonctionnel. Un « 1 » est présent pour nous dire que le rendez-vous a été supprimé.

26

Le code suivant indique que les rendez-vous ne seront affichés seulement si leur valeur indiquée dans la colonne « cancelled » est égale à 0.

Nous avons prévu également, d’indiquer dans la base de données l’id de celui qui a supprimé un rendez-vous afin de connaître l’identité de celui qui l’a supprimé dans la colonne « U_CANCELATOR » et l’identité de celui qui l’aurait modifié dans la colonne « U_UPDATOR ».

27

D’après cet écran on peut en conclure que le rendez-vous « test455 » a été créé, modifié et supprimé par le salarié possédant l’id numéro 6.

c) Contrôle de saisie

Une autre fonctionnalité a été installée afin d’afficher un message d’erreur lorsqu’un champ n’est pas saisis dans la création ou modification d’un rendez-vous.

Code :

28

Aperçu :

d) Affichage de l’utilisateur connecté

Nous avons également dû attribuer une couleur différente sur la table_user à l’utilisateur connecté actuellement.

Code :

Aperçu :

29

e) Ajout de nouvelles tables

Une fois cela fait nous avons rajouté deux tables « Customers » et « Module ». À partir de deux bases de données déjà existantes de la société Cyberjet.

- La table « Customers » répertories les différents clients de la société Cyberjet et « Modules » les différentes applications utilisées en plus de WebDev par Cyberjet.

- Cependant la table « Customers » étant privée, seul la table module sera affichée dans la page suivante, elle reste néanmoins dans le même style que celle-ci.

Son but étant d’avoir accès aux différents clients et applications utilisées afin de pouvoir les modifier ou en ajouter si besoin ainsi que de les consultées dans un seul et même projet réunissant plusieurs tables.

Module :

Aperçu de la table Module su WebDev :

30

Table Module dans la base de données :

31

f. Création d’une base de données SQL

Et enfin, pour clore notre stage, il nous a été donné comme dernière mission de construire notre propre base SQL et de l’ajouter à notre projet sous le nom de « Type_Evenements » pour nous familiariser d’autant plus avec les commandes primordiales de SQL.

32

Bilan de stage

Durant mon stage, effectué sur une durée de 5 semaines, j’ai appris à me servir du logiciel WebDev en construisant un planning de salariés fonctionnel relié à une table SQL ainsi que de nombreuses fonctionnalités présentées précédemment comme l’import-export de planning, la modification ou encore la création de tables utilisateurs ou rendez-vous incorporées dans ce même planning.

Cette expérience ma permis de découvrir un nouveau logiciel de programmation qui m’était encore inconnu et une révision importante des bases SQL.

Au cours de ce projet certaines difficultés ont été rencontrées telles que des problèmes d’ancrage à l’affichage ou encore des objectifs réalisés avec des commandes inconnues que nous avons dû, avec mon camarade, chercher sur internet ou avec l’aide des salariés de Cyberjet.

Cependant, dans l’ensemble, mon ressenti vis-à-vis de la société et du travail demandé est positif grâce à l’accueil et à l’aide proposée durant tout le stage. Cyberjet à donc été une très bonne expérience pour moi et m’encourage à continuer dans ce domaine dans les années à venir.

33

Annexes :

Cahier des charges Cyberjet

BESOIN : L’intranet de CYBERJET nommé « CYBSUPPORT » a besoin d’évoluer afin de répondre aux nouveaux besoins. Pour cela le projet actuel sera abandonné et reconstruit par rapport aux besoins indiqués ci-dessous.

1. Le projet sera conforme à la nouvelle charte graphique CYBERJET

2. Calendrier partagéa. Le calendrier devra être présenté au format GANT afin de visualiser l’ensemble des

ressources.b. La vue sera à la semaine / au mois / à l’année c. L’utilisateur devra pouvoir choisir le type d’évènement qu’il souhaite ajouter à son

agenda. Les types devront être configuré par l’admin.d. L’utilisateur pourra convier d’autres utilisateurs à l’événement en l’invitant via son

adresse maile. L’utilisateur pourra synchroniser à un agenda externe (Outlook, Google, etc.)f. Un système de filtre permettra de filtrer sur des ressources ou sur des types

d’activités

Exemple :

34

3. Gestion des licences clientsa. L’utilisateur devra pouvoir visualiser la liste des clients avec les informations

suivantes par client :- Client- Date de validité de la licence- Date de la dernière génération- Code de l’utilisateur qui a effectué la dernière génération

[b.] Le système devra permettre d’envoyer une notification par mail à une liste d’adresse configurable par l’admin afin d’avertir l’expiration d’une licence. Le délaisLe délai devra être configurable par l’admin.

4. Informations contacts et connexions clientsa. Pouvoir renseigner les contacts clients

- Nom- Prénom- Fonction- Fixe- Portable (s)- E-mail

b. Pouvoir visualiser les informations de connexion- Moyen de connexion- Adresses- Nom de domaine- ID- MDP- Commentaire

5. Gestion des congésa. Chaque utilisateur aura sa propre vueb. Il pourra visualiser les informations suivantes :

- L’historique de ses jours de congés- Son solde à la date du jour- Nombre de jour restant à poser avant le 31/05

c. Il pourra effectuer des désidératas qui seront validés ou refusés par l’administrateur, la demande comportera les champs suivants :

- Type (Payé / Sans solde)- Date début- Date fin

d. L’administrateur pourra imprimer la demande de désidérata qui sera conforme au format en annexe 1, la partie réservée au salarié sera auto-alimenté.

35

6. Gestion des modules (script d’activation)a. L’utilisateur devra pouvoir télécharger les scripts nécessaires à l’activation d’un

module, pour cela il disposera de la liste de tous les modules disponibles qui sont activables via script.

7. Admina. Une partie admin devra être développée afin de pouvoir créer des profils et des

utilisateurs et ainsi donner des droits par profil / utilisateur / pageb. La partie admin permettra également aux administrateurs de pouvoir configurer

l’intranet

36