1.09k likes | 2.51k Vues
Développement d’application web. L’architecture. Problématique. Comment faire une application qui soit: F acilement maintenable Évolutive Avec une gestion simple du contenu . Solution. La séparation des « problèmes » ( separation of concerns ) Architecture en couches
E N D
Développement d’application web L’architecture
Problématique • Comment faire une application qui soit: • Facilement maintenable • Évolutive • Avec une gestion simple du contenu
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
Solution • Modèle MVC
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
Avantages ? Maintenu, communauté Séparation des couches Modulaire Utilitaires de debug et d’analyse de performances Faciliter les tests …
Ce que nous utiliserons Obligatoire ? • Système d’exploitation: Linux • Serveur web: Apache2 • Framework: Symfony2 • SCM: Git • Base de données: MySQL
Symfony • Composer • Gestionnaire de dépendances PHP • Twig • Système de template • Doctrine • ORM (Object RelationalMapping)
Sources d’information • La documentation officielle: • http://symfony.com/doc/current/index.html • Le forum officiel: • http://forum.symfony-project.org/ • Google
Création de pages Header Contenu M E N U Footer
Création de pages Page 2 Page 3 Page 1 Header Header Header Contenu Contenu Contenu M E N U M E N U M E N U Footer Footer Footer
Création de pages • PHP: Header include Contenu M E N U include include Footer
Création de pages header.php
Création de page menu.php
Création de pages footer.php
Création de pages index.php
Création de pages Header • Twig index.html.twig base.html.twig Contenu Contenu MENU extends Footer
Création de pages base.html.twig
Création de pages base.html.twig (cont)
Création de pages base.html.twig (cont)
Création de pages Index.html.twig