développement dapplication web larchitecture 1. problématique comment faire une application qui...

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

Upload: agace-buisson

Post on 04-Apr-2015

105 views

Category:

Documents


3 download

TRANSCRIPT

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 ?