Le serverless: langages de script et de programmation

Le serverless: langages de script et de programmation

Quatrième chapitre : Implémentation du nouveau système

A ce stade du processus, les cas d’utilisation sont terminés, le problème a été d’analyser en profondeur; nous avons défini une conception mieux appropriée aux besoins de l’application.

Nous pouvons alors entreprendre la dernière activité du processus qu’est de même composé de deux parties (implémentation et test), ayant comme objectif d’aboutir à un produit final, exploitable par les utilisateurs.

Dans cette phase nous allons présenter l’environnement de développement que nous avons utilisé, sans tenir compte de l’architecture matérielle mise en place, implémenter tous les cas d’utilisation, et enfin les tester.

Section I : Choix de la solution d’implémentation

I.1 Les technologies

Les langages de programmation dynamique sont des technologies qui exploitent des scripts intégrés et exécutés côté serveur, en interaction avec des bases de données17.

Il existe de nombreux langages de programmation dynamique, nous présenterons ici que les langages de script et le langage de programmation utilisés ainsi la plateforme de développement SERVERLESS.

I. PHP (Hypertext Preprocessor)18

Initialement appelé Personal Home Page, il a été développé à l’origine par Rasmus Lerdorf en 1994 pour enregistrer le nombre de visiteurs sur son site.

Il a vite été perfectionné par la communauté Internet pour devenir un langage de script côté serveur, à la fois très simple et très performant.

Il s’interface parfaitement avec des bases de données MySQL, mais il peut aussi exploiter d’autres bases de données (Informix, dBase, Oracle, SyBase, PostgreSQL…).

Cependant, avec la version actuelle de CS6, nous pouvons gérer au-delà du couple PHP/MySQL. Enfin, en plus de ses bonnes performances, PHP est distribué sous licence GNU GPL : il est donc libre et gratuit !

17 Jean Marie de France, PHP/Mysql avec Dreamweaver 8, Ed. Eyrolles, Paris 2006, p420

18 Laurent Guédon, Damien Heute, Thomas Heute, Pièrre – Emmanuel Muller ; La Bible Micro Application : PHP 5, 1ère Edition, Micro Application, Paris – France 2005, p29

I.1 Évolutions de PHP, de l’origine à PHP 519

Nous proposons maintenant de rappeler brièvement les étapes qui ont marqué son évolution depuis son origine jusqu’au PHP 5 actuel.

i. PHP/FI

Lors de sa création, la particularité de la technologie serveur PHP était de pouvoir gérer les formulaires, d’où l’appellation de sa première version : PHP/FI, FI signifiant « Forms Interpreter ».

Quelque temps après sa conception, Rasmus Lerdorf décida d’ouvrir son code à la communauté Internet, ce qui contribua à son évolution rapide.

ii. PHP 2

Ainsi, dès 1997, il existait déjà plus de 50 000 sites utilisant le PHP, ce qui représente à peu près 1 % des domaines de l’époque.

La première grande évolution de PHP est la version PHP 2 qui vit le jour en 1997. Cette version, assez éphémère, a été surtout diffusée en version bêta et fut rapidement remplacée par la version 3.

iii. PHP 3

La version 2 de PHP affichant des performances insuffisantes qui bloquaient son évolution, et notamment son exploitation dans le domaine du e- commerce, la nouvelle version 3 de PHP a été complètement réécrite.

Diffusé en 1998, PHP 3.0 fut réellement la première version fonctionnelle et stable de PHP.

Elle se distinguait principalement par la possibilité d’ajouter des extensions (bibliothèques de programmes complémentaires et dédiées à un usage précis).

Cela permit à PHP de s’enrichir des nombreuses extensions que l’on connaît aujourd’hui, qui sont à l’origine de son succès.

Eric Daspet et Cyril Pierre de Geyet, PHP 5 Avancé, Edition Eyrolles, Paris – France, p6 – p8

iv. PHP 4

En 2000, juste avant le lancement de la nouvelle version 4, PHP 3 était déjà installé sur plus de 10 % des sites Internet. PHP 4.0 se différenciait par une efficacité encore plus élevée (son moteur ayant été restructuré complètement) et par une nouvelle gestion des variables HTTP, qui permettait notamment une utilisation plus facile des sessions.

Notons à ce sujet qu’à partir de la version 4.1

La syntaxe de ces variables HTTP a été simplifiée ($_GET[ ] au lieu de $HTTP_GET_VARS[ ], par exemple). La configuration par défaut du fichier d’initialisation de PHP a été modifiée à partir de la version 4.2 afin d’augmenter la sécurité.

v. PHP 5

La première version stable de PHP 5.0 a été diffusée en 2004.

Cette nouvelle version avait pour objectif de rendre PHP plus professionnel, tout en conservant sa simplicité de développement qui est à la base de sa réputation. PHP 5 permet donc de mieux rivaliser avec les différentes technologies alternatives présentées précédemment.

Parmi ses nouveautés, citons l’apparition du nouveau moteur Zend Engine II qui permet une programmation complètement orientée objet (POO), l’intégration en interne de la base de données SQLite et une nouvelle prise en charge des flux XML.

I.4. Choix de la plateforme

Notre choix est porté sur la plateforme FAAS (Function As A Service) du coté application et BAAS (Backend As A Service) du coté base de données.

Initié par le service Lambda ou Microsoft Azure, le serverless est un modèle de cloud-computing où le développeur n’a plus qu’à fournir son code, sous forme de fonctions, au provider de service serverless ou FAAS (pour Function As A Service). Afin d’exécuter la logique métier contenue dans cette fonction, il suffit à l’application de requêter le Cloud Provider chez lequel la fonction est hébergée.

Résultat : c’est le Cloud Provider qui va se charger de maintenir les serveurs, et de garantir que la fonction continue de répondre chaque fois qu’elle est interrogée.

Pour l’hébergeur Cloud Serverless notre choix est porté sur Microsoft Azure.

Ces deux plateformes exigent un langage de programmation et un sgbd pour l’implémentation de son site web serverless ; pour FAAS nous avons utilisé le PHP intégré dans son AGL (Atelier de Génie Logiciel) WAMP server et pour BAAS le choix est porté sur MySql inclus dans PhpMyAdmin.

Pour la présentation du site Web et son animation avec les langages des présentations HTML et CSS nous avons utilisé la CMS WordPress qui le traduit en mode graphique.

Section II : Cahier de charges

Un cahier des charges est un recueil des caractéristiques que doit présenter un matériel, une réalisation technique à l’étude ou en cours de réalisation20.

Le cahier des charges permet de synthétiser et fixer par écrit l’objet d’une prestation que celle-ci soit réalisée en interne ou sous traitée.

Il définit les besoins, il est un outil de dialogue entre la maitrise d’œuvre, les informaticiens, les services juridiques, le maitrise d’ouvrage21.

Matériel et logiciels

DésignationUnitéQuantitéPUPT
1Post de travail
Unité centrale DELL précisionPce
Ecran platPce
Onduleur APC-Back ups Cs 650VA 230-KitPce
2Ordinateur portable, Hp icore 5, RAMPce
3HP laser jet 9050 DNPce
4HP Office jet K8600Pce
5Accessoires de connexion
6Pince à sertirPce
7Câble certifié CAT se mouse UTP Touret 500MPce
8Câble certifié CAT SE MOUSE UTPPce
9Connecteur RJ45 sachet de 50Pce
10TESTEUR
11Switch 8 ports TP LINK
12Norton antivirus corporation éd standard et serveur transche 100Pce201202400
13Cout de l’hébergementGo40301200
14Nom de domaine1100100
15Cout e l’application180008000
16Formation des administrateursJours1050500
17Formation des utilisateursJours1080800
18ModemPce
Total Général en $13.000

Tableau 9: Coût Matériels et logiciel

20 MATSHUDI, note de cours de Génie logiciel, L1 Info, esmicom, 2018-2019

21 Idem

Section III : Présentation de jeu d’essaie

III.1 Les tables

— phpMyAdmin SQL Dump

— version 4.1.14

— http://www.phpmyadmin.net

— Serveur: 127.0.0.1

— Généré le : Lun 19 Avril 2020 à 19:39

— Version du serveur: 5.1.52

— Version de PHP: 5.5.12

SET SQL_MODE= »NO_AUTO_VALUE_ON_ZERO »;

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT

*/;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION

*/;

/*!40101 SET NAMES utf8 */;

— Base de données : `essaie`

— ——————————————————–

— Structure des tables `db_essaie`

les langages de script et le langage de programmation utilisés ainsi la plateforme de développement SERVERLESS

Implémentation du nouveau système d’information

les langages de script et le langage de programmation utilisés ainsi la plateforme de développement SERVERLESS

Implémentation du nouveau système d’information

III.2 Schéma relationnel de la base de données

Schéma relationnel de la base de données

Tableau 10 : Schéma relationnel de la base de données

III.3 Présentation des quelques interfaces du logiciel

Page 1 Accueil du site

Page 1 Accueil du site

Page 2 Accueil avec différentes sections

Page 2 Accueil avec différentes sections

Page 2 Accueil avec différentes sections

Page 3 Accueil avec bas de page

Page 3 Accueil avec bas de page

Page 4 Présentation de la page A propos

Page 4 Présentation de la page A propos

Page 5 Présentation de la page Article

Page 5 Présentation de la page Article

Page 6 Présentation de la Page Contact - Le serverless: langages de script et de programmation

Page 6 Présentation de la Page Contact

Page 7 Présentation de la Page client

Page 7 Présentation de la Page client

Page 8 Présentation Formulaire sur la page client

Page 8 Présentation Formulaire sur la page client

Page 9 Remplissage formulaire de recherche sur la page client

Page 9 Remplissage formulaire de recherche sur la page client

Page 10 Affichage Résultat de la recherche sur la page Paiement - Le serverless: langages de script et de programmation

Page 10 Affichage Résultat de la recherche sur la page Paiement

Page 11 présentation de la page Employeur

Page 11 présentation de la page Employeur

Page 12 Remplissage formulaire de recherche sur la page Employeur

Page 12 Remplissage formulaire de recherche sur la page Employeur

Page 13 Affichage résultât de la recherche sur la page paiement - Le serverless: langages de script et de programmation

Page 13 Affichage résultât de la recherche sur la page paiement

III.4 Quelques Codes Sources

<!DOCTYPE html>

<!– saved from url=(0024)http://localhost/essaie/ –>

<html lang= »fr-FR »><head><meta http-equiv= »Content-Type » content= »text/html; charset=UTF-8″>

<meta name= »viewport » content= »width=device-width, initial-scale=1″>

<link rel= »profile » href= »http://gmpg.org/xfn/11″>

<link rel= »pingback »

href= »http://localhost/essaie/xmlrpc.php »>

<title>Cnss – Un site de Suivi de Paiement en ligne</title>

<link rel= »dns-prefetch » href= »http://fonts.googleapis.com/ »>

<link rel= »dns-prefetch » href= »http://s.w.org/ »>

<link rel= »alternate » type= »application/rss+xml » title= »Cnss » Flux » href= »http://localhost/essaie/index.php/feed/ »>

<link rel= »alternate » type= »application/rss+xml » title= »Cnss » Flux des commentaires » href= »http://localhost/essaie/index.php/comments/feed/ »>

<script type= »text/javascript »> window._wpemojiSettings =

{« baseUrl »: »https:\/\/s.w.org\/images\/core\/emoji\/11.2.0\/72×72\/ », »ext »: « .png », »svgUrl »: »https:\/\/s.w.org\/images\/core\/emoji\/11.2.0\/svg\/ », »sv gExt »: ».svg », »source »:{« concatemoji »: »http:\/\/localhost\/essaie\/wp- includes\/js\/wp-emoji-release.min.js?ver=5.1.4″}};

</script><script src= »./Cnss – Un site de Suivi de Paiement en ligne_files/wp-emoji-release.min.js.téléchargement » type= »text/javascript » defer= » »></script>

<style type= »text/css »>

img.wp-smiley, img.emoji {

display: inline !important; border: none !important; box-shadow: none !important;

</div>

shortcut » href= »http://localhost/essaie/wp-

<a class= »screen-reader-login.php?action=logout&amp;_wpnonce=26fd451ad8″>Se déconnecter</a>

</div>

</body></html>

Conclusion générale

Cette étude a été menée au sein de la CNSS qui est un établissement de l’Etat de la République Démocratique du Congo dans le cadre du travail sanctionnant la fin du cycle de licence en informatique, option Réseaux et Technique de Maintenance de l’Ecole Supérieure des Métiers d’Informatique et de Commerce.

Elle a eu comme finalité la gestion de paiement des allocations familiales visant le développement d’une application web Cloud SERVERLESS.

Nous avons voulu faciliter aux entreprises la tâche de déclaration et paiement des allocations familiales.

Ce projet a permis aux entreprises de savoir déclarer leurs agents sans avoir à contacter un agent de la CNSS mais juste en ayant accès au logiciel fournit par le projet CNSS SERVERLESS qui a donner www.cnssserverless.com et ayant en leur possession les données y relatives en temps réel tout en permettra la transparence à tous niveau sur le paiement et savoir les poursuivre facilement sans avoir à beaucoup dépenser.

Pour arriver à tous ces retombés, nous avons eus à utiliser les données fournies par la direction de Trésorerie/Paierie au sein de la CNSS que nous avons analyser et modéliser grâce à la méthode MERISE et l’architecture SERVERLESS pour arriver à la réalisation, le langage « PHP 5 » nous a été d’une grande utilité pour savoir intégrer la plateforme FAAS afindegérer les données recueillies auprès des utilisateur de la CNSS Site dans une base de données créée sous MySQL du type BAAS.

Ceci (SERVERLESS) permet d’accélérer le passage d’une idée à sa mise en production. Dans notre cas où il est adapté, il est donc une excellente solution pour diminuer le coût de gestion de l’infrastructure et augmenter l’impact de notre développement sur notre métier.

Au fond, ce travail qui sanctionne la fin des 5 années de formation pour les études universitaires nous a permis de comprendre comment l’informatique peut donner des solutions à un problème de gestion très complexe et le rendre facile et compréhensible pour le gestionnaire tout en lui fournissant des données susceptible d’être réutiliser même pour d’autres fins, permettre à une entreprise d’avoir une précision dans la gestion de ses affaires en sachant faire quoi ?, quand ?, où ?, comment ? Et avec qui ?

Ces questions ont été à la base du développement de ce mémoire et ont permis de décortiquer la problématique et y donner des solutions en apportant les détails sur les matériels, le fonctionnel, les acteurs et leurs comportements soient entre eux ou vis – à – vis des données utilisées.

Il nous a permis également de mettre en œuvre nos capacités de communication, d’analyse, d’organisation et de gestion, et d’acquérir, par une mise en situation réelle des compétences dans le domaine de l’architecture et développement d’application informatique.

Tables des matières

Introduction générale 8

1. Présentation du sujet 9

2. Choix et intérêt du sujet 9

2.1. Choix du Sujet 9

2.2. L’intérêt du Sujet 9

3. Problématique et hypothèse 9

3.1. Problématique 9

3.2. Hypothèse 10

4. Méthodes et techniques utilisées 10

4.1 Méthodes Utilisées 10

4.2. Techniques Utilisées 11

5. Délimitation du sujet 12

6. Subdivision du Travail 12

Premier chapitre 13

Planning prévisionnel 13

Phase 1 : cadrage du projet 14

1.1. Introduction sur le cadrage du projet 14

1.2. Présentation de la méthode PERT 17

1.2.1. Introduction 17

1.2.2. Les concepts de base 18

1.2.3. Construction du réseau PERT 19

a. Détermination des dates au plus tôt 25

b. Détermination des dates au plus tard 26

c. Calcul des marges totales et libres 27

d. Synthèse des données 28

Deuxième chapitre 34

Etude d’opportunité 34

Section 1. Analyse de l’existant 34

1.1. Présentation de l’entreprise 35

1.1.1. Présentation de la CNSS 35

a. Historique 35

1. Création de CNSS 35

2. Définition et caractère de la sécurité sociale 35

b. Situation géographique 37

c. Objectifs et statut juridique 37

d. Mission 37

e. Nature juridique 38

1. Organisation administrative 38

1.1.2. Organigramme général du la CNSS 40

1.1.3. Présentation de la Direction concerné : Trésorerie/Paierie 41

 Service administratif 42

1.2. Etude des moyens 46

1.2.1. Présentation des moyens 46

a) Moyens financiers 46

b) Moyens humains 46

c) Moyens matériels 46

Section 2. Critique de l’existant 48

2.1. Critique de l’organisation 48

2.1.1. Critique des moyens humains 48

2.1.2. Critique des moyens matériels 48

2.1.3. Critique des moyens financiers 49

Section 3. Proposition des solutions et choix de la meilleure solution 50

3.1. Proposition des solutions 50

3.1.1. Solution manuelle 50

a. avantages 50

b. Inconvénients 50

3.1.2. Solution informatique améliorée 51

a) Avantages 51

b) inconvénients 51

3.1.3. Choix de la meilleure solution 51

Troisième chapitre 52

Conception de l’architecture 52

Serverless 52

Section 1 : Architecture Serverless 53

1.1. Introduction 53

1.2. L’architecture Serverless 53

1.2.1. Architecture basée sur le microservices 54

1.2.2. Fonctions sans état 54

1.2.3. Démarrage à froid 55

1.3. Serverless, qu’est-ce que c’est ? 55

1.4. Les prérequis pour introduire le serverless dans notre organisation 56

1.4.1. Un découpage en fonctions 56

1.4.2. La compatibilité du code 56

1.5. Contre-indications de serverless 57

1.6. Quelques exemples de cas recourant au serverless 58

3. L’IoT et son envoi d’informations effectué par des milliers de capteurs 61

1.7. Qu’est-ce qui ne fonctionne pas en Serverless ? 62

1. PaaS (Platform as a Service) 62

2. Container 62

1.8. Les avantages et inconvénients du serverless 63

1.8.1. Avantages 63

1.8.2. Inconvénients 64

1.9. Conclusion 65

Attention à l’étymologie 65

Section 2 : Modélisation du système d’information Serverless 67

2.1. Introduction 67

2.2. Définition des Concepts Clés de modélisation 67

1. Système 67

2. Information 67

3. Donnée 67

4. Entreprise comme système 67

1. Système de pilotage 68

2. Système d’information 68

3. Système opérant 68

5. Système informatique 68

2.3. Présentation des modèles 69

2.3.1. Modèle conceptuel de données 69

1. But du MCD 69

2. Définition des concepts de base du MCD 69

3. Formalisme du MCD

4. Présentation du MCD 71

2.3.2. Modèle logique de données 72

1. But du MLD 72

2. Règles de passage du MOD au MLD brut 72

3. Présentation du MLD brut 73

4. Présentation du MLD Valide 74

6. Schéma logique associé au MLD Valide 76

Quatrième chapitre 77

Implémentation du nouveau système 77

Section I : Choix de la solution d’implémentation 79

I.1. Les technologies 79

I.4. Choix de la plateforme 81

Section II : Cahier de charges 83

Section III : Présentation de jeu d’essai LXXXV

III.2. Schéma relationnel de la base de données XC

III.3. Présentation des quelques interfaces du logiciel XCI

III.4. Quelques Codes Sources XCIX

Conclusion générale

B ibliographie

Ouvrages

Jean Marie de France, PHP/Mysql avec Dreamweaver 8, Ed. Eyrolles, Paris 2006, p420

Laurent Guédon, Damien Heute, Thomas Heute, Pièrre – Emmanuel Muller ; La Bible Micro

Application : PHP 5, 1ère Edition, Micro Application, Paris – France 2005, p29

Eric Daspet et Cyril Pierre de Geyet, PHP 5 Avancé, Edition Eyrolles, Paris – France, p6 – p8

Philippe Le Parc – Introduction aux réseaux 19/01/2018, page 26

Notes des cours

LUKELE KALUNGA, Questions Spéciales sur les Réseaux Informatiques, Année Académique 2018-2019, page 41.

F. MOMINDO, « Cours de l’Initiation à la recherche scientifique », ISS-Kin, 2012-2013

MATSHUDI, note de cours de Génie logiciel, L1 Info, esmicom, 2018- 2019

Mémoires

M. KIMFUTA, Mémoire de fin d’étude « Analyse conceptuelle et développement d’une application mobile de type androïde et web pour le recensement de la population », 2016-2017 ;

M. KIMFUTA, Mémoire de fin d’étude « Analyse conceptuelle et développement d’une application mobile de type androïde et web pour le recensement de la population », 2016-2017.

Webographie

www.commentcamarche.net

www.serverless.com, consulté le 14 Avril 2020 à 16h18

www.serverless.com, consulté le 14 Avril 2020 à 17h00

www.serverless.com, consulté le 14 Avril 2020 à 17h22

Pour citer ce mémoire (mémoire de master, thèse, PFE,...) :
Université 🏫: Travail de fin d’étude en vue de l’obtention du grade de licencie en Réseaux et Techniques de maintenance - Ecole supérieure ESMICOM
Auteur·trice·s 🎓:

LEBA MANTUIDI Steve
Année de soutenance 📅:
Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)

Laisser un commentaire

Votre adresse courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top