Réalisation d’une plateforme : SGBD, architecture, sécurité

Langage et environnement de développement de plate‐forme

Chapitre 4

Déploiement et réalisation d’une plateforme

Après l’élaboration d’une conception de notre solution afin d’atteindre les objectifs visés et répondre aux besoins spécifiés, nous pouvons désormais commencer la réalisation de notre plateforme e-commerce qu’on va nommée « AtelcomCommerce ».

Pour cela, on aura besoin d’un ensemble d’outils techniques qu’on va présentés afin de justifier notre choix.

Dans le même contexte nous allons décrire notre modèle d’architecture de développement.

Nous entamerons ensuite la sécurité de la plate‐forme ou nous citerons les aspects de sécurité utilisés ainsi que les éventuelles menaces contre la plate‐forme.

Nous terminerons cette étape par une présentation des différentes interfaces utilisateurs.

1. Choix du langage de développement

1.1. Présentation ASP.NET

« ASP.NET est un ensemble de technologies de programmation web créé par Microsoft.

Les programmeurs peuvent utiliser ASP.NET pour créer des sites web dynamiques, des applications web ou des web services XML.

La technologie est accessible grâce à l’installation d’un serveur web compatible ASP (IIS) ou à l’intérieur de Visual Web Developer Express Edition » [VINMOR 10].

1.2. Langage C#

« Le C# est un langage de programmation conçu pour la création d’une large gamme d’applications qui s’exécutent sur le .NET Framework. C# est simple, puissant, de type sécurisé et orienté objet.

Avec ses nombreuses innovations, C# permet le développement rapide d’applications tout en conservant la simplicité et l’élégance des langages de style C. »

1.3. Silverlight

« Silverlight est un plugin pour les navigateurs web multi plate‐forme. Avec Silverlight on peut créer des RIA, des applications Internet riches, réaliser des interfaces étonnantes, intégrer des animations, des vidéos.

Il fonctionne en mode local sous environnement .NET et sur le web par le biais d’ActiveX sous IE ou avec les plugins Mozilla. »

1.4. JavaScript

« JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives.

avaScript est un langage de script orienté objet principalement utilisé dans les pages HTML.

A l’opposé des langages serveurs (qui s’exécutent sur le site), JavaScript est exécuté sur l’ordinateur de l’internaute par le navigateur lui‐même.»

1.5. Justification du choix

Nous avons choisi le langage C# pour les raisons suivantes:

  • Langage C#Nous somme familiarisé avec les notions du langage.
  • Le C# utilise le Framework .NET qui met à la disposition du développeur plusieurs paquetages prêt à l’utilisation.
  • Silverlight est utilisable dans plusieurs navigateurs et permet de créer des interfaces étonnantes.
  • JavaScript permet une interaction avec l’utilisateur en fonction de ses actions (lors du passage de la souris au dessus d’un élément, du redimensionnement de la page).
  • Possibilité d’installer les applications sur une machine locale.
  • L’application peut s’exécuter sur n’importe quel système d’exploitation.
  • La disponibilité de la documentation et de l’assistance (MSDN, forums).

2. Choix de l’environnement de développement

Afin de développer avec le langage choisi nous avons limité notre choix d’IDE à Visual Studio 2008 qui est:

Une suite de logiciels de développement pour Windows conçu par Microsoft. La dernière version s’appelle Visual Studio 2010.

Visual Studio est un ensemble complet d’outils de développement permettant de générer des applications Web ASP.NET, des Services Web XML, des applications bureautiques et des applications mobiles.

Visual Basic, Visual C++, Visual C# et Visual J# utilisent tous le même environnement de développement intégré (IDE, Integrated Development Environment), qui leur permet de partager des outils et facilite la création de solutions faisant appel à plusieurs langages.

Par ailleurs, ces langages permettent de mieux tirer parti des fonctionnalités du Framework .NET, qui fournit un accès à des technologies clés simplifiant le développement d’applications Web ASP et de Services Web XML grâce à Visual Web Developer.

3. Choix du SGBD

Pour l’implémentation de la couche stockage des données, le système de gestion de base de données sera SQL Server 2005, et cela pour faciliter l’extraction des données.

3.1. Présentation de SQL Server
langage SQL

Le Système de Gestion de Bases de Données que nous avons choisi est SQL Server.

SQL Server est un SGBD relationnel développé par Microsoft, il est considéré parmi les leaders mondiaux des SGBD.

Pour notre travail nous avons adopté la version SQL Server 2005.

3.2. Justification du choix

Ce choix est justifié par les avantages suivants que SQL Server offre:

  • Sa facilité d’utilisation avec le langage de développement C#.NET, qui offre un accès direct et donc rapide au SGBD.
  • Sa puissance pour gérer les très grandes bases de données.
  • Ses puissants moyens de sécurité et de gestion des droits d’accès.
  • Intégration du langage SQL.
  • Proposer aux développeurs un environnement riche, souple et intégré permettant de créer efficacement des applications adaptées aux besoins de chaque organisation.
  • Fournir des solutions décisionnelles robustes et intégrées favorisant la prise de décisions et permettant d’accroître l’efficacité de l’ensemble de l’organisation.
L’architecture de développement de plate-forme e-commerce

4. Choix de l’architecture de développement

L’architecture 3‐tiers est un modèle logique d’architecture applicative qui vise à séparer très nettement trois couches logicielles au sein d’une même application ou système, à modéliser et présenter cette application comme un empilement de trois couches dont le rôle est clairement défini.

4.1. Différentes couches du 3tiers

Les trois (3) couches de l'architecture 3‐tiers.

Figure51. Les trois (3) couches de l’architecture 3‐tiers. (site e-commerce)

4.1.1. Présentation des données

Correspondant à l’affichage, la restitution sur le poste de travail, le dialogue avec l’utilisateur. On parle d’Interface Homme Machine. Elle va être représentée par des interfaces ASP pour être exploitée pour le navigateur web.

On conçoit facilement que cette interface peut prendre de multiples facettes sans changer la finalité de l’application.

La couche présentation relaie les requêtes de l’utilisateur à destination de la couche métier, et en retour lui présente les informations renvoyées par les traitements de cette couche.

Il s’agit donc ici d’un assemblage de services métiers et applicatifs offerts par la couche inférieure.

4.1.2. Logique métier

Correspondant à la mise en oeuvre de l’ensemble des règles de gestion et de la logique applicative. Les différentes règles de gestion et de contrôle du système sont mises en oeuvre dans cette couche.

La couche métier offre des services applicatifs et métier à la couche présentation.

Pour fournir ces services, elle s’appuie, le cas échéant, sur les données du système, accessibles au travers des services de la couche inférieure. En retour, elle renvoie à la couche présentation les résultats qu’elle a calculés.

4.1.3. Accès aux données

Correspondant aux données qui sont destinées à être conservées sur la durée, voire de manière définitive. Les données peuvent être stockées indifféremment dans de simples fichiers texte, fichiers XML, ou encore dans une base de données (c’est ce qu’on va utiliser dans notre cas).

Quel que soit le support de stockage choisi, l’accès aux données doit être le même. Cette abstraction améliore la maintenance du système.

4.2. Justification du choix

L’approche 3‐tiers apporte de réels avantages:

– Une conception claire et efficace grâce à la séparation des données.

– Un gain de temps de maintenance et d’évolution du site.

– Une plus grande souplesse pour organiser le développement du site entre différents développeurs (indépendance des données de l’affichage et des actions).

– Plus de flexibilité dans l’allocation des ressources et dans les requêtes du client vers le serveur.

5. Sécurité de la plateforme

Du faites de la sensibilité des donnée manipulé dans une plateforme e-Commerce, nous n’avons rien laissé au hasard, et afin de répondre au différents objectifs de la sécurité (voir annexe) dans notre plateforme, nous avons pris différentes mesures au niveau physique et logique.

5.1. Niveau Physique

5.1.1. Protection de la plateforme contre les attaques

Sécurité de la plateforme e-CommerceParmi les mesures obligatoires de sécurité informatique, figurent la protection du réseau local contre les intrusions des pirates Internet, la protection contre la prolifération de virus, la sécurisation des connexions distantes, l’encryptions de la communication, des messages ou des fichiers, le contrôle d’identité et l’optimisation des ressources …

Atelcom dispose d’une architecture hautement sécurisé qui comporte divers dispositif de sécurité, une architecture articulée essentiellement autour de deux barrières de parfeu composées eux même de 2 firewalls configurées en haute disponibilité, de deux reverse proxy et des sondes anti intrusion.

Pour des raisons de sécurité nous ne pouvons reproduire l’architecture de sécurité utilisée par Atelcom.

5.1.2. Isolation du serveur de base de données

Nous avons pris le soin de séparer les serveurs qui comportent l’application de la plateforme et sa base de donnée ainsi le seul accès possible à la base de donné se fait par le biais de la plateforme.

5.1.3. Sauvegarde des données

Utilisation des machines serveur Backup qui permettent la sauvegarde périodique des données en cas de panne ou autre.

5.2. Niveau Logique

5.2.1. Mécanisme d’authentification et hachage de mot de passe

Nous avons implémenté tout un mécanisme d’authentification au niveau de la plateforme en plus des mécanismes de sécurité offert par l’ASP.NET, avec plusieurs classes de contrôle et de validation de l’utilisateur et de session.

Tous les mots de passes sont hachés au niveau de base de données à l’aide de l’algorithme MD5 qui est reconnu pour sa robustesse.

5.2.2. Restriction d’accès et privilège

L’étude des cas d’utilisations à permis l’identification des privilèges de chaque utilisateur de la plateforme, d’où l’implémentation d’une gestion des rôles et des droits d’accès qui assurent qu’un utilisateur peut effectuer seulement les opérations disponibles sur son espace indiqué.

5.2.3. Protection contre les attaques d’injection SQL

Une injection SQL est un type d’exploitation d’une faille de sécurité d’une application interagissant avec une base de données, en injectant une requête SQL non prévue par le système et pouvant compromettre sa sécurité.

C’est pourquoi toute les opérations effectuées entre la plateforme et la base de donnée sont implémentées à l’aide de requête SQL paramétrée, ce qui permet de mieux prévoir ce type d’attaque.

5.2.4. L’utilisation du protocole de sécurisé SSL

Toutes les pages ou opérations effectués dans le cadre du paiement sont crypté à l’aide du protocole HTTPS qui ouvre un tunnel en mode SSL entre le client et la plateforme de paiement, ce qui empêche l’accès à ces données sensibles d’une tierce personne non autorisée.

Pour citer ce mémoire (mémoire de master, thèse, PFE,...) :
📌 La première page du mémoire (avec le fichier pdf) - Thème 📜:
Conception et réalisation d’une plateforme de commerce électronique
Université 🏫: Ecole nationale supérieure d’informatique - Option: Systèmes d’informations & Systèmes Informatiques
Auteur·trice·s 🎓:
Mr SICHAIB & Mr MACHANE

Mr SICHAIB & Mr MACHANE
Année de soutenance 📅: Mémoire de fin d’études pour l’obtention du diplôme d’Ingénieur d’Etat en Informatique - Promotion: 2009 / 2010
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