Vous êtes sur la page 1sur 19

Rapport de Stage :

Plateforme de Signature Electronique des Documents

Filière : Ingénierie des Systèmes Informatique


Spécialité : Système Embarque et IOT

Stagiaire : Encadrante :
Jarray Najmeddine Jawedi Asma

Entreprise :
Euro Tech Console
Période :
Juin – Juillet /2022
Remerciements

 Je tiens à remercier toutes les personnes qui m'ont soutenu dans


mon stage et qui m'ont aidé lors de la rédaction de ce rapport.

 Tout d'abord, un grand merci à toute ma famille et plus


particulièrement à ma maman et mon papa, qui m'apportent toujours
compréhension, tendresse, amour, conseils, soutien moral et
économique.

 Je tiens à remercier ma cousine, Mme Asma Jawedi qui m'a beaucoup


aidée dans ma recherche de stage et m'a permis d'évoluer en ETC
Tunisie.

 Je tiens à exprimer mes sincères remerciements et ma gratitude


pour la supervision de Mme Asma Jawedi pour son accueil et le temps
qu'elle a passé avec moi et partagé avec moi son expérience
quotidienne. Grâce aussi à sa confiance, j'ai pu accomplir pleinement
mes missions. Elle a été d'une grande aide dans les moments les plus
sensibles.

 Enfin, je tiens également à remercier toutes les personnes avec qui


j'ai pu travailler. Ils ont su se rendre disponibles en cas de besoin et
ont toujours voulu m'expliquer les choses de manière pédagogique.
Table des matières

I. Introduction......................................................................................................................................................... 2
II. Présentation d’entreprise..................................................................................................................... 3

2.1 ETC Tunisie................................................................................................................................. 3

2.2 Département............................................................................................................................... 4
III. Projet de Stage........................................................................................................................................... 5

3.1 Objectifs de Stage.......................................................................................................................... 5

3.2 Etapes du projet........................................................................................................................... 6


3.2.1 Plateforme de Signature I........................................................................................................................................6
3.2.2 Plateforme de Signature II......................................................................................................................................6
3.2.3 API..........................................................................................................................................................................6
3.2.4 Dialogue..................................................................................................................................................................6
IV. Déroulement du Stage............................................................................................................................. 7

4.1 Plateforme de Signature I........................................................................................................... 7


4.1.1 Réalisation du Plateforme.......................................................................................................................................7
4.1.2 Connexion...............................................................................................................................................................8

4.2 Plateforme du Plateforme II....................................................................................................... 9


4.2.1 MySQL...................................................................................................................................................................9
4.2.2 Base de données......................................................................................................................................................9
4.2.3 Node.Js....................................................................................................................................................................9
4.2.4 Serveur..................................................................................................................................................................10

4.3 API............................................................................................................................................. 10
4.3.1 Postman.................................................................................................................................................................10
4.3.2 Affichage de données............................................................................................................................................11
4.3.3 Requête SQL.........................................................................................................................................................11
4.3.4 Client et Fonction API..........................................................................................................................................11

4.4 Dialogue..................................................................................................................................... 12
4.4.1 Plateforme et API..................................................................................................................................................12
4.4.2 Token API.............................................................................................................................................................13
V. Conclusion................................................................................................................................................ 14
VI. Bibliographie........................................................................................................................................... 15

1
Chapitre 1

I. Introduction

Un développeur web est un informaticien spécialisé dans la programmation ou


expressément impliqué dans le développement des applications du web, ou des
applications qui sont exécutées à partir d'un serveur web sur un navigateur web et
qui utilisent le protocole HTTP comme vecteur de transmission de l'information.

Figure 1 : dev-web

2
Chapitre 2

II. Présentation d’entreprise


2.1 ETC Tunisie

Euro Tech Conseil est une entreprise de services numériques


sur mesure, dotée d’une expérience de plus de 22 ans dans le domaine et
spécialisée dans la création des outils informatiques spécifiques et complexes
dédiés à votre métier.
Elle développe des solutions digitales et technologiques personnalisées en
s’alignant à votre stratégie marketing et communication, et adopte une démarche
100% sur mesure à travers la mise en œuvre de solutions performantes,
économiques et fiables.

Nous intervenions pour assurer à votre entreprise, quelle que soit sa taille, ETI,
PME, grand compte et association des services de développement des
applications web et mobile, logiciels, plateformes en ligne…, de maintenance
applicative avec des contrats adaptés à vos besoins, d’audit de vos systèmes
d’information…

Notre agence dispose d’une équipe d’experts en matière de développement web


et d’un savoir-faire indéfectible nous permettant de proposer des solutions
performantes aux professionnels quel que soit leur domaine d’activité : industrie,
commerce, consulting, ou encore organisme de formation.

Figure 2: ETC Tunisie

3
2.2 Département

4
Chapitre 3

III. Projet de Stage


3.1 Objectifs de Stage

 En général, les stages consistent à mettre en œuvre un projet répondant aux exigences du
maître de stage et donc aux exigences de l'entreprise. Ainsi, il faut construire le projet de
toutes pièces, imaginer son fonctionnement, le structurer et le programmer jusqu'à ce qu'il
devienne utilisable.

 La formation présentée ici consiste à créer un prototype de service web, programmé en


Angular et NodeJs avec une base de données MySQL ainsi que quelques petits bouts de
code en JavaScript.

 Le dialogue entre les deux parties se fera via une API utilisant Postman, qui traitera les
requêtes. Il autorisera ou interdira l'accès en écriture à la base de données.

 La première partie (Front-End) de la formation consiste à créer une plateforme électronique


de signature de documents. Il contient de nombreuses sections :
 La première section est une introduction à la plateforme.
 La deuxième section est la connexion.
 La troisième section : fournit le service de la plateforme.
 La quatrième section : est destinée au superviseur administratif.

 La seconde partie (Back-End) En utilisant NodeJs de la formation consiste alors à créer


serveur qui se chargera de la connexion entre la première partie et la base de données. En
plus de créer une base de données pour stocker les données et les transactions pour
chaque utilisateur. Il a également accès à la base de données MySQL

 La dernière partie de la formation consiste à créer une API à l'aide de Postman qui
permettra aux plateforme et serveur de fonctionner ensemble pour permettre aux données
d'être lues à partir du premier emplacement via connexion par seconde.

5
3.2 Etapes du projet

3.2.1 Plateforme de Signature I


 Réaliser la plateforme avec liste des articles
 Gestion de la connexion

3.2.2 Plateforme de Signature II


 MySQL
 Base de données
 NodeJs
 Serveur

3.2.3 API
 Création des fichiers de connections et configuration de l’API
 Requête SQL
 Objet Client et fichiers de fonctions API

3.2.4 Dialogue
 Mise en place API sur plateforme de Signature
 Gestion connexion inter-plateforme

6
Chapitre 4

IV. Déroulement du Stage


4.1 Plateforme de Signature I

4.1.1 Réalisation du Plateforme

Il est nécessaire de créer une plate-forme pour la signature électronique des documents, qui
simulera les municipalités et les institutions introduisant la signature, ce qui conduit à l'abandon de
l'utilisation des papiers et à la réduction de la surpopulation.
Ainsi, toutes les signatures et données personnelles de l'utilisateur sont stockées dans une base
de données SQL où les informations utilisateur de base sont stockées :
Nom, prénom, numéro d'identification, date, signature sous forme de photo ...

Figure 3 : Sign Now

7
4.1.2 Connexion

Lazy Loading (également appelé chargement asynchrone) est un modèle de


conception couramment utilisé dans la programmation informatique et principalement
dans la conception et le développement Web pour différer l'initialisation d'un objet
jusqu'au moment où il est nécessaire. Il peut contribuer à l'efficacité du fonctionnement
du programme s'il est utilisé correctement et de manière appropriée. Cela le rend idéal
dans les cas d'utilisation où le contenu du réseau est accessible et où les temps
d'initialisation doivent être réduits au minimum, comme dans le cas des pages Web. Par
exemple, différer le chargement des images sur une page Web jusqu'à ce qu'elles soient
nécessaires peut accélérer l'affichage initial de la page Web. Le contraire du Lazy
Loading est eager loading.

Figure 4 : Lazy Loading

8
4.2 Plateforme du Plateforme II

4.2.1 MySQL

MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de
performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service de
données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Il
est multi-threadé et multi-utilisateur.

4.2.2 Base de données

Sign Now est une plateforme qui sert d'intermédiaire entre les utilisateurs et les documents,
elle permet aux utilisateurs de se connecter et d'accéder aux signatures sur la plateforme qu'elles
soient signées ou non.
Une fois qu'un compte est créé, les données personnelles de l'utilisateur sont stockées dans la
base de données
Une fois connecté, l'utilisateur obtient 5 signatures gratuites.
L'utilisateur peut ensuite recharger son compte avec des soldes sur la plateforme Sign Now pour
une certaine somme d'argent.
Celui-ci contient une base de données qui contient donc les données des utilisateurs enregistrés
avec Sign Now.

4.2.3 Node.Js

9
Node.Js est une plateforme logicielle libre en JavaScript, orientée vers les
applications réseau évènementielles hautement concurrentes qui doivent pouvoir monter en
charge. Elle utilise la machine virtuelle V8, la librairie libuv pour sa boucle d'évènements, et
implémente sous licence MIT les spécifications CommonJS.
Parmi les modules natifs de Node.js, on retrouve http qui permet le développement de serveur
HTTP. Ce qui autorise, lors du déploiement de plateforme internet et d'applications web
développés avec Node.js, de ne pas installer et utiliser des serveurs web tels
que Nginx ou Apache.
Concrètement, Node.js est un environnement bas niveau permettant l'exécution
de JavaScript côté serveur.

4.2.4 Serveur

Une fois connecté, l'utilisateur verra les informations de base de son compte : le nom du compte
et ses données restantes. Il peut alors choisir de se déconnecter, recharger son compte, changer
sa signature, ou modifier ses informations personnelles.

4.3 API

4.3.1 Postman
10
Postman est une application permettant de tester des API, créée en 2012 par Abhinav
Asthana, Ankit Sobti et Abhijit Kane2 à Bangalore pour répondre à une problématique de test
d'API partageable. D'abord module complémentaire de Google Chrome, puis client lourd, et
finalement client léger, elle est à présent utilisée par plus de 500 000 entreprises dans le monde
et a son siège à San Francisco3,4.

4.3.2 Affichage de données

L'API de la plateforme, représentée dans ce projet par la plateforme de test Postman,


permettra de récupérer des informations pour la gestion de la connexion et l'accès à certains
articles.
Plusieurs fichiers permettent de configurer cette API, notamment pour se connecter à une base
de données et créer un objet client, qui aura certains attributs par défaut qui permettront de
stocker des informations client.
Ces informations peuvent être extraites de la base de données, puis enregistrées dans la base
de données, lorsqu'un nouveau client souhaite s'inscrire sur la plateforme Web Sign Now.

Figure 5 : API DATA

4.3.3 Requête SQL

Les demandes d’informations de la base de données sont réalisées en SQL. Ces


demandes se font à travers des requêtes HTTP adressées à l’API du plateforme Sign Now.
Le code permettant de gérer la requête est encodé comme étant une fonction de l’objet
Client. Cependant, appeler une fonction de l’objet Client ne suffit pas à utiliser
correctement l’API, étant donné qu’il faut gérer la réponse mais aussi l’accès aux
paramètres qui seront utilisés lors de l’utilisation de l’API et du déroulement de la requête
SQL.
Pour cela, chaque requête HTTP est liée à un fichier de l’API afin de gérer celle-ci

4.3.4 Client et Fonction API


11
Afin d’utiliser convenablement l’API, chaque fonction de celle-ci est représentée par serveur
(NodeJs), celui-ci va gérer la demande en provenance de la plateforme, exécuté la demande de
la plateforme et envoyer une réponse au format JSON permettant à la plateforme de Signature
de modifier son comportement en fonction de la réponse reçue.

Les fichiers fonctions de l’API vont d’abord établir la connexion avec la base de données, dans le
but de récupérer ou y stocker des informations. Ensuite, il faut gérer les paramètres qui seront
utilisés par l’API lors du déroulement de sa requête.

Le plus souvent, ces paramètres sont des ID de client ou d’article ou alors des informations de
connexion (nom de compte et mot de passe).

Une fois les paramètres obtenus, le code va les traiter et appeler une fonction contenue dans
l’objet Client de l’API, les paramètres seront alors transmis à la fonction de l’objet Client qui va
les utiliser afin de réaliser une requête SQL avec la base de données.
Une fois la requête effectuée, le code du fichier serveur (NodeJs) vérifie le contenu des
informations données par la requête, les traite si celles-ci doivent être traité et va les encoder en
JSON dans la réponse de l’API afin de les transmettre à la plateforme de Signature. Cependant,
il faut avant cela interpréter ses informations afin de renvoyer une réponse correcte à la
plateforme. Si la requête à échouer ou que la base de données ne possède pas l’information
demandée, la réponse sera alors adaptée et permettra à la plateforme d’agir en conséquence.

La réponse contient soit l’information demandée, soit un OK affirmant que tout s’est passé
normalement, soit un message d’erreur.

4.4 Dialogue

4.4.1 Plateforme et API


12
La plateforme de Signature doit installer une partie de code qui va permettre d’utiliser l’API et
gérer son fonctionnement en fonction de la réponse de celle-ci.
Cette portion de code est installée, ou dans un code TypeScript. Pour déterminer dans quelle
zone la portion de code sera installée, il faut faire attention au rôle de celle-ci.
En effet, le code installé dans le contrôleur sera exécuté coté Serveur, et donc du côté du
plateforme de Signature, alors que le code qui est installé en TypeScript sera quant à lui exécuté
coté Client, et donc depuis l’ordinateur de l’utilisateur.

Figure 6 : Validation pour formulaire en Angular

Côté serveur, ce sont essentiellement des fonctions qui permettent de faire des requêtes HTTP à
l'API de la plateforme, afin de localiser la plateforme et de récupérer un jeton de sécurité, ou de
vérifier l'accès des clients à certains articles de la plateforme.

Figure 7 : Validation pour formulaire en Node.JS

4.4.2 Token API

L’API est le principal moyen permettant de dialoguer entre plateforme et serveur,


avec les redirections directement sur un URL.

Cependant, il faut faire une vérification afin de déterminer quelle plateforme a le droit
d’utiliser l’API et ses fonctions. Cette vérification va permettre d’éviter que n’importe quels
plateforme internet puissent accéder à l’API et utiliser sans autorisations les fonctions de
celle-ci ou spammer l’API et la rendre non fonctionnelle.

13
Les fonctions de l’API, en plus de demander des paramètres lorsque ceux-ci sont
nécessaires, demandent également un token, celui-ci ne doit être connu que par la
plateforme de Signature et leplateforme de signature. Le token va permettre d’authentifier
la plateforme de Signature et si celui-ci, est correcte, lui laissé l’accès au fonction de
l’API, cependant si le token est incorrecte, la requête HTTP est interrompue et la réponse
de l’API est un message précisant que le token est faux.

Figure 8 : Token API

La mise en place de ce token se fait lorsque Sign Now et la plateforme de signature se


mettent d’accord et acceptent de collaborer. Dans la base de données, on enregistre le
provider (la plateforme de Signature) ainsi qu’un nom de compte et un mot de passe.

Ces 2 informations de connections sont transmises de façon privée à la plateforme de


Signature, et lorsque celui-ci souhaite se connecter à la plateforme de Signature, il inscrit
dans sa requête ses informations de connexion, ensuite l’API vérifie et si elles sont
correctes, lui renvoi le token.
Le token est stocké par la plateforme de Signature dans un fichier et du coté de
plateforme, il est stocké dans la base de données.

V. Conclusion
 Le plateforme Sign Now permet bien d’accéder aux informations du compte d’un
client, après s’être connecté et de recharger les crédits de celui-ci.

 Le dialogue entre la plateforme et le serveur a été mis en place, que ce soit à


travers une API qui va permettre de gérer les accès ou via les redirections dans
lesquels certaines informations sont stockées, le dialogue est établi et permet de
communiquer.

14
 Un client peut accéder et acheter un article de la plateforme de Signature, grâce à
son compte.

15
VI. Bibliographie

 https://material.angular.io
 https://getbootstrap.com/docs/5.0/getting-started/introduction/
 https://ng.ant.design/docs/getting-started/en
 https://www.eurotechconseil.com
 https://www.npmjs.com/package/@angular/material

 Nom de l'Entreprise : EURO TECH CONSOLE


 Adresse : ETC Tunisie, Avenue Beit El Hikma, Kairouan
 Type d'activité (domaines couverts par l'entreprise) : développement Webb.

16
17

Vous aimerez peut-être aussi