Archi web

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 42

Architecture

WEB
Sommaire


o
o
o
o


o
o


o


o


o
o
C'est quoi le réseau ?

• Définition d'un réseau ?


o Un réseau est un ensemble d'entités
interconnectées qui communiquent
entre elles (comme des ordinateurs,
des serveurs, des dispositifs de
stockage, des imprimantes, etc.) pour
partager des ressources. Les liaisons
physiques, telles que des câbles ou
des liaisons sans fil, permettent la
transmission de données entre les
nœuds du réseau.
C'est quoi le réseau ?

• Quelques concepts clés liés aux réseaux informatiques :

• Communication : Les réseaux permettent aux entités connectées de


communiquer entre elles. Cette communication peut prendre différentes
formes, telles que le partage de fichiers, l'accès à des ressources
partagées, l'échange d'e-mails, etc.

• Partage de Ressources : Les réseaux facilitent le partage de ressources


telles que des imprimantes, des fichiers, des applications, des bases de
données, des connexions Internet, etc. Cela permet une utilisation plus
efficace des ressources disponibles.
C'est quoi le réseau ?

• Collaboration : Les réseaux permettent la collaboration entre individus et


groupes de travail, même s'ils sont physiquement éloignés. Les outils de
collaboration en ligne, tels que les plateformes de partage de documents
et de vidéoconférence, sont souvent basés sur des réseaux.

• Connectivité : Les réseaux offrent la possibilité de connecter des


dispositifs divers, des ordinateurs personnels aux smartphones, en
passant par les objets connectés (IoT - Internet of Things). Cette
connectivité favorise l'interopérabilité entre les différents types de
dispositifs.
C'est quoi le réseau ?

• Infrastructure : Les réseaux comprennent une infrastructure sous-


jacente, qui peut être câblée (réseaux filaires) ou sans fil (réseaux sans
fil). Cette infrastructure peut inclure des commutateurs, des routeurs, des
concentrateurs, des points d'accès Wi-Fi, etc.

• Sécurité : La sécurité des réseaux est cruciale pour protéger les


données sensibles contre les accès non autorisés. Cela implique la mise
en place de mécanismes tels que les pare-feu, les protocoles de
chiffrement, l'authentification et l'autorisation.
C'est quoi le réseau ?

• Topologie : La topologie d'un réseau se réfère à la


configuration physique ou logique de ses connexions. Les
topologies courantes incluent l'étoile, le bus, le anneau, le
maillage, etc.

• Protocoles : Les protocoles définissent les règles et les


conventions pour la communication entre les dispositifs sur un
réseau. Le protocole TCP/IP, par exemple, est largement utilisé
sur Internet.
TCP/IP

Transmission Control Protocol/Internet Protocol, est un ensemble de protocoles de communication utilisés pour
interconnecter des réseaux informatiques sur l'Internet et de nombreux autres réseaux locaux.

Il constitue le fondement de la communication sur Internet et assure la transmission fiable des données entre des
dispositifs connectés sur un réseau.
TCP/IP
TCP/IP

• TCP
La fiabilité
• TCP est un protocole orienté connexion qui garantit une
transmission fiable des données. Il s'assure que les données
sont reçues dans l'ordre correct et qu'il n'y a pas de perte
d'informations lors de la transmission
TCP/IP

• Le contrôle de Flux
Internet Protocol

• IP est responsable du routage des données à travers le réseau en attribuant des adresses uniques à chaque dispositif
connecté. Il définit la manière dont les données sont fragmentées, adressées et acheminées d'un nœud à un autre sur le
réseau.
Internet Protocol

• Les adresses IPv4 sont souvent représentées sous forme de quatre


groupes de chiffres décimaux séparés par des points (par exemple,
192.168.1.1). Chaque groupe représente 8 bits. Les adresses IPv6
utilisent une notation hexadécimale, comprenant huit groupes de
quatre chiffres hexadécimaux, séparés par des deux-points
Internet Protocol

• Il existe deux versions principales d'IP, à savoir IPv4 (Internet Protocol version 4) et IPv6 (Internet Protocol version 6). IPv4
utilise des adresses composées de 32 bits, tandis qu'IPv6 utilise des adresses de 128 bits, permettant ainsi un espace
d'adressage beaucoup plus vaste.
Internet Protocol
Le module OSI
L'adressage
L'adressage
Les environnements

• Le terme "Client" dans le contexte du développement web fait


référence à la partie frontale (front-end) d'une application. Le front-end
est la partie visible et interactive d'un site web ou d'une application,
avec laquelle l'utilisateur interagit directement.

• Il englobe tout ce que l'utilisateur voit, ressent et avec quoi il interagit


sur son navigateur ou son application.
Les environnements

• Interface Utilisateur (UI)


Les environnements

Exercice 1 : HTML et CSS de Base


Objectif : Créer une page web simple. Instructions : Créez un fichier HTML avec une structure de base. Ajoutez une en-
tête avec le titre de la page. Incluez une section avec quelques paragraphes de texte.
Appliquez un style CSS pour changer la couleur du texte et du fond.
Les environnements


Les environnements


Les environnements

• Back-end
Les environnements

• Les serveurs back-end, aussi appelés serveurs côté serveur, constituent


la partie invisible d'une application web. Contrairement à l'interface
utilisateur (UI) qui est visible par les utilisateurs finaux, le back-end gère
les coulisses et la logique métier de l'application.

• En résumé, les serveurs back-end forment le cœur d'une application


web, gérant la logique métier, la persistance des données, la sécurité, et
fournissant une API pour permettre aux clients (front-end, applications
mobiles, etc.) d'interagir avec l'application de manière contrôlée

*API : application programming interface


Les bases de données

• C'est quoi une base de données ? C'est un système organisé pour


stocker, gérer et récupérer des données de manière structurée et
efficace. C'est un élément central dans de nombreuses applications
informatiques, permettant de stocker et de manipuler des volumes
importants de données de manière cohérente et fiable.
Les bases de données
Les bases de données

La relation entre une base de données (BDD) et un serveur web est généralement celle d'un système client-serveur, où le serveur web agit
comme le client de la base de données.

Serveur Web : Le serveur web est responsable de traiter les requêtes HTTP (Hypertext Transfer Protocol) des clients, généralement des
navigateurs web, et de renvoyer les réponses correspondantes. Il s'occupe de servir des pages web dynamiques ou statiques, en fonction des
besoins de l'application web. Le serveur web peut être Apache, Nginx, IIS, etc.

Base de Données : La base de données est un système de stockage structuré conçu pour stocker, organiser et récupérer des données de
manière efficace. Les données peuvent être stockées sous forme de tables, de documents, de graphiques, etc., selon le type de base de
données utilisé (SQL, NoSQL, etc.). Les bases de données populaires incluent MySQL, PostgreSQL, MongoDB, etc.
Les bases de données

La relation entre le serveur web et la base de données se produit généralement lorsque le serveur web doit récupérer ou stocker des données
pour répondre à une requête HTTP. Voici comment cela se passe typiquement :

Traitement de la Requête : Le serveur web reçoit une requête HTTP d'un client, par exemple un navigateur web.

Accès à la Base de Données : Si la requête nécessite des données provenant de la base de données (par exemple, afficher des informations
utilisateur depuis une base de données), le serveur web établit une connexion avec la base de données correspondante.

Exécution de Requêtes : Le serveur web envoie des requêtes SQL (Structured Query Language) à la base de données pour récupérer, insérer,
mettre à jour ou supprimer des données, selon les besoins de la requête HTTP.

Traitement des Réponses : La base de données renvoie les résultats des requêtes SQL au serveur web.

Génération de Réponse HTTP : Le serveur web utilise les données récupérées de la base de données pour générer une réponse HTTP, qui est
ensuite renvoyée au client.
Le cloud

Dans le contexte de l'architecture web, le cloud computing est une approche qui
consiste à utiliser des ressources informatiques (comme des serveurs, du
stockage, des bases de données, etc.) via Internet, plutôt que de les posséder
physiquement sur site.

En résumé, le cloud computing offre une infrastructure flexible, évolutive,


hautement disponible et sécurisée pour héberger et gérer des sites web,
permettant aux entreprises de se concentrer sur le développement de leurs
applications web sans se soucier de la gestion de l'infrastructure sous-jacente.

Mais comment marche cette l'intégration ?


Le cloud

Voici comment le cloud est intégré dans l'architecture web :

Hébergement Web : Plutôt que de déployer et de gérer des serveurs physiques sur site, les entreprises peuvent utiliser des services
d'hébergement web dans le cloud pour déployer leurs sites web. Les fournisseurs de cloud proposent des solutions d'hébergement web
flexibles et évolutives, telles que des instances de machines virtuelles, des conteneurs ou des services de plateforme (PaaS) pour héberger des
sites web.

Extensibilité : Le cloud permet une extensibilité aisée des ressources en fonction des besoins. Les entreprises peuvent rapidement augmenter
ou diminuer la capacité de calcul, de stockage ou de bande passante en fonction du trafic du site web, sans avoir à investir dans du matériel
supplémentaire. Cette élasticité permet de faire face aux pics de charge et d'optimiser les performances du site.
Le cloud

Redondance et Haute Disponibilité : Les fournisseurs de cloud offrent généralement des services de redondance et de haute disponibilité
pour garantir que les sites web restent disponibles en cas de défaillance matérielle ou de catastrophe. Ils répartissent les charges de travail sur
plusieurs serveurs ou centres de données géographiquement dispersés pour minimiser les temps d'arrêt et assurer une disponibilité continue.

Sécurité : Les fournisseurs de cloud proposent des services de sécurité avancés pour protéger les données des sites web contre les menaces
telles que les attaques DDoS (Distributed Denial of Service), les intrusions, les violations de données, etc. Ils mettent en œuvre des mesures de
sécurité telles que le chiffrement des données, les pare-feu, la détection des menaces, etc.

Services Managés : En plus de l'hébergement, les fournisseurs de cloud offrent une gamme de services managés qui simplifient le
déploiement et la gestion des applications web. Cela peut inclure des services de base de données managés, des services de mise en cache,
des services de surveillance, des services de sauvegarde, etc.
Le cloud

Voici différents provider cloud sur le marché :


La sécurité

Les dangers du web se réfèrent aux menaces et aux risques auxquels


les systèmes, les données et les utilisateurs peuvent être exposés
lorsqu'ils interagissent avec des applications et des services web.

Dans les slides suivantes, voici les quelques un des principaux dangers
que vous pouvez retrouver dans un contxte d'architecture web
La sécurité

Cyberattaques : Les cyberattaques, telles que les attaques par injection SQL, les attaques par déni de service distribué (DDoS), les attaques de
phishing, les ransomwares, etc., peuvent compromettre la sécurité des sites web et des données des utilisateurs.

Vulnérabilités des Applications : Les vulnérabilités dans le code des applications web peuvent être exploitées par des attaquants pour
accéder illégalement à des données sensibles, exécuter du code malveillant ou perturber le fonctionnement normal des applications.

Fuites de Données : Les fuites de données peuvent se produire lorsqu'une application web est mal configurée, lorsqu'il y a des failles de
sécurité ou lorsque des attaquants exploitent des vulnérabilités pour accéder à des données confidentielles telles que des informations
personnelles, des identifiants de connexion, des informations financières, etc.
La sécurité

Perte de Confidentialité : Les applications web peuvent collecter et stocker une grande quantité de données utilisateur. En cas de violation de
la sécurité, ces données peuvent être exposées, compromettant la vie privée et la confidentialité des utilisateurs.

Altération ou Destruction de Données : Les attaquants peuvent modifier ou supprimer des données critiques stockées sur les serveurs web,
entraînant une perte d'intégrité des données ou des dommages importants pour les entreprises ou les utilisateurs.

Indisponibilité du Service : Les attaques DDoS et d'autres incidents peuvent rendre un site web indisponible, entraînant une perte de revenus,
une diminution de la réputation de l'entreprise et des inconvénients pour les utilisateurs.

Phishing et Ingénierie Sociale : Les attaquants peuvent utiliser des techniques de phishing et d'ingénierie sociale pour tromper les utilisateurs
et les inciter à divulguer des informations sensibles telles que des mots de passe, des identifiants de connexion, etc.
La sécurité

Pour atténuer ces dangers, les entreprises et les développeurs doivent mettre en
œuvre des pratiques de sécurité robustes, telles que la gestion des identités et des
accès, la validation des données d'entrée, le chiffrement des données, la
surveillance continue de la sécurité, les mises à jour régulières des logiciels, etc. De
plus, la sensibilisation à la sécurité et la formation des utilisateurs sont également
essentielles pour réduire les risques liés aux activités en ligne.

Car le principal facteur reste malgré tout l'erreur Humaine


La sécurité

• Mais comment sécuriser notre infrastucture ?


La sécurité

Sécuriser une infrastructure dans le contexte de l'architecture web est essentiel pour protéger les données, les systèmes et les utilisateurs contre les
cyberattaques et les menaces en ligne, voici quelques points clés

Mise à jour des logiciels : Assurez-vous que tous les logiciels, y compris le système d'exploitation, les serveurs web, les bases de données et les
applications tierces, sont régulièrement mis à jour avec les derniers correctifs de sécurité pour corriger les vulnérabilités connues.

Firewalls et Pare-feux : Configurez des pare-feux pour filtrer le trafic réseau entrant et sortant, en autorisant uniquement le trafic autorisé et en
bloquant les connexions non désirées ou suspectes.

Gestion des Identités et des Accès (IAM) : Mettez en place des politiques de gestion des identités et des accès pour contrôler qui peut accéder aux
ressources et aux données sensibles. Utilisez des mécanismes d'authentification forte, tels que la double authentification, lorsque cela est possible.
La sécurité

Chiffrement des Données : Chiffrez les données sensibles en transit et au repos pour empêcher les attaquants d'intercepter ou de compromettre les
informations confidentielles. Utilisez des protocoles de chiffrement tels que TLS/SSL pour sécuriser les communications web.

Sécurité des Applications : Effectuez des tests de sécurité réguliers, tels que des analyses de vulnérabilités et des tests d'intrusion, sur les applications
web pour identifier et corriger les failles de sécurité potentielles dans le code.

Surveillance et Détection des Menaces : Mettez en place des outils de surveillance des journaux et des activités pour détecter les comportements
suspects ou les tentatives d'intrusion. Utilisez des systèmes de détection des intrusions (IDS) et des systèmes de prévention des intrusions (IPS) pour
répondre rapidement aux menaces.

Sauvegardes Régulières : Effectuez des sauvegardes régulières des données critiques et testez régulièrement la restauration des sauvegardes pour
vous assurer qu'elles sont opérationnelles en cas de besoin.

Sensibilisation à la Sécurité : Sensibilisez les utilisateurs et le personnel à la sécurité des informations, en mettant en place des formations sur les
bonnes pratiques de sécurité, les menaces courantes et les techniques d'ingénierie sociale.
La sécurité

Politiques de Sécurité : Élaborez et mettez en œuvre des politiques de sécurité claires et bien définies, décrivant les mesures de sécurité à suivre et les
conséquences en cas de non-respect de ces politiques.

Audit et Conformité : Effectuez des audits réguliers de sécurité pour évaluer l'efficacité des mesures de sécurité mises en place et assurez-vous que
votre infrastructure est conforme aux normes et réglementations applicables en matière de sécurité des données.

En mettant en œuvre ces mesures de sécurité, les entreprises peuvent renforcer la résilience de leur infrastructure web et réduire les risques liés aux
cyberattaques et aux violations de données.

Vous aimerez peut-être aussi