Vous êtes sur la page 1sur 12

Bloc Programmation

Système

Nom : Mouanou Mitori guichel


Prosit 3

1
Table des matières
Mots clés : ............................................................................................................................................... 3
Contexte : ................................................................................................................................................ 4
Probléma que : ....................................................................................................................................... 4
Livrable : .................................................................................................................................................. 4
Généralisa on : ....................................................................................................................................... 4
Pistes de solu on :................................................................................................................................... 4
Approfondissement et recherches .......................................................................................................... 5
Cours de Génie Logiciel Orienté Objet ................................................................................................ 5
Fondements de l'Orienté Objet : ..................................................................................................... 5
Principaux Concepts : ...................................................................................................................... 5
Langages Orientés Objet :................................................................................................................ 6
Méthodologies Orientées Objet : .................................................................................................... 6
Processus de Développement Orienté Objet : ................................................................................ 6
Concep on Orientée Objet : ........................................................................................................... 6
Programma on Orientée Objet : ..................................................................................................... 6
Avantages du GLOO : ....................................................................................................................... 7
Applica ons Pra ques : ........................................................................................................................ 7
a. Développement Logiciel : ............................................................................................................ 7
b. Simula on et Modélisa on : ....................................................................................................... 7
Conclusion : ..................................................................................................................................... 8
Modèle-Vue-Contrôleur (MVC) ....................................................................................................... 8
Réalisa on ............................................................................................................................................. 10
Piste des solu ons ................................................................................................................................. 12
Synthèse des connaissances .................................................................................................................. 12
Références ............................................................................................................................................. 12

2
Mots clés :

Framework :

 Défini on :
Un ensemble de bibliothèques, de conven ons et de modèles de concep on
facilitant le développement logiciel en fournissant une structure prédéfinie.

 Objec f :
Accélérer le processus de développement en offrant des composants réu lisables et
des conven ons pour résoudre des problèmes courants, améliorant ainsi la
cohérence et la maintenabilité du code.

Concep on Orientée Objet :

 Défini on :
Un paradigme de programma on basé sur le concept d'objets, des instances de
classes définissant des a ributs et des méthodes.

 Objec f :
Encourager la modularité, la réu lisabilité et la compréhension du code en organisant
les fonc onnalités du logiciel autour d'objets interagissant de manière cohérente.

Type de Donnée :

 Défini on :
Une classifica on qui spécifie la nature d'une variable, déterminant les opéra ons
possibles et la manière dont la mémoire est allouée.

 Objec f :
Fournir une structure pour la manipula on des données, perme ant une ges on
efficace de la mémoire et définissant le comportement des opéra ons associées à ces
données.

3
Contexte :
La proposi on de Mathilde d’appliquer une architecture logiciel évolu ve afin de diminuer les
coûts de développement ?

Probléma que :

Quelle architecture évolutive utiliser et comment la mettre en place ?

Livrable :

 Evolution d’architecture logiciel


 Optimisation des couts de développement

Généralisa on :
Optimisation des couts de développement et évolutivité des applications logiciels.

Pistes de solu on :

 POO/COO
 Java
 UML
 Architecture logicielle
 MVC/MVVM

4
Approfondissement et recherches

Cours de Génie Logiciel Orienté Objet

Le Génie Logiciel Orienté Objet (GLOO) est une approche de développement logiciel qui
repose sur les principes de l'orienté objet pour créer des systèmes modulaires, flexibles et
réu lisables. Voici les principaux aspects du Génie Logiciel Orienté Objet :

Fondements de l'Orienté Objet :

Classes et Objets :
 Les classes sont des modèles pour créer des objets.
 Les objets sont des instances concrètes de classes.

Encapsula on :
 Regrouper les données (a ributs) et les méthodes associées dans une classe.
 Limiter l'accès direct aux données pour garan r la sécurité.

Héritage :
 Permet à une classe (sous-classe) d'hériter des propriétés et méthodes d'une
autre classe (super-classe).
 Favorise la réu lisa on du code et la hiérarchie.

Polymorphisme :
 Capacité des objets de différentes classes à répondre à une même méthode.
 Comprend le polymorphisme sta que (surcharge) et dynamique (liaison
tardive).

Principaux Concepts :

Abstrac on :
o Capturer l'essence des objets du monde réel dans le système.
o Ignorer les détails non per nents.

Modularité :

5
o Décomposer le système en modules indépendants (classes).
o Facilite la maintenance et la mise à jour du code.

Langages Orientés Objet :

Java :
o Langage orienté objet avec une plateforme d'exécu on indépendante
(JVM).
o Fortement u lisé pour le développement d'applica ons d'entreprise.

Méthodologies Orientées Objet :

UML (Unified Modeling Language) :


 Langage de modélisa on visuelle pour représenter graphiquement les
systèmes orientés objet.
 Comprend des diagrammes de classes, d'objets et de séquence.

Design Pa erns :
o Solu ons éprouvées pour des problèmes de concep on récurrents.
o Facilitent la concep on de logiciels robustes et extensibles.

Processus de Développement Orienté Objet :

Analyse Orientée Objet :


o Iden fier les en tés et les objets dans le système.
o Définir les rela ons entre les objets.

Concep on Orientée Objet :


o Créer une architecture basée sur l'analyse.
o Définir les classes, les rela ons et les interac ons.

Programma on Orientée Objet :

6
o Me re en œuvre le système en u lisant les principes de l'orienté objet.

Tests Orientés Objet :

a. Tests de Classes :
o S'assurer du bon fonc onnement de chaque classe
individuellement.

b. Tests d'Intégra on :
o Vérifier que les différentes classes interagissent correctement.

Avantages du GLOO :

a. Réu lisa on de Code :


- Les classes peuvent être réu lisées dans d'autres projets.

b. Maintenance Facilitée :
- Modifica ons locales sans impact sur l'ensemble du système.

c. Adaptabilité :
- Capacité à évoluer en ajoutant de nouvelles classes ou en modifiant les
existantes.

Applica ons Pra ques :

a. Développement Logiciel :
- Applica ons d'entreprise, applica ons web, applica ons mobiles.

b. Simula on et Modélisa on :
- U lisa on d'objets pour représenter des en tés du monde réel.

7
Conclusion :

Le Génie Logiciel Orienté Objet offre une approche puissante pour le


développement de logiciels, en favorisant la modularité, la réu lisa on du
code, et une meilleure représenta on des concepts du monde réel. En
adoptant les principes de l'orienté objet, les développeurs peuvent concevoir
des systèmes plus flexibles et évolu fs.

Modèle-Vue-Contrôleur (MVC)

Le Modèle-Vue-Contrôleur (MVC) est un modèle d'architecture logicielle visant à


organiser le code d'une applica on de manière claire et modulaire. Il se compose de
trois composants principaux :
Composants du Modèle-Vue-Contrôleur :

Modèle :

 Représente la logique mé er et les données.


 Gère l'accès aux données et les règles mé er.
Vue :
o Affiche les données au format compréhensible par l'u lisateur.
o Récupère les données du modèle pour les présenter.

Contrôleur :
o Gère les interac ons de l'u lisateur.
o Met à jour le modèle en fonc on des ac ons de l'u lisateur.
o Actualise la vue en fonc on des changements dans le modèle.

Fonc onnement du Modèle-Vue-Contrôleur :

Ini alisa on :

 Le contrôleur ini alise le modèle et la vue.

8
Interac on U lisateur :

 L'u lisateur interagit avec l'interface u lisateur (UI).


 Le contrôleur traite les ac ons de l'u lisateur.

Mise à Jour du Modèle :

 Le contrôleur met à jour le modèle en fonc on des ac ons de l'u lisateur.

No fica on de Changement :

 Le modèle no fie la vue des changements.

Mise à Jour de la Vue :

 La vue se met à jour pour refléter les changements dans le modèle.

Avantages du Modèle-Vue-Contrôleur :

Sépara on des Préoccupa ons :

 Chaque composant a un rôle clairement défini.

Réu lisabilité :

 Les composants peuvent être réu lisés dans d'autres par es de l'applica on.

Maintenabilité :

 Facilité de maintenance grâce à la localisa on des problèmes dans des


composants spécifiques.

Exemple d'Applica on du Modèle-Vue-Contrôleur :

Applica on Web :

 Modèle : Ges on des données et des règles mé er.

9
 Vue : Affichage des pages web.
 Contrôleur : Ges on des requêtes u lisateur et des ac ons.
Conclusion :

Le Modèle-Vue-Contrôleur est une approche puissante pour organiser le code des


applica ons, améliorant la maintenabilité et la réu lisabilité. Très u lisé dans le
développement logiciel, il offre une structure claire et modulaire, par culièrement
adaptée aux applica ons web.

Réalisa on

Proposi on d'Architecture Logicielle

a. Architecture Type

La proposi on d'architecture logicielle pour une applica on web moderne repose sur les
principes de l'architecture hexagonale, combinée à une approche MVC côté serveur et une
architecture SPA (Single Page Applica on) côté client.

 Côté Serveur (Backend):


o Couche de Présenta on (Presenta on Layer):
o Contrôleurs MVC: Gèrent les requêtes HTTP, coordonnent l'interac on entre le
modèle et la vue, et renvoient les réponses au client.
o Services REST: Exposent des endpoints RESTful pour les opéra ons CRUD (Create,
Read, Update, Delete) sur les ressources de l'applica on.

o Couche Mé er (Business Layer):


o Services Applica fs: Implémentent la logique mé er de l'applica on, coordonnent les
ac ons entre les différents domaines mé er.
o Modèles de Domaine: Représentent les en tés mé er et encapsulent les règles
mé er.

o Couche d'Accès aux Données (Data Access Layer):


o Repositories: Fournissent un accès aux données en encapsulant la logique d'accès
aux différentes sources de données (bases de données, services externes, fichiers,
etc.).

10
 Côté Client (Frontend):

o Couche de Présenta on (Presenta on Layer):


o Applica on SPA: Développée avec des frameworks modernes comme React, Angular
ou Vue.js, elle gère l'interface u lisateur et communique avec le serveur via des
appels API REST.
o Ges onnaire d'État: U lise un ges onnaire d'état centralisé (comme Redux pour
React) pour gérer l'état global de l'applica on côté client.

o Couche d'Accès aux Données (Data Access Layer):


o Services d'API: Consomment les endpoints REST exposés par le serveur pour
récupérer et soume re des données à l'applica on.
o Cache Client: Stocke localement les données fréquemment u lisées pour améliorer
les performances et réduire les requêtes au serveur.

 Caractéris ques Transversales:

o Sécurité: U lisa on de JWT (JSON Web Tokens) pour l'authen fica on et


l'autorisa on, valida on côté serveur des entrées u lisateur pour prévenir les
a aques XSS et CSRF.
o Extensibilité: Architecture modulaire perme ant l'ajout facile de nouvelles
fonc onnalités et la modifica on des existantes sans impact sur le reste du système.
o Performance: Mise en cache appropriée des données côté client et côté serveur,
op misa on des requêtes et des réponses, compression des ressources, u lisa on
de CDN pour les ressources sta ques.
o Testabilité: U lisa on de tests unitaires, tests d'intégra on et tests de bout en bout
pour assurer la qualité et la fiabilité du code.
o Monitorage: Intégra on de métriques et de journaux pour surveiller les
performances et le comportement de l'applica on en produc on, détec on précoce
des problèmes et résolu on rapide des incidents.

Ce e architecture offre une base solide pour le développement d'une applica on web
moderne, favorisant la scalabilité, la maintenabilité et la flexibilité tout en offrant une
expérience u lisateur fluide et réac ve.

11
Piste des solu ons

Design pa ern
Uml
MVN
COO

Synthèse des connaissances


Prosit de decouvrte

Références
h ps://www.sourcetreeapp.com/

h ps://www.sourcetreeapp.com/

h ps://www.youtube.com/watch?v=jmn1EgMYE3Q

12

Vous aimerez peut-être aussi