Sites web MVC Damien Nouvel



Documents pareils
les techniques d'extraction, les formulaires et intégration dans un site WEB

PROSOP : un système de gestion de bases de données prosopographiques

PHP 4 PARTIE : BASE DE DONNEES

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Devenez un véritable développeur web en 3 mois!

Introduction aux Bases de Données

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Information utiles. webpage : Google+ : digiusto/

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

CREATION WEB DYNAMIQUE

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Application web de gestion de comptes en banques

Formation en Logiciels Libres. Fiche d inscription

Programme de formation

La gestion des boîtes aux lettres partagées

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Bases de données élémentaires Maude Manouvrier

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Mysql. Les requêtes préparées Prepared statements

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Les bases de données

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

OMGL6 Dossier de Spécifications

SYSTÈMES D INFORMATIONS

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Expert technique J2EE

MEDIAplus elearning. version 6.6

Introduction : présentation de la Business Intelligence

Bases de données avancées Introduction

Le Langage SQL version Oracle

Programmation Web. Madalina Croitoru IUT Montpellier

Programme ASI Développeur

Assurances & Mutuelles, Industrie, Santé, Énergie, Transport, Médias / Multimédias, Télécoms, Services

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Le langage SQL (première partie) c Olivier Caron

Rapport de stage Clément MOYSAN

Cours: Administration d'une Base de Données

Java pour le Web. Cours Java - F. Michel

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version septembre 2006

Présentation du module Base de données spatio-temporelles

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

PHP et le Cloud. All rights reserved. Zend Technologies, Inc.

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Refonte front-office / back-office - Architecture & Conception -

Un serveur d'archivage

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Séance 1 Introduction aux bases de données

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

Mysql avec EasyPhp. 1 er mars 2006

1/ Présentation de SQL Server :

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

SAP BusinessObjects Web Intelligence (WebI) BI 4

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Utiliser Access ou Excel pour gérer vos données

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

SITE WEB E-COMMERCE ET VENTE A DISTANCE

PDO : PHP Data Object 1/13

Formation : WEbMaster

UE 8 Systèmes d information de gestion Le programme

PHP 5. La base de données MySql. A. Belaïd 1

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Compte Rendu d intégration d application

1 Introduction et installation

Open Source Professional Training

Hébergement de site web Damien Nouvel

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Bases de données cours 1

Cours Bases de données

DEVIS CONCEPTION SITE INTERNET

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Introduction à JDBC. Accès aux bases de données en Java

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Utilisation d Hyperplanning 2011

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Attaques applicatives

Notre Catalogue des Formations IT / 2015

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Cours 1 : introduction

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Transcription:

Sites web MVC

Plan Architecture MVC Vues / interface Contrôleur / application 2 / 17

Plan Architecture MVC Vues / interface Contrôleur / application 3 / 17

Architecture MVC MVC Méthode de conception d'interface Homme Machine (IHM) (Reenskaug, 1979) Modèle Vue - Contrôleur Modèle : gestion des données et des fonction pour y accéder Couche de persistance des données Vue : affichage des données Interfaces avec l'utilisateur Contrôleur : synchronisation entre la vue et les données Application, traitements, flux de données Vue indépendante des données ( trois-tiers, couches) Java (Swing, SWT, Spring, Struts), PHP (Symfony, Cake, Zend), Python (Django, Turbogears), Flash (Flex), Ruby (Rails) 4 / 17

Architecture MVC Schéma de fonctionnement Modèle Contrôleur Vue 5 / 17

Plan Architecture MVC Vues / interface Contrôleur / application 6 / 17

Modèle (de données) Description des «objets» manipulés par le système Personnes, évènements, produits, instruments, etc. Couche de persistance Base de données Fichiers (XML, CSV...) Moteur de persistance Fonctions de manipulation des objets Liste, lecture, écriture Fonctions «standard» qui peuvent potentiellement être appliquées à tous les objets Interface entre le langage (Java, PhP,.Net...) et les données Optimisation en lecture, droits d'accès en écriture, etc. 7 / 17

Bases de données Gestion des données standardisée Structuration des données sous formes d' «objets» Chaque objet est défini par un ensemble d' «attributs» Les objets peuvent correspondre aux classes du langage Des associations peuvent être faites entre les objets Clients Produits Magasins Fournisseurs 8 / 17

Bases de données (suite) Base de données «relationnelle» Objets décrits par des «tables» (tableau Excel) Chaque attribut est une colonne Typée : entier, chaîne, booléen, etc. Objets identifiés par des «clés» Indexation pour accès rapide aux données, associations entre données ID Nom Prénom Email Magasin Newsletter... 1 Nouvel Damien nouvel@... 3 o 2 Dupond Roger r.dup@... 2 n 3 Smith Bob... 5 n 4 Colas Régis... 3 o... 9 / 17

Bases de données (suite) Langage de «requête» sur la base de données SQL : Structured Query Language (Chamberlain & Boyce, 1970) Exemple classique en PhP / MysQL // Connexion à la base de données mysql_connect('localhost', 'login', 'password'); mysql_select_db('nom_de_la_base',$db); // Requête SQL $res = mysql_query('select prenom, nom FROM client'); // Traitement des résultats while($client = mysql_fetch_assoc($res)){ } echo 'Client'.$client['prenom'].' '.$client['nom'] ;... 10 / 17

Plan Architecture MVC Vues / interface Contrôleur / application 11 / 17

Vues / interface Utilisation de «templates» Présentation des données Utilisation des inclusions pour assembler la page Définit les possibilités d'interaction avec l'utilisateur Liens, formulaires, pagination, etc. Peut-être dépendante des objets à afficher Liste des clients, fournisseurs, magasins Détail d'un client, fournisseur, magasin Formulaire pour modifier un client, fournisseur, magasin Peut faire appel à des éléments génériques Liste d'objets (avec pagination) Élément de formulaire 12 / 17

Vues / interface Utilisation de «templates» (suite) Programmation de l'interface Exemple classique en PhP <ul> <?php foreach($objets as $objet){?> <li>' <img class="image" src="<?php echo $objet['image'];?>" /> <p class="titre"><?php echo $objet['nom'];?></p> <p class="resume"><?php echo $objet['description'];?></p> <a class="detail" href="<?php echo $objet['lien'];?>">détails</a> </li> <?php }?> </ul> 13 / 17

Plan Architecture MVC Vues / interface Contrôleur / application 14 / 17

Contrôleur / application Le contrôleur tient compte des évènements Selon les interactions possibles avec l'interface Lien entre la vue et les données Par ex. : L'utilisateur demande une page : Sélectionner les données dans la base pour alimenter le modèle Passer les éléments du modèle aux vues correspondant à la page L'utilisateur demande une liste de produits : Sélectionner les produits dans la base de données Trier les produits (ordre par défaut ou demandé par l'utilisateur) Passer les objets à la vue «liste» L'utilisateur valide un formulaire pour un produit Demander au modèle de mettre à jour / insérer le produit Aller vers la vue succès / erreur 15 / 17

Contrôleur / application Le contrôleur définit l'application Flux des données Changements de vues / de pages De manière classique, principales pages : Dédiées (page d'accueil, contact, etc.) Le «contenu» (section du site, article) Les listes d'objets : Mécanisme de liste paginée Affichage d'élément de liste selon l'objet Liens selon les droits (lecture, écriture, suppression) Le détail d'un objet (spécifique) La modification d'un objet Même vue pour l'insertion ou la modification 16 / 17

Contrôleur / application Interactions complexes avec modèle / vues Par ex. : if($vue == 'liste-produits'){ $produits = modele->getproduits($criteres); vue_centrale->afficherliste($produits); boites_droite->listecourte($produits->produitslies()); if($utilisateur->isclient()){ boites_droite->ajouterpromos(); } if($vue == 'detail-produit'){ $produit = modele->getproduit($id); vue_centrale->afficherelement($produit); boites_droite->listecourte($produit->accessoires()); } 17 / 17