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



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

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Mercredi 15 Janvier 2014

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

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

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

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Joomla! Création et administration d'un site web - Version numérique

BES WEBDEVELOPER ACTIVITÉ RÔLE

CATALOGUE DES FORMATIONS LANGUES

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Du point de vue des entreprises, faut-il privilégier les Frameworks PHP aux CMS Open pour la création de sites internet?

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Visual Paradigm Contraintes inter-associations

Loïc Rossignol Ingénieur Consultant

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

SP1 : Intégration d'une vidéo dans une mardi 21/01/2014. page web, fonction du format vidéo et 3 mercredi 22/01/2014

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

LE CONCEPT DU CMS CHAPITRE 1

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

COMPÉTENCES TECHNIQUES

Catalogue des formations

novatis Agence Web innovatrice

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Formations qualifiantes pour demandeurs d emploi

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

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

Point sur les solutions de développement d apps pour les périphériques mobiles

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

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

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

Formation en Logiciels Libres. Fiche d inscription

Formation : WEbMaster

Petite définition : Présentation :

Paul FLYE SAINTE MARIE

CMS Open Source : état de l'art et méthodologie de choix

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

Karim EL KHALIFA Web developer

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Tour d horizon des CMS. Content Management System

Pierre Racine Professionnel de recherche Centre d étude de la forêt Département des sciences du bois et de la forêt, Université Laval, Québec

Cours en ligne Développement Java pour le web

CATALOGUE FORMATION 2015

Agence Web innovatrice

Projet en nouvelles technologies de l information et de la communication

1 Introduction et installation

LICENCE PROFESSIONNELLE

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

CATALOGUE DES FORMATIONS

1. La plate-forme LAMP

Nouveautés de Drupal 8. Léon

Mise en œuvre des serveurs d application

Développeur - Conseiller - Formateur web

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

Formation Webmaster : Création de site Web Initiation + Approfondissement

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Notre processus d embauche

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.

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

WORDPRESS : réaliser un site web

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

CQP Développeur Nouvelles Technologies (DNT)

PHP 5.4 Développez un site web dynamique et interactif

Armand PY-PATINEC 2010

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

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

Module BD et sites WEB

4. SERVICES WEB REST 46

Notre Catalogue des Formations IT / 2015

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC)

42 Formations Web & Open Source

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Un serveur d'archivage

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Présentation du Framework BootstrapTwitter

LEA.C5. Développement de sites Web transactionnels

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

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

Bureautique Initiation Excel-Powerpoint

10. Base de données et Web. OlivierCuré

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web web1.0, web2.0, web2.b, web3.0...

Présentation Alfresco

FORMATIONS INFORMATIQUES. Catalogue des formations 2015

CAS, un SSO web open source. 14h35-15h25 - La Seine A

Transcription:

les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838

Plan L extraction des données pour un site en ligne Architecture et techniques Les différents formats d affichage Représentation des données sous forme de graphiques Les formulaires de saisie La sécurité des données Mise en ligne d une BD MySQL avec PHP Avantages et inconvénients de ce procédé Intégration d une BD dans un CMS Fonctionnement d un CMS Exemple de SPIP Avantages et inconvénients de ce procédé Utilisation d un framework Web Pourquoi utiliser un framework? Comment choisir son framework? CMS ou framework?

L extraction des données pour un site en ligne Architecture 3 tiers Site Web dynamique : les pages sont générées sur le serveur 1 er tiers Client 2 ème tiers Serveur 3 ème tiers Données Requête HTTP GET Application Web Serveur Http Serveur applicatif Requête BD Navigateur Réponse HTTP Java, J2EE PHP Python PERL Asp,.Net XML JSON Réponse Web Service EII Relationnelle Objet XML Serveur(s) distant

L extraction des données pour un site en ligne Les différents formats d affichage HTML XHTML : permet l utilisation de nouvelles balises grâce aux espaces de noms, ex SVG WML (Wireless Markup Language) : langage à balises pour les téléphones portables PDF XML Les données XML Les fichiers XML peuvent être transformés à l aide des feuilles de style XSL (recommandation W3C) XSL :

L extraction des données pour un site en ligne Les principaux formats graphiques pour le Web Formats vectoriels : SVG,VML Format XML Google Maps utilise VML pour le rendu vectoriel avec IE 5.5+ et SVG pour les navigateurs le supportant L avantage du vectoriel Le référencement Formats open source et standards SVG est une recommandation du W3C Flash Représentation binaire : fichiers SWF L avantage du SWF : meilleure portabilité grâce au lecteur Flash bien implanté Mais format partiellement propriétaire Quelques outils et librairies pour générer des graphiques à partir des données stockées en base SVG / VML Raphaël : Librairie JavaScript Dojo gfx : API pour graphiques vectoriels Flash Flex Open Flash Charts (Ruby,.Net, Perl, Java, Python, ColdFusion, GWT, SmallTalk, Penttaho, C) : libre et open source : http://teethgrinder.co.uk/open-flash-chart-2/downloads.php Fusion Charts (PHP, ASP.NET, JSP, ColdFusion, Python, RoR) : existe en version libre et payante http://www.fusioncharts.com/free/

La mise à jour des données => les formulaires Les formulaires sont l interface des internautes pour interagir avec notre application Contrôle des données et mise à jour de la BD Saisie des données POST + les données saisies Requête HTTP Application Web Requête Serveur Http Serveur applicatif BD Navigateur Réponse HTTP Réponse

La sécurité des données Veiller à l intégrité des données Contrôle des formulaires côté serveur, en plus du contrôle côté client Eviter la réexécution d un POST Utiliser une redirection pour afficher la page de retour Attaques par injection de code SQL Utiliser des procédures stockées ou des requêtes SQL préparées Utiliser des comptes utilisateurs SQL avec des droits restreints (en lecture seule si possible) Filtrer des mots clés comme EXEC, SELECT, INSERT etc Echapper les caractères spéciaux comme, «, \ PHP offrait jusqu à présent un paramètre «magic_quote» qu il suffisait d activer pour échapper les caractères spéciaux, mais depuis PHP5 cette fonctionnalité est dépréciée et sera supprimée en PHP6! => Il faut utiliser la méthode mysql_real_escape_string

Mise en ligne d une BD MySQL avec PHP PHP : un langage créé pour des applications Web Avantages Rapide à mettre en place pour une application simple EasyPHP: un environnement de développement Un serveur HTTP : Apache Un langage de programmation : PHP Une base de données : MySQL (ou SQLite) Une interface d administration pour la base de données : phpmyadmin ou SQLiteManager Créer un alias pour chaque site Web Les environnements de déploiement de type LAMP (Linux, Apache, MySQL, PHP) sont très répandus Inconvénients Fastidieux pour un site Web complet dès que l on souhaite intégrer une gestion de droits, un habillage plus travaillé, un forum etc On réinvente la roue On risque de produire du code «sale» : difficile à maintenir

Intégration d une BD dans un CMS => fonctionnement d un CMS CMS : Content Management System : système de gestion de contenu Logiciel destiné à la conception et à la mise à jour dynamique de sites web (sans programmation) L interface privée permet d administrer et de structurer le site Souvent nombreuses fonctionnalités de base : forums, pages à accès restreint, recherche sur le site Possibilité de rajouter des plugins Quelques CMS du marché (Open Source) CMS Made Simple, Spip, Drupal, Joomla Deux façons pour intégrer nos données dans un CMS Lier le CMS à notre BD Intégrer nos tables dans la BD propre au CMS Notre bd Administrateur Interface privée Internaute Interface publique CMS L implémentation du CMS BD BD propre au CMS

Intégration d une BD dans un CMS => exemple de SPIP La base de données de SPIP Serveurs SQL supportés actuellement : MySQL, PostgreSQL, SQLite ~40 tables, plus si ajout de plugins Intégration de données externes Accès à une base de données externe SPIP 2.0 : http://www.spip.net/fr_article3681.html uniquement en lecture actuellement, la possibilité de mise à jour est à l étude Avant SPIP 2.0 : possible, mais via le code PHP Ajout de nouvelles tables dans la base de données de SPIP (préconisé) Via une console d administration (phpmyadmin, ) Via le plugin TableDATA Outil d administration de la base de données dans l'interface privée de SPIP (une sorte de phpmyadminpour les «non informaticiens») Existe pour les versions 1.9.1, 1.9.2 et 2.0 en version stable Plugin pour la création de formulaires de saisie Plugin Forms & Tables Création des formulaires de saisie et des tables associées Collecte des données Export CSV Version de test pour SPIP 2

Intégration d une BD dans un CMS => exemple de SPIP Afficher le contenu des tables spécifiques dans les pages publiques Créer ou modifier des squelettes SPIP Utiliser le langage SPIP Intégrer du code PHP Format des tables à respecter si on utilise le langage SPIP pour l extraction des données Noms des tables et des colonnes en minuscule en base et en majuscules dans le langage SPIP Mêmes noms pour les colonnes liées par une contrainte de clé étrangère si on souhaite utiliser des jointures dans le langage SPIP

Intégration d une BD dans un CMS Avantages Permet de profiter d un habillage et des fonctionnalités existants Rapide à mettre en œuvre une fois passé l étape d apprentissage ou si on utilise un plugin existant qui correspond à notre besoin S adapte bien à un besoin de création d un site Web complet où on souhaite intégrer des données supplémentaires Inconvénients dans le cas de modification du code Réutilisation d une architecture qui au départ n était pas prévue pour ça La documentation n est pas orientée vers cette utilisation du CMS La prise en main est souvent difficile, il faut comprendre la logique de développement du CMS en question Peut donner du code «sale» ou redondant En cas de nouvelles versions du CMS ou de patchs de sécurité, il faut répercuter ses modifications à la main vers la nouvelle version Inconvénients dans le cas de l utilisation de plugins L évolution d un plugin dépend de son créateur et pas forcément de la communauté Les fonctionnalités peuvent être limitées ou trop génériques et ne pas couvrir entièrement notre besoin, auquel cas on risque d être amené à retoucher le code

Utilisation d un frameworkweb Pourquoi utiliser un framework Offre un cadre de développement pour créer des sites Web dynamiques maintenables et sécurisés et respectant les patterns de développement Permet d alléger la charge de développement liée aux fonctionnalités récurrentes En général un framework Web fournit : Une librairie d accès aux données ou ORM (Object Relational Mapping) Des templates HTML Une gestion du cache Une gestion de l authentification et des autorisations sécurisés Un pattern MVC Quelques frameworks Web du marché : Java : Spring, Apache Struts PHP : Symfony, CakePHP, Zend Framework Perl : Catalyst Python : Django Ruby : Ruby On Rails TCL : OpenACS Comment choisir son framework? Utiliser le langage avec lequel vous êtes à l aise Choisir en fonction des fonctionnalités offertes par rapport à votre besoin Communauté et documentation

Utilisation d un frameworkweb Liste et comparatif des frameworksweb sur Wikipédia : http://en.wikipedia.org/wiki/list_of_web_application_frameworks Exemple pour les frameworks ASP.NET Les notions de framework, CMF (Content Management Framework : plateforme de gestion de contenu) et CMS s entrecoupent Les CMS ont beaucoup évolué ces dernières années et concurrencent les frameworks, ex Drupal Liste de CMS sur Wikipédia: http://en.wikipedia.org/wiki/list_of_content_management_systems Liste de CMF sur Wikipédia: http://en.wikipedia.org/wiki/content_management_framework