Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui...

32
S Développement d’application web L’architecture 1

Transcript of Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui...

Page 1: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

1

S

Développement d’application web

L’architecture

Page 2: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

2

Problématique

Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion simple du contenu

Page 3: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

3

Solution

La séparation des « problèmes » (separation of concerns)

Architecture en couches Couche présentation Couche données Couche métier

Les couches données et métier ne doivent pas dépendre de la couche présentation

Page 4: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

4

Solution

Modèle MVC

Page 5: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

5

Solution

Structurer soi-même l’application

Utiliser un framework Force à structurer son application Communauté:

Toute personne connaissant le framework comprendra plus vite le code de l’application

Présence d’extensions et d’aides facilitant la mise en place de certaines tâches récurrentes et rébarbatives

Coût d’apprentissage non négligeable

Page 6: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

6

Qui ?

Page 7: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

7

Quel ?

Page 8: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

8

Avantages ?

Séparation des couches

Faciliter les tests

Modulaire

Utilitaires de debug et d’analyse de performances

Maintenu, communauté

Page 9: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

9

Ce que nous utiliserons

Système d’exploitation: Linux

Serveur web: Apache2

Framework: Symfony2

SCM: Git

Base de données: MySQL

Obligatoire ?

Page 10: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

10

Symfony

Composer Gestionnaire de dépendances PHP

Twig Système de template

Doctrine ORM (Object Relational Mapping)

Page 11: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

11

Sources d’information

La documentation officielle: http://symfony.com/doc/current/index.html

Le forum officiel: http://forum.symfony-project.org/

Google

Page 12: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

12

Symfony: structure

Page 13: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

13

Symfony: app/

Page 14: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

14

Symfony: app/config/

Page 15: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

15

Symfony: src/

Page 16: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

16

Symfony: vendor/

Page 17: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

17

Symfony: web/

Page 18: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

18

Symfony: création d’un bundle

Page 19: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

19

Bundle: ressources

Page 20: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

20

Création de pages

Header

Contenu

Footer

MENU

Page 21: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

Création de pages

21

Header

Contenu

Footer

MENU

Header

Contenu

Footer

MENU

Header

Contenu

Footer

MENU

Page 1 Page 2 Page 3

Page 22: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

22

Création de pages

PHP:

Header

Contenu

Footer

MENU

include

include

include

Page 23: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

23

Création de pages

header.php

Page 24: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

24

Création de page

menu.php

Page 25: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

25

Création de pages

footer.php

Page 26: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

26

Création de pages

index.php

Page 27: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

27

Création de pages

Twig

Header

Contenu

Footer

MENU

Contenuextends

base.html.twig index.html.twig

Page 28: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

28

Création de pages

base.html.twig

Page 29: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

29

Création de pages

base.html.twig (cont)

Page 30: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

30

Création de pages

base.html.twig (cont)

Page 31: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

31

Création de pages

Index.html.twig

Page 32: Développement dapplication web Larchitecture 1. Problématique Comment faire une application qui soit: Facilement maintenable Évolutive Avec une gestion.

32

Questions ?