H2 - P2019
Développement web
Cours 33 - 2016-05-23
Qu'est-ce qu'un framework ?
- Frame : Cadre
Work : Travail
- Ensemble de composants structurés permettant de mettre en place l'architecture d'un logiciel
- Valable dans la majorité des domaines y compris les sites
- Une librairie est un outil (ou un ensemble d'outils)
Un framework est un établi avec déjà plusieurs outils
- Si vous développez une structure perso avec vos outils, vous créez un genre de framework
Un framework n'est pas un CMS
Un CMS peut être basé sur un framework
Exemples :
- Drupal 8 avec Symfony
- FU (CMS Uzik) avec Zend
- Gain de temps / productivité
- Moins de connaissances requises
- Moins d'erreurs
- Travail en groupe sur une base connue des membres
- Communauté
- Documentation
- Potentiellement lourd
- Méconnaissance du fonctionnement interne du Framework
- Complexité (entre développeur de différents niveaux)
- Failles
- Mises à jour
- Courbe d'apprentissage
- Il existe de nombreux Frameworks PHP
- La majorité des Framework récents nécessitent PHP 5.4
- Structure souvent MVC (?)
Symfony
http://symfony.com
- Version actuelle : 3.0
- Idéal pour les sites : Moyens et gros
- Courbe d'apprentissage : Lente
- Popularité : Très grande
- Charge : Lourde
Zend
http://framework.zend.com
- Version actuelle : 2.5
- Idéal pour les sites : Moyens et gros
- Courbe d'apprentissage : Lente
- Popularité : Grande
- Charge : Lourde
CakePHP
http://cakephp.org
- Version actuelle : 3.2
- Idéal pour les sites : Petits et moyens
- Courbe d'apprentissage : Assez rapide
- Popularité : Assez grande
- Charge : Assez légère
Laravel
http://laravel.com (micro-framework)
- Version actuelle : 5.1
- Idéal pour les sites : Petits et moyens
- Courbe d'apprentissage : Assez rapide (difficile à mettre en place)
- Popularité : De plus en plus grande
- Charge : Légère
Slim
http://www.slimframework.com (micro-framework)
- Version actuelle : 3.3
- Idéal pour les sites : Petits et moyens
- Courbe d'apprentissage : Assez rapide
- Popularité : Moyenne
- Charge : Légère
Silex
http://silex.sensiolabs.org (micro-framework)
- Version actuelle : 1.3
- Idéal pour les sites : Petits et moyens
- Courbe d'apprentissage : Assez rapide
- Popularité : Moyenne
- Charge : Légère
Critères
- Capacités serveur
- Charge attendue
- Fonctionnalités
- Compétences internes
- Popularité
- Envie
Nous allons apprendre à utiliser Silex