SYSTÈMES D INFORMATIONS



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

Projet en nouvelles technologies de l information et de la communication

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

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

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

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

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

Utiliser un CMS: Wordpress

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

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

Présentation du Framework BootstrapTwitter

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

Mysql avec EasyPhp. 1 er mars 2006

TP JAVASCRIPT OMI4 TP5 SRC

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Introduction aux concepts d ez Publish

BIRT (Business Intelligence and Reporting Tools)

PDO : PHP Data Object 1/13

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

CREATION WEB DYNAMIQUE

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

Vulnérabilités et sécurisation des applications Web

Compte Rendu d intégration d application

Drupal Développeur. Theming et développement pour Drupal. Une formation Formateur : Fabien Crépin. Drupal Développeur.

CREATION d UN SITE WEB (INTRODUCTION)

Attaques applicatives

PHP 5.4 Développez un site web dynamique et interactif

SITE I NTERNET. Conception d un site Web

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

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

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

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

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

RÉALISATION D UN SITE DE RENCONTRE

Formation Découverte du Web

Manuel d utilisateur 1

les techniques d'extraction, les formulaires et intégration dans un site 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)

HighPush. document /06/2009 Révision pour version /11/2008 Revision pour la /10/2008 Documentation initiale.

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Pratique et administration des systèmes

mon site web via WordPress

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

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

Modules ICI relais & EXAPAQ Predict v4.0

DRUPAL Réalisez des développements professionnels avec PHP (2ième édition)

Guide d implémentation. Réussir l intégration de Systempay

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

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Velo-city Nantes France Mode d emploi pour soumettre votre contribution en ligne. Guide des contributeurs

Comment développer et intégrer un module à PhpMyLab?

Formulaire pour envoyer un mail

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

Créer une base de données vidéo sans programmation (avec Drupal)

INTRODUCTION AU CMS MODX

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

Manuel d utilisation du site web de l ONRN

Formation Website Watcher

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Sécurité des applications web. Daniel Boteanu

Sommaire. 1. Présentation de WordPress. 2. Hébergement et installation. 3. Prise en main, ajouter des contenus

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Content Management System. bluecube. Blue Cube CMS V4.3 par Digitalcube

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

Rapport de projet Site web pour une association

Hébergement de site web Damien Nouvel

Stockage du fichier dans une table mysql:

Guide de configuration

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

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

Technologies Web avancées. ING1 SIGL Technologies Web avancées

KWISATZ MODULE PRESTASHOP

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Cursus 2013 Déployer un Content Management System

Pack Fifty+ Normes Techniques 2013

Normes techniques 2011

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Etude et développement d un moteur de recherche

EXTENSION WORDPRESS. Contact Form 7. Proposé par :

Utilisation avancée de SugarCRM Version Professional 6.5

Manuel du composant CKForms Version 1.3.2

RAPPORT DE STAGE. Terrasse Hugo 1/12

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

Optimiser pour les appareils mobiles

TP 5 Les CMS, la forme et le fond Internet et Outils (IO2)

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

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

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

Support Google Analytics - 1 / 22 -

DOM - Document Object Model

Service On Line : Gestion des Incidents

Nouveautés de Drupal 8. Léon

Transcription:

SYSTÈMES D INFORMATIONS Développement Modx

Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus. Une fois les besoins du site déterminé, il faut alors choisir le CMS qui correspond. A chaque CMS son domaine de compétence. - Wordpress - CMS Made Simple - Magento - Prestashop - Modx - Drupal

Modx Révolution Modx Révolution est un framework permettant de développer toutes sortes de sites internet en dissociant la partie intégration HTML et la partie programmation PHP. Pour faciliter la programmation PHP, Modx possède sa propre classe de fonctions, basée sur le système xpdo (Programmation Data Object). L utilisation des classes Modx apporte un gain de temps pendant le développement d un site, mais cela apporte aussi une couche de sécurité en permettant d éviter différentes attaques telle que les injections SQL.

Les termes à retenir Ressource - Une page du site. Modèle de page / Template - Corps HTML d une page qui permet de mettre en place le gabarit du site. Variable de modèle - Variable personnalisée assignée à un modèle de page. Elle s ajoute aux variables de bases de chaque ressource.

Les termes à retenir Chunk - Morceau de code statique utilisable à tout endroit du site. exemple d appel : [[$monchunk]] Snippet - Morceau de code PHP exécutable à tout endroit du site. exemple d appel : [[monsnippet]] ou [[!monsnippet]] Plugins - Morceau de code PHP assignable à divers évènements du site (sauvegarde d une page, ouverture d un document, connexion au manager, etc...).

Les termes à retenir Les contextes et le multi-site : - Deux contextes de base : le contexte web qui correspond au front office du site et le contexte mng (manager) qui correspond à la partie back office de votre site. L administration Modx. - Il est possible de recréer différents contextes, ce qui permet à Modx de gérer du multisite. L avantage est de pouvoir administrer différents sites qui ont accès à des ressources communes.

Sites utiles - Le RTFM Modx http://rtfm.modx.com/ - Le forum Modx http://forums.modx.com/ - Un site de tutos en français http://toutsurmodx.fr/

Objectifs du cours - Savoir définir les besoins de son site et organiser le développement de celui-ci - Apprendre à maitriser l outil Modx. - Utiliser l API Modx - Utiliser des Add-ons modx - Gérer une base de données

Exemples de snippets disponibles via les extras Partie I

[[!Wayfinder]] Paramètres &startid &level &outertpl &rowtpl ID de la page parent du menu Niveau de profondeur du menu Template du conteneur du menu (défaut : <ul></ul>) Template d un élément du menu Placeholders [[+wf.link]] [[+wf.title]] [[+wf.docid]] [[+wf.description]] [[+wf.wrapper]] [[+wf.classes]] Lien du document Titre du menu ID du document Description du document Sous-menus Différentes classes attribuées par le snippet Source : http://rtfm.modx.com/display/addon/wayfinder

[[!Wayfinder]] Exemple d appel : [[!Wayfinder? &startid=`0` &level=`1` &rowtpl=`rowtpl`]] Exemple de rowtpl : <li [[+classes]] ><a href= [[+wf.link]] title= [[+wf.title]] > [[+wf.linktext]] </a>[[+wf.wrapper]]</li>

[[!formit]] Paramètres &emailtpl Nom du chunk servant de template pour l email envoyé &emailto Destinataire(s) de l email &emailsubject Sujet de l email &submitvar Variable de soumission (un champ du formulaire) &hooks Scripts appelés lors de la soumission (ex: spam, email, redirect,...) &validate Paramètres de validation (ex: nomduchamp:required) Les placeholders du formulaire [[+fi.error.nomduchamp]] Texte d erreur lié au champ [[+fi.nomduchamp]] Valeur du champ en cas de non-validation du formulaire Les placeholders de l email permettant de récupérer les éléments du formulaire [[+nomduchamp]] Source : http://rtfm.modx.com/display/addon/formit

[[!formit]] Exemple d appel Formulaire [[!FormIt? &hooks=`email` &emailtpl=`myemailchunk` &emailto=`user@example.com` &validate=`name:required`]] <form> <fieldset> <label>nom</label> <input type= text name= nom /> <label>prénom</label> <input type= text name= prenom /> <label>email</label> <input type= text name= email /> <span class= error >[[!+fi.error.email]]</span> <button type= submit name= submitcontact >Valider</button> </fieldset> </form> Exemple de template de mail <h1>demande de contact</h1> <p>nom, prénom : [[+nom]] [[+prenom]] </p> <p>email : [[+email]]</p>

[[!getressources]] Paramètres &parents &tpl &depth &limit &sortby &sortdir &includecontent &includetvs ID de la ressource parente Template utilisé pour chaque ressource Niveau de recherche Nombre de ressources retournées Variable de tri Sens du tri : ASC ou DESC inclure le contenu inclure les variables de modèle Placeholders [[+nomduchamp]] [[+tv.nomdelavariable]] Appel d une variable de la ressource Appel d une variable de modèle Source : http://rtfm.modx.com/display/addon/getresources

[[!getressources]] Exemple d appel : [[!getresources? &parents=`[[*id]]` &tpl=`actutpl` &includetvs= 1 ]] Exemple de template <div> <h3>[[+pagetitle]]</h3> <img src= [[+tv.image]] title= [[+pagetitle]] /> <p>[[+publishedon:strtotime:date=`%b %d %Y`]]</p> <p>[[+introtext]]</p> </div>

[[!getpage]] Le snippet getpage permet de réaliser une pagination à partir du rendu d un autre snippet, tel que getressources. Paramètres &element &pagevarkey &limit &pagecount Nom su snippet utilisé pour la pagination Niveau de recherche Nombre de ressources retournées par page Nombre total de page Source : http://rtfm.modx.com/display/addon/getpage

[[!getpage]] Exemple d appel : Pour générer la liste : [[!getpage? &element=`getresources` &parents=`4` &tpl=`actutpl` &includetvs= 1 ]] Pour placer la pagination : <ul>[[+page.nav]]</ul> Exemple de template <div> <h3>[[+pagetitle]]</h3> <img src= [[+tv.image]] title= [[+pagetitle]] /> <p>[[+publishedon:strtotime:date=`%b %d %Y`]]</p> <p>[[+introtext]]</p> </div>

[[!GoogleSiteMap]] Paramètres &allowedtemplate &excluderesources &itemtpl &maxdepth ID des templates autorisé ID des page à exclure Chunk à utiliser pour chaque élément Niveau max de l arborescence à afficher Source : http://rtfm.modx.com/display/addon/getresources

Création d un Espace Membre

ModX permet de gérer facilement les espaces membres et les droits d accès aux pages. La création d un espace membre se fait en plusieurs parties : - La création du groupe de ressources - La création du groupe d utilisateurs - La mise en place du formulaire de connexion

Création d un groupe de ressources Les groupes de ressources se gèrent dans l administration : Onglet sécurité > Groupes de ressources Il est alors possible de créer rapidement ses groupes de ressources et d y assigner des pages web par un glisser déposer depuis l arborescence située sur la droite de la page.

Création d un groupe d utilisateurs - Les groupes d'utilisateurs se gèrent dans l administration : Onglet sécurité > Contrôle des accès - il est alors possible de gérer les groupes d utilisateurs, mais aussi les différents niveaux de rôles au sein du site, les conditions d accès des groupes et les règles d accès. Nous nous intéresserons dans un premier temps uniquement aux groupes d utilisateurs. (La notion de rôle correspond à une hiérarchie entre les utilisateurs, elle revient donc souvent lors de la gestion des droits.) - Après avoir créé un groupe, il faut alors modifier ses différentes propriétées en faisant un clic droit : Mettre à jour le groupe

Création d un groupe d utilisateurs - L onglet utilisateurs permet d ajouter ou de retirer des utilisateurs du groupe. Il est aussi possible de faire cette manipulation directement depuis le profil de l utilisateur. - L accès au contexte permet de définir quel contexte est concerné par ce groupe - Il faut donc créer un accès au contexte voulu avec les conditions d accès Load, List and View - Les accès du groupe d utilisateurs concernent les groupes de ressources auxquels les membres auront accès. - Il faut au minimum créer un accès de type Ressource et un accès de type Load, List and View afin qu ils puissent accéder aux pages. - Les accès aux catégories concernent essentiellement les utilisateurs du manager. Il est ainsi possible de restreindre les accès à certains chunks, snippets ou ressources en fonction de leur catégorie.

Espace de connexion - L espace de connexion sur le site est géré avec le snippet Login (cf les exemples de snippets) - Il suffit donc de placer l appel du snippet de connexion à l endroit voulu, et le reste se fera automatiquement. - Le package Login est composé d autres snippets permettant de gérer différents éléments de l espace membre tels que : - Le mot de passe oublié - L inscription - La mise à jour du profil - La récupération des informations du profil au sein de la page Pour plus d informations : http://rtfm.modx.com/display/addon/login

Utilisation de l API Modx

L API Modx L API Modx est basé sur la librairie xpdo. Elle permet d exploiter toutes les éléments du site sous forme de programmation orientée objet. Elle permet aussi de communiquer avec la base de donnée grâce à des fonctions simplifiées et sécurisées. Vous retrouverez dans les pages suivantes la présentation de différentes fonctions de la librairie ainsi que quelques exemples d utilisation.

API Modx Fonctions générales

regclientcss() regclientcss( url du fichier ) La fonction regclientcss permet d ajouter un fichier CSS lors du chargement de le page. L appel de celui-ci sera placé directement dans le header. exemple : $modx->regclientcss( assets/monmodule/styles.css );

regclientstartupscript() regclientstartupscript( url du fichier ) La fonction regclientscript permet d ajouter un fichier javascript lors du chargement de le page. L appel de celui-ci sera placé directement dans le header. exemple : $modx->regclientstartupscript( assets/monmodule/jquery.js );

regclientscript() regclientscript( url du fichier ) La fonction regclientstartupscript permet d ajouter un fichier javascript lors du chargement de le page. L appel de celui-ci sera placé juste avant la balise de clôture du body. exemple : $modx->regclientscript( assets/monmodule/styles.css );

makeurl() makeurl( ID de la page, Contexte, Arguments, schéma ) La fonction makeurl créera l url d une page à partir de son ID. Le schéma correspond au format de l url générée. exemple : $modx->makeurl(12,,, full ); http://www.monsite.com/page12.html $modx->makeurl(12,,array( user =>1), https ); https://www.monsite.com/page12.html&user=1

getloginuserid() getloginuserid() La fonction getloginuserid retourne l id de la personne actuellement connecté. Elle retourne false si l utilisateur n est pas connecté exemple : $modx->getloginuserid();

API Modx Base de données

Query() Query( requête SQL ) La fonction Query() permet simplement d exécuter une requête SQL dans la base de données. Elle retournera alors un objet qui pourra par la suite être exploité avec d autres fonctions tel que fetch() ou rowcount(). exemple : $res = $modx->query( select * from utilisateurs );

fetch() fetch() La fonction fetch() est un équivalent à la fonction mysql_fetch_array. Elle retourne un tableau contenant associatifs du résultat de la requête SQL effectuée au préalable. exemple : $res = $modx->query( select * from utilisateurs ); $row = $res->fetch(); echo $row[ nom ];

rowcount() rowcount() La fonction rowcount() est un équivalent à la fonction mysql_num_rows. Elle retourne le nombre de résultats correspondant à la requête préalablement exécutée. exemple : $res = $modx->query( select * from utilisateurs ); $nb = $res->rowcount(); echo il y a $nb utilisateurs ;

lastinsertid() lastinsertid() La fonction lastinsertid() retourne la valeur de la clé primaire (en auto incrément) de la dernière insertion dans la base de donnée. exemple : // l exemple retourne l id de l utilisateur créé $modx->query( insert into utilisateurs (nom) values ( Antoine ) ); $id = $modx->lastinsertid();

Création d un module