CMS et Frameworks pour la Programmation Web Avancée

Page 1 sur 21Lecteur de document UniversityLib

CMS et Frameworks pour la Programmation Web Avancée

Informatique - Développement Web · lab

Voir tous les documents en développement web

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