CMS/FRAMEWORKS
Programmation WEB avancée Tutrice:
Hela Limam ,
Année universitaire 2020-2021
Outils de développement
CMS (Content Management Systems ou Systèmes de gestion de contenu)
Objectif : création et mise à jour de sites web sans nécessité d’expertise informatique exemples : Joomla, Drupal, Wordpress
Frameworks web
Objectif : faciliter le développement de sites web en proposant librairies (gestion des utilisateurs, accès aux
données...)
exemples : Symfony, Angular JS, Laravel, Django, Ruby on Rails,
2
CMS en détails
Fonctionnalités :
gestion des utilisateurs et de leurs droits (notamment administrateurs vs
utilisateurs)
I’édition de pages WYSIWYG gestion des contenus multimédia modularité et extensibilité (plugins, tels que calendrier, nuage de tags...) statistiques référencement modèles pour design
3
CMS : avantages et inconvénients
limite le besoin de compétences informatiques (création et màj)
Avantages : • • • • • •
sécurité intégrée
homogénéité du site
séparation du contenu (BD) et de la forme (CSS)
conformité aux standards comme (HTML5.)
contrôle de version
inconvénients
lourdeur de la prise en main
• • manque d’adaptabilité • performance • maintenance (màj)
4
CMS : quelques exemples
Joomla crée en 2005 ; version actuelle = 3.6 ; PHP, PostgreSQL/MySQL/MSSQL/SQLite
Wordpress crée en 2003 ; version actuelle = 4.7 I PHP, MySQL
Drupal crée en 2001 ; version actuelle = 8.2.6 I PHP (dont librairies Symfony)
5
Publicité
Frameworks en détails
Framework (cadriciel) ? boîté à outils logicielle visée générique architecture logicielle, patrons de conception Dans le cadre web :Objectif = création d’applications web destiné aux développeurs librairies pour fonctionnalités standard (authentification des utilisateurs, connexion aux bases de données, templates,
pagination, envoi d’emails, sessions, droits, formulaires...)
MVC POO inversion de contrôle (patron d’architexture) : le flot d’exécution d’un logiciel est dicté par le framework et non plus par le
développeur
6
Frameworks : fonctionnalités courantes
templates (gabarits) : fichiers html,
URL mapping : routage (expressions régulières ou réécriture d’URL) qui autorise à utiliser
des URL plus conviviales,
cache,
accès au données, par exemple avec ORM (Object Relationnal Mapping)
scaffolding (échafaudage) : génération du code d’accès aux données,
conventions
7
Frameworks : Avantages et Inconvénients
Avantages
organisation du code évolutive et facile à maintenir
utilisation de composants existants robustes
gain de temps de d´développement, surtout sur les aspects génériques de l’application
partage du développement facilité
communauté
standards de programmation
Inconvénients
courbe d’apprentissage
choix du framework
8
Frameworks : différents types
côté serveur : tout langage (PHP, Python, JS) – Django, Zend, Symfony...
côté client : (single page applications) AngularJS, EmberJS...
push-based (ou action-based) : traitements nécessaires, puis les données sont envoyées (push) à la partie vue pour affichage,ex : Django, Ruby on Rails, Symfony
pull-based (ou component-based) : partie principale = vue, qui fait appel (pull)
aux contrôleurs pour obtenir les données n´nécessaires
9
Framework
Publicité
Le framework, terme que l’on pourrait traduire par « cadre de travail », peut être définit
comme un ensemble d’outils et de librairies ayant pour but d’améliorer votre productivité. L’idée est de vous donner accès à des codes préconçus que vous pouvez réutiliser pour le développement d’un site, d’une application mobile, d’un jeu, d’une extension, etc.
Dans le développement web, il existe de nombreux frameworks, certains étant conçus pour des projets de grande envergure tandis que d’autres sont utiles pour accélérer le développement de petites tâches.
10
AngularJS
Créé par Google en 2009, AngularJS est un framework JavaScript open-source qui prend en charge l’animation, la manipulation du DOM, le routage, l’injection de dépendance ou encore le data binding.
AngularJS est très populaire et dispose donc d’une communauté active auprès de laquelle
vous pourrez facilement trouver de l’aide.
11
ReactJS
ReactJS est un framework développé par Facebook en 2013 et qui est aujourd’hui utilisé par Instagram, Netflix ou encore Yahoo. Sa spécialité ? Le développement front-end, c’est-à-dire la création d’interfaces utilisateurs. ReactJS utilise le langage JSX et intègre la notion de composants faciles à réutiliser entre différents projets.
Chapitre1: HTML5 / CSS3
12
VueJS
VueJS est un autre framework JavaScript basé sur l’utilisation de composants.
Si son utilisation est très proche de ReactJS, sa courbe d’apprentissage est toutefois jugée plus simple. Une autre différence est également à noter dans le langage utilisé puisqu’ici il s’agit du JavaScript et non du JSX.
Enfin, VueJS intègre le HTML, le CSS et le JS dans un seul et même fichier.
13
Ruby on Rails
Le framework Ruby on Rails est ce qu’on appelle un Model View Controller (MVC) et est
idéal si vous débutez dans le développement web. En effet, il est facile à comprendre et à utiliser du fait de sa simplicité syntaxique.
L’une des plus grandes forces de ce framework est sa souplesse : vous pouvez
facilement ajouter des fonctionnalités pour faire évoluer votre projet. À noter également que le développement est rapide.
Les fichiers JavaScript et CSS sont quant à eux minifiés, permettant à votre site de se
charger plus rapidement.
Le saviez-vous ?
Ruby on Rails est utilisé par Twitter, AirB&B ou encore GitHub.
14
Symfony
Symfony est un framework MVC open-source, écrit en PHP et 100% français.
Destiné aux projets plus complexes, voire haut de gamme, il permet de faciliter le
développement et offre une bonne flexibilité. Vous pouvez en effet le configurer comme vous le souhaitez et vous pouvez bénéficier de l’aide d’une grande communauté.
Le framework Symfony dispose d’une barre d’outils de débogage complète et facilite les
tests : vous n’avez pas besoin d’écrire de script.
15
Publicité
Django
Connaissez-vous Django ? Ce framework en langage Python – et donc côté serveur – a
été créé par des développeurs expérimentés.
Vous pouvez créer toute sorte de sites web, que ce soit des sites d’actualités, des
systèmes de gestion de contenu ou encore des réseaux sociaux. Ce framework protège automatiquement votre site grâce à un moyen sécurisé de gérer les comptes utilisateurs et les mots de passe.
16
Laravel
Laravel est un framework PHP composé de plusieurs bibliothèques issues
d’autres frameworks. Vous pouvez gérer les systèmes de cache, les envois d’emails, les sessions utilisateurs, la pagination de votre site ou encore créer des requêtes SQL.
Concernant la documentation, celle-ci est très complète et de qualité, ce qui est idéal si
vous êtes débutant.
17
ASP.NET
Développé par Microsoft et supporté par Windows, ASP.NET est lié au framework .NET.
Avec ASP.NET vous pouvez développer des sites web complexes et dynamiques,
notamment grâce au Model View Controller.
À ce propos, il faut noter qu’il existe ASP.NET WebForms et ASP.NET MVC. Ce dernier est à préconiser car il vous donne un meilleur contrôle sur le HTML ce qui n’est pas négligeable lorsqu’on sait que les sites doivent être responsives
18
Meteor
Meteor est un framework hautement évolutif basé sur le JavaScript et qui intègre NodeJS
et MongoDB.
Rapide à utiliser, vous pouvez gérer à la fois le front-end et le back-end de votre site.
Meteor est idéal pour créer des sites web collaboratifs ou encore des messageries où il
est nécessaire d’afficher des données en temps réel.
19
Spring
Spring est l’un des plus anciens frameworks Java mais certainement l’un des meilleurs. Il
offre de nombreux outils pour développer, configurer et sécuriser des sites web.
Malgré sa complexité, la documentation est très fournie et la communauté très active.
Évidemment, de nombreux autres frameworks web existent mais nous vous avons donné
un aperçu de ceux qui semblent les plus utilisés aujourd’hui.
20
Merci pour votre attention
21