Architecture
Qu’est-ce que l’architecture client / serveur ? Grâce à quel type de
requête peut-on interroger le serveur. Définir l’acronyme de ce type de
requête. Si on ajoute un « S » à cet acronyme, expliquer la différence
L'architectue client-serveur dans le cadre d'une application Web, représente l'environnement dans lequel s'execute un script,
une application, sur un système et qui communique avec une autre application distante sur un serveur afin de rechercher des informations stoqués
ou d'éxecuter une action sollicitée par un utilisateur, sur un serveur. Ces applications 'client' communiquent alors avec les applications 'serveur,
par requête HTTP (HyperText Transfer Protocol) de Type Post ou Get selon les besoins des applications.Pour sécuriser ces échanges sur le réseau internet
les informations entre environnements peuvent être chiffrés et donc sécurisé en utilisant le protocole HTTPS (HyperText Transfer Protocol Secure). Anssi la différence
entre les deux protocole est donc le chiffrements des données lors des échanges.
Donner la définition d’un design pattern. Citer au moins 3 exemples de
design pattern
Le Design Pattern est un modèle de conception d'applications, mise en oeuvre et basé sur l'expérience des développeurs eux même. Conçus dans le but de résoudre
des problèmes récurents rencontrés par les développeurs pendant la conception en programmation. L'utilisation d'un Design Pattern adapté permet d'accélérer le processus
de conception, d'anticipé certain problème, de gagner en lisibilité, en organisation et en lisibilité d'écriture
- Factory. Nottamment utilisé dans le context d'applications utilisant une base de données, avec l'avantage de ne pas réécrire le code lors de changement
de base de données
- Observer. Permet de limiter la dépendance inter-objet et donc des actions en cascades menées par l'application, avec des Class qui vont obsorvés d'autres Class
- Dépendences d'injection. Permet le découplage des Class en acceptant en paramètre une autre Class, dont elle a besoin et dont elle n'a pas a se préoccuper de son instanciation elle même
- Decorator. Permet d’attacher dynamiquement des responsabilités à un objet grâce à l’utilisation de l’héritage.
- Prototype. Permet de répliquer des instances prototypes via clonage
Qu’est-ce que l’architecture MVC ?
L'architecture MVC signifie Model View Controller et est utilisé dans le développement d'application afin de séparer les fonctionnalités d'une application et donc de séparer
les problèmes de l'application.
Quel est le rôle de chaque couche du design pattern MVC : Model, View,
Controller ?
- Modèle: Le modèle représente un objet transportant des données. Il peut également avoir une logique pour mettre à jour le contrôleur si ses données changent.
- Vue: La vue représente la visualisation des données contenues dans le modèle (objet).
- Contrôleur - Le contrôleur agit à la fois sur le modèle et sur la vue. Il contrôle le flux de données dans l'objet modèle et met à jour la vue chaque fois
que les données changent. Il maintient la vue et le modèle séparés.
Quels sont les avantages de l’architecture MVC ?
L'utilisation d'un Design Pattern MVC offre l'avantage de séparer les responsabilités dans une interface graphique en deux logique dites métier et de présentation(affichage).
Elle permet également la modification, l'évolution des composants d'une application sans affecté le comportemment d'autres composants.
Le découplage des 3 différents couches permettent la réutilisation des sources pour d'autres projet de conception. La maintenance d'une application est plus facile
et offre une meilleure gestion de ces composants. Sa mise en place peut être facillité grâce à des Frameworks et outils tel que symfony
Existe-t-il des variantes à l’architecture MVC ?
Oui il existe les variantes MVP et MVVM
- MVP (Modèle Vue Présentation) Le Controller devient une Présentation.Lieu de la mise en oeuvre de la logique métier. La vue
est débarassée de toute logique et le modèle est débarassé de la gestion d'état.
- MVVM identique au au MVP avec une différence majeure.Le retour d'information n'est plus pris en charge par la Présentation mais par un mécanisme de liaison de données.
La présentation devient la vue-modèle, qui permet d'accéder aux données prêtes à l'affichage dans la vue à travers le patron Observateur sur chaque composant graphique de la vue plutôt
que la vue entière.
Qu’est-ce qu’une API ? Définir l’architecture REST
Une API REST est une interface de programmation d'application (API) qui permet d'établir une communication entre plusieurs logiciels.
Grâce à elle, des logiciels d'applications utilisant différents systèmes d'exploitation peuvent interagir et partager des informations
par l'intermédiaire du protocole HTTP.