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

Post on 04-Apr-2015

105 views 3 download

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

1

S

Développement d’application web

L’architecture

2

Problématique

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

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

4

Solution

Modèle MVC

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

6

Qui ?

7

Quel ?

8

Avantages ?

Séparation des couches

Faciliter les tests

Modulaire

Utilitaires de debug et d’analyse de performances

Maintenu, communauté

9

Ce que nous utiliserons

Système d’exploitation: Linux

Serveur web: Apache2

Framework: Symfony2

SCM: Git

Base de données: MySQL

Obligatoire ?

10

Symfony

Composer Gestionnaire de dépendances PHP

Twig Système de template

Doctrine ORM (Object Relational Mapping)

11

Sources d’information

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

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

Google

12

Symfony: structure

13

Symfony: app/

14

Symfony: app/config/

15

Symfony: src/

16

Symfony: vendor/

17

Symfony: web/

18

Symfony: création d’un bundle

19

Bundle: ressources

20

Création de pages

Header

Contenu

Footer

MENU

Création de pages

21

Header

Contenu

Footer

MENU

Header

Contenu

Footer

MENU

Header

Contenu

Footer

MENU

Page 1 Page 2 Page 3

22

Création de pages

PHP:

Header

Contenu

Footer

MENU

include

include

include

23

Création de pages

header.php

24

Création de page

menu.php

25

Création de pages

footer.php

26

Création de pages

index.php

27

Création de pages

Twig

Header

Contenu

Footer

MENU

Contenuextends

base.html.twig index.html.twig

28

Création de pages

base.html.twig

29

Création de pages

base.html.twig (cont)

30

Création de pages

base.html.twig (cont)

31

Création de pages

Index.html.twig

32

Questions ?