Introduction au framework Javascript EXT JS

Dimension: px
Commencer à balayer dès la page:

Download "Introduction au framework Javascript EXT JS"

Transcription

1 Introduction au framework Javascript EXT JS Par Gilles Février ( VERSION 1.0 (Mai 2014) 1 / 14

2 Sommaire SOMMAIRE Introduction... 3 Présentation rapide du framework javascript ExtJS...3 Récupération, installation et configuration de ExtJS...4 Premiers pas... 4 La première fenêtre... 5 Notions de base : composant, conteneur et layout...6 Manipulation du DOM... 7 Gestion des événements... 8 Un formulaire Ajax facile... 9 Conclusion L'auteur Contact / 14

3 Introduction Si vous avez déjà été amené à développer une application web interactive, avec une interface utilisateur riche et complexe comprenant des menus, des onglets, des tableaux de données, des formulaires dynamiques, des fenêtres ou des boîtes de dialogue, des widgets... vous vous êtes rendu compte de la difficulté à gérer les différentes couches, à programmer les interactions avec l'utilisateur, le tout en garantissant une compatibilité avec les différents navigateurs... Nous allons découvrir dans ce tutoriel le framework javascript ExtJS qui devrait grandement vous simplifier la vie pour le développement de ce type d'application. Ce framework étant extrêmement riche, nous ne verrons ici que les bases, comment installer, configurer et utiliser ExtJS et nous terminerons par un exemple simple. Présentation rapide du framework javascript ExtJS ExtJS est un framework javascript destiné au développement d'applications web interactives avec une interface riche (RIA). Il fournit un grand nombre de fonctions de manipulation du DOM et de composants visuels d'une grande qualité (formulaires avancés, onglets, boîtes de dialogue, arbres, tableaux, menus...). Il amène également une suite complète d'outils de gestion de l'interface permettant d'avoir un contrôle total sur l'organisation et la manipulation de ses composants. La plupart des widgets sont personnalisables, ce qui permet d'activer ou de désactiver des fonctionnalités et d'utiliser des extensions et des plugins. ExtJS est clairement orienté interface utilisateur et peut être utilisé avec Prototype, Jquery, Mootools ou seul. ExtJS assure la compatibilité avec les navigateurs suivants (HTML5 est utilisé pour les navigateurs les plus récents et des alternatives sont utilisées pour les navigateurs plus anciens) : Internet Explorer 6+, Firefox 3.6+ (PC, Mac), Safari 4+, Chrome 10+, Opera 11+ (PC, Mac). Le framework est développé, maintenu et soutenu par la société Sencha Inc., basée en Californie, ainsi que par une importante communauté, principalement anglophone. La documentation est bien faite, accessible et assez complète (en anglais), et un certain nombre d'exemples clairs sont disponibles. On peut compter également quelques tutoriels en anglais et en français. Trois licences sont disponibles : Une licence commerciale : appropriée si vous voulez utiliser ExtJS pour développer des applications commerciales avec du code source propriétaire, Une licence OEM : appropriée si vous voulez utiliser ExtJS pour créer votre propre SDK sous licence, Une licence Open Source : appropriée si vous voulez utiliser ExtJS pour créer une application open source avec une licence compatible GNU GPL v3. La société Sencha Inc. propose également d'autres produits que nous ne détailleront pas ici (d'autant plus qu'ils existent à la date à laquelle je rédige ce tutoriel, mais ils risquent d'évoluer, peut-être de changer de nom, voir de disparaître) : Sencha Complete : solution complète de développement regroupant divers produits comme Sencha Architect, Sencha ExtJS, Sencha Touch, Sencha Eclipse Plugin, Sencha Touch Charts, Sencha Touch Grid, Sencha Mobile Packaging, Enterprise Data Connectors et Sencha Support Package, Sencha Touch Bundle : suite de développement mobile incluant Sencha Architect, Sencha Touch, Sencha Eclipse Plugin, Sencha Touch Charts, Sencha Touch Grid, et Sencha Support Package, Sencha Touch : framework pour le développement d'applications mobiles (licences commerciale, OEM et open source), Ext JS : bibliothèque javascript pour la création de pages web dynamiques (licence MIT open source), Ext GXT : framework de développement d'applications web pour Google Web Toolkit (licences commerciale, OEM et open source), Ext Architect : éditeur d'ihm pour ExtJS (version d'évaluation et licence commerciale), 3 / 14

4 Ext Animator : framework de création d'animations CSS3, Ext Space : plateforme sécurisée de déploiement d'applications web. Récupération, installation et configuration de ExtJS Le but de ce tutoriel n'étant pas d'apprendre à installer et configurer un serveur web (vous pouvez consulter mon tutoriel traitant de l'installation d'un serveur web de développement sous Linux avec VirtualBox, nous partirons du principe qu'un serveur web avec PHP est disponible. Pour nos exemples, nous utiliserons WAMP (disponible sur le site L'installation d'extjs est on ne peut plus simple. Pour commencer, il vous faut récupérer la dernière version stable d'extjs : Une fois le téléchargement terminé, vous obtenez un fichier compressé. Créez un nouveau répertoire à la racine de votre serveur web "extjs" (par exemple) et décompressez-y le fichier téléchargé. Créez un nouveau répertoire à la racine de votre serveur web, "tutoriel_extjs" par exemple. Vous remarquerez sans doute que le volume décompressé est assez énorme pour une bibliothèque Javascript. Si vous regardez attentivement le contenu du répertoire, vous verrez que vous avez également décompressé des exemples, de la documentation... Bref, un certain nombre d'éléments qui n'auront pas leur place sur un serveur de production mais qui durant la phase d'apprentissage et/ou de développement vous seront bien utiles. Quelques éléments importants à retenir : Le fichier ext-all-debug.js : contient le code source non compressé de la bibliothèque ExtJS, à utiliser en développement. Le fichier ext-all.js : contient le code source compressé de la bibliothèque ExtJS, à utiliser en production. C'est l'intégralité du framework qui sera chargé la première fois. Le fichier ext.js : contient le code de base qui chargera dynamiquement les composants en fonction des besoins. Le chargement sera plus rapide dans un premier temps, mais pourra ralentir l'application par la suite en fonction des composants à charger. Voila, ExtJS est prêt à être utilisé! Premiers pas... Dans le répertoire destiné à accueillir nos fichiers sur le serveur web, nous allons créer un répertoire et deux fichiers : répertoire "js" : contiendra le ou les fichiers Javascript nous permettant de manipuler les composants ExtJS, "index.html" : ce fichier chargera la bibliothèque ExtJS, "js/test_extjs_1.js" : fichier qui contiendra tout notre code Javascript. Dans le fichier "index.html", nous allons inclure les fichiers nécessaires à ExtJS : <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>introduction à ExtJS</title> <!-- Chargement de ExtJS --> <script type="text/javascript" src="../extjs/ext-all-debug.js"></script> <!-- Chargement des fichiers CSS --> <link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css"> <!-- Chargement du code source de l'application --> <script type="text/javascript" src="js/test_extjs_1.js"></script> 4 / 14

5 </head> <body> </body> </html> La première ligne est l'inclusion du fichier source principal de ExtJS qui contient le cœur de la bibliothèque. La deuxième ligne est l'inclusion du fichier de styles utilisé par défaut. Éditez maintenant le fichier "test_extjs_1.js" et ajoutez les lignes suivantes : // Initialisation de l'application lorsque le DOM est complètement chargé Ext.onReady(function(){ alert('extjs est correctement configuré!'); ); Nous appelons ici "Ext.onReady". C'est sans doute la première méthode qui sera appelée dans vos applications. Les instructions comprises dans cette méthode seront automatiquement exécutées lorsque le DOM sera entièrement chargé. Cela nous garanti que l'intégralité des éléments présents dans la page seront disponibles au moment où ce code sera exécuté. Ouvrez la page «index.html» dans votre navigateur, vous obtenez le résultat suivant : Comme on peut le voir, le rendu du message généré par la fonction "alert" n'est déjà plus celui de base. Remplacez maintenant la ligne "alert" par la ligne suivante : Ext.MessageBox.alert('Information','Extjs4 est prêt'); Actualisez la page «index.html», le rendu n'est plus tout à fait le même : Sans aucune peine, nous avons maintenant une boîte de dialogue nettement plus jolie que la précédente! La première fenêtre Maintenant que l'on sait que la bibliothèque est correctement configurée, nous allons voir comment créer une fenêtre. Remplacer le contenu du fichier "test_extjs_1.js" par le code suivant : 5 / 14

6 // Déclaration de la fonction permettant de créer un objet fenêtre function mafenetre() { // On instancie un objet ExtJS Window var fenetre = new Ext.Window({ id : 'mafenetre', // Identifiant pour le DOM title : 'Ma première fenêtre ExtJS', // Titre qui sera affiché width : 350, // Largeur de la boîte de dialogue height : 100, // Hauteur de la boîte de dialogue layout : 'fit', // Layout utilisé ("fit" = prend toute la place disponible autoload : { // Lorsque l'objet est créé, chargement Ajax automatique... url : 'fenetre.html', //... de la page "fenetre.html" scripts : true ); fenetre.show(); // Affichage de la fenêtre // Exécution de la fonction "mafenetre" lorsque le DOM est entièrement chargé Ext.onReady(maFenetre); Nous définissons ici la fonction "mafenetre" qui va ensuite être passée en paramètre à la méthode "Ext.onReady" pour être exécutée au chargement de la page. Dans cette fonction, nous créons une nouvelle instance d'un objet "Ext.Window" que nous appelons "fenetre". Nous lui passons un objet de configuration (nous verrons que l'on utilise très souvent les objets de configuration qui seront la clé de la programmation avec ExtJS) contenant toutes les propriétés dont nous avons besoin : id : identifiant grâce auquel notre fenêtre pourra être référencée dans le DOM par la suite, title : titre de la fenêtre, width : largeur en pixels de la fenêtre, height : hauteur en pixels de la fenêtre, layout : défini le "layout" utilisé dans la fenêtre pour gérer l'affichage des éléments qu'elle pourra contenir (voir le chapitre sur les notions de base). Le layout "fit" permet de s'assurer que les éléments qui seront contenus dans la fenêtre occuperont toute la place disponible. autoload : cet objet de configuration (oui, encore un) indique à la fenêtre qu'elle doit par défaut, dès qu'elle est prête, charger automatiquement le contenu du fichier spécifié dans la propriété "url". Une fois la fenêtre créée, il faut l'afficher. C'est le rôle de la méthode "show()". Il faut également créer le fichier "fenetre.html" qui doit être affiché dans notre fenêtre. Il ne contiendra qu'une seule ligne de code : <!-- Contenu HTML du fichier "fenetre.html" qui sera chargé dans la fenêtre --> <div>ma première fenêtre avec ExtJS.</div> Appelez de nouveau la page "index.html" dans votre navigateur. Vous obtenez le résultat suivant : Notions de base : composant, conteneur et layout Les composants ("component") et les conteneurs ("container") sont la clé de la gestion des interfaces utilisateurs avec ExtJS. Le composant défini la façon dont les widgets sont instanciés, affichés, et détruits. Tous les composants héritent de la classe "Component". Par exemple, tous les éléments visuels de l'interface utilisateur utilisent le 6 / 14

7 composant "Element" ("Ext.Element"), dont nous verrons quelques exemples plus loin, ce qui en fait le composant le plus utilisé par le cœur du framework. Le conteneur est une zone de la page pouvant contenir des éléments visuels ou d'autres conteneurs. Il contrôle la façon dont les widgets peuvent gérer leurs propres enfants. Tous les conteneurs héritent de la classe "Container". Un exemple classique de conteneur est le Panel (conteneur de base dont plusieurs autres héritent tels que GridPanel (pour les tableaux de données), FormPanel (pour les formulaires)... Le layout contrôle l'affichage des éléments enfants d'un conteneur. Par défaut (si on ne spécifie pas de layout), les éléments sont simplement affichés les uns en dessous des autres. On associe un layout à un conteneur. Les différents layout sont les suivants : Absolute : permet de positionner les panneaux à une position précise à l'aide de coordonnées x et y, Accordion : permet d'empiler les panneaux sous forme d'accordéon de façon à ce qu'un seul soit visible à la fois, Anchor : permet de dimensionner les panneaux en fonction d'un pourcentage de la largeur et/ou de la hauteur de la page, Border : permet de découper le conteneur en cinq régions maximum (north, east, west, south et center). Seule la région "center" est obligatoire, Card : permet d'afficher plusieurs éléments superposés, chacun occupant toute la place libre (des boutons "précédent" et "suivant" permettant généralement de passer d'un élément à l'autre), Column : permet de répartir le contenu sur plusieurs colonnes, Fit : l'élément présent dans le conteneur occupe toute la place disponible, Table : permet d'organiser les éléments dans une table HTML, Hbox : permet d'arranger horizontalement plusieurs éléments, VBox : permet d'arranger verticalement plusieurs éléments. Manipulation du DOM Dans une application web, vous êtes forcément amené à manipuler le DOM, dont le plus petit objet et l'élément HTML. L'accès au DOM par le Javascript permet facilement de modifier un élément, de changer son style, de le supprimer, d'en ajouter... La méthode classique en Javascript pour accéder à un élément du DOM est la suivante : var mydiv = document.getelementbyid('mondivid'); La méthode getelementbyid est suffisante pour effectuer des tâches simples comme modifier le contenu de la propriété innerhtml ou modifier la classe css d'un élément. Mais quand il s'agit d'effectuer des tâches plus complexes comme la gestion des événements, c'est tout de suite plus difficile, ne serait-ce que pour assurer la compatibilité entre navigateurs. L'objet Ext.Element est au cœur du framework et joue un rôle primordial dans son fonctionnement. Il permet d'accéder aux éléments de la page et d'agir sur ceux-ci. La classe Ext.Element fournit un ensemble complet d'outils permettant de gérer le DOM. Ajoutons la déclaration de styles dans le «head» de la page «index.html» : <!-- Style utilisé pour le "div" --> <style type="text/css">.mondiv { border: 1px solid #AAAAAA; width: 200px; height: 35px; cursor: pointer; padding: 2px 2px 2px 2px; margin: 2px 2px 2px 2px; </style> 7 / 14

8 Ajoutons le code suivant dans le "body" de la page "index.html" : <!-- Déclaration du "div" qui sera manipulé avec ExtJS --> <div id='div1' class='mondiv'> </div> On définit un élément de type "div" de taille 200 x 35 pixels avec une bordure. Voyons quelques exemples de manipulations simples de cet élément. Remplacer le contenu du fichier "test_extjs_1.js" par le code suivant : // Exécution automatique des instructions à la fin du chargement du DOM Ext.onReady(function() { var mondiv1 = Ext.get('div1'); // On récupère une référence à l'élément"div1" mondiv1.setheight(200); // On définit sa nouvelle hauteur : 200 pixels mondiv1.setsize(350, 350, {duration: 1, easing:'bounceout'); // On définit ses nouvelles dimensions, 350 x 350 pixels, avec un effet de transition pour sa transformation ); Que se passe-t-il lorsque l'on recharge la page? Si on analyse le code source ci-dessus, on distingue trois opérations : 1. Appel de la méthode Ext.get : cette méthode renvoie une instance de Ext.Element correspondant à l'élément dont l'identifiant est "div1". A partir de là, il est facile de le manipuler. 2. Appel de la méthode setheight : on redéfinit la hauteur de l'élément à 200 pixels. Nous avons maintenant un carré. 3. Appel de la méthode setsize : cette fois, on redéfinit à la fois la hauteur et la largeur de l'élément (350 x 350 pixels), en ajoutant un effet de transition (il suffit d'omettre le dernier argument pour supprimer l'animation). Après l'exécution du script, on obtient un carré de 350 pixels de côté. L'objet Ext.Element comporte un grand nombre de méthodes permettant de manipuler le DOM. Il est impossible de les énumérer ici. Le mieux est de vous rendre sur la documentation en ligne de l'api pour vous rendre compte de la puissance de cet objet. Parfois, il est impossible de sélectionner des nœuds du DOM par leurs ID parce qu'ils ne sont pas connus. Il est alors possible de se baser sur un attribut ou un nom de classe CSS. Le sélecteur ExtJS DomQuery est là pour ça. //Surligne tous les éléments de type "p" (paragraphes) Ext.select('p').highlight(); L'instruction ci-dessus permet d'appliquer la méthode highlight (surlignage du paragraphe) à tous les paragraphes de la page. Gestion des événements L'une des tâches les plus complexes dans le développement d'une application web est la gestion des événements. Il est indispensable de comprendre le fonctionnement des événements si l'on veut développer une interface riche. Par exemple, comment faire pour afficher un menu contextuel sur un tableau de données lorsque l'utilisateur utilise le clic droit de la souris sur une ligne? Il suffit de mettre en place un gestionnaire d'événement pour l'événement rowcontextmenu, qui créera et affichera le menu contextuel. Les événements peuvent provenir d'une action de l'utilisateur ou de l'application elle-même. La solution basique consiste à attacher un "listener" directement aux éléments HTML, comme l'attribut onclick. <!-- Gestion de l'événement "onclick" à l'ancienne --> <div id="div1" onclick="alert(this.id + ' Clic!');">Cliquez ici</div> Lorsque l'utilisateur clique sur l'élément "div1", un message d'alerte est affiché " div1 clic!". 8 / 14

9 L'inconvénient de cette méthode, standardisée par Netscape il y a des années, est qu'elle implique une dépendance entre le HTML et le Javascript, augmentant la complexité de maintenance du code. ExtJS fournit toutes les fonctionnalités nécessaires à une gestion avancée des événements. //Gestion de l'événement "onclick" avec ExtJS Ext.get('div1').on('click', function(eventobj, elref) { // On déclare le "listener" sur "div1" pour l'événement "click" alert('clic sur div1 : ' + elref.id); // Code à exécuter lorsque l'utilisateur clique sur "div1" ); La méthode Ext.get permet de récupérer une référence à l'élément "div1". La méthode on permet de déclarer un "listener" sur l'événement "click" sur l'élément "div1". Lorsque l'utilisateur clique sur l'élément "div1", la fonction déclarée dans le "listener" est exécutée (elle accepte comme paramètres l'événement et la référence de l'élément) : un message d'alerte est affiché. Un formulaire Ajax facile Le formulaire est un élément incontournable dans une application web. Il y a deux pratiques courantes pour échanger des informations entre le navigateur et le serveur. La première, "à l'ancienne", consiste à soumettre le contenu d'un formulaire de façon classique : les données sont envoyées au serveur et la page complète est rechargée avec le résultat. La seconde, beaucoup plus élégante et pratique, consiste à utiliser un appel Ajax pour effectuer la même opération. Un objet XMLHttpRequest est utilisé pour échanger les données avec le serveur, DOM et Javascript sont utilisés pour modifier les informations contenues dans la page en fonction de la réponse obtenue. Les formats XML, texte ou JSON peuvent être utilisés pour structurer les informations échangées. La page n'est pas rechargée. Pour illustrer la simplicité d'utilisation d'ajax avec ExtJS, nous allons créer un formulaire. Il contiendra trois champs : Nom : un champ texte permettant de saisir une chaîne de caractères, Prénom : idem, Age : un champ permettant de saisir un nombre compris entre 1 et 99. Nous aurons un bouton "Envoyer" permettant de déclencher l'échange de données avec le serveur. Nous allons reprendre notre fichier "index.html" et supprimer tout ce qu'il y a entre les balises "<body>" et "</body>", et modifier le nom du fichier Javascript que nous allons charger. <script type="text/javascript" src="js/test_extjs_ajax.js"></script> Nous allons ensuite créer le fichier "test_extjs_ajax.js" et y copier le code suivant : // Code exécuté lorsque le DOM est entièrement chargé Ext.onReady(function() { // Clic sur le bouton "Envoyer" : gestion de l'envoi du contenu du formulaire // Création du gestionnaire d'événement associé au bouton "Envoyer" var btnenvoyerhandler = function() { // (2) // On vérifie si les valeurs saisies respectent les contraintes définies pour les champs 9 / 14

10 les données if ( Ext.getCmp('nom').validate() == true) { // Validation du champ // On récupère une référence à l'élement "formulaire" var formpanel = Ext.getCmp('formulaire'); // On applique un masque au formulaire (qui devient grisé) avec un message d'attente formpanel.el.mask('traitement des données...', 'x-mask-loading'); // Envoi des données du formulaire formpanel.getform().submit({ url : 'traitement.php', // Url vers laquelle sont envoyées ); success : resultattraitement, failure : resultattraitement // Gestionnaire utilisé en cas de succès // Gestionnaire utilisé en cas d'échec // Gestion du retour de l'envoi du contenu du formulaire // Création de la fonction gérant le retour de l'appel Ajax var resultattraitement = function(form, action) { // (3) var formpanel = Ext.getCmp('formulaire'); // On récupère une référence à notre formulaire // On supprime le masque appliqué au formulaire (qui redevient disponible) par le gestionnaire d'événements lors du clic formpanel.el.unmask(); var result = action.result; // On récupère le résultat // Si on récupère "success : true" dans le retour Ajax if (result.success) { // Affichage d'une boîte de dialogue à l'utilisateur Ext.MessageBox.alert('Traitement terminé', result.msg); else { // Affichage d'une boîte de dialogue à l'utilisateur Ext.MessageBox.alert('Echec', result.msg); // Création du formulaire // Création d'un objet "FormPanel" pour la gestion des éléments du formulaire var fp = new Ext.form.FormPanel({ // (1) renderto : Ext.getBody(), // Le formulaire sera affiché dans le <body> width : 350, // Largeur du formulaire height : 150, // Hauteur du formulaire title : 'Mon formulaire Ajax', // Titre affiché dans la barre de titre id : 'formulaire', // Identifiant du formulaire pour le DOM frame : true, // Affichage avec des coins arrondis labelwidth : 126, // Largeur des libellés des champs defaulttype : 'textfield', // Les objets seront traités comme des champs texte items : [ // Liste des champs du formulaire { // Objet de type "TextField" champ "Nom" fieldlabel : 'Nom ', // Champ texte "Nom" id : 'nom', // Identifiant pour le DOM allowblank : false, // Valeur vide interdite (champ obligatoire) blanktext : 'Ce champ est obligatoire.' // Texte affiché après une validation si le champ est vide, { // Objet de type "TextField" champ "Prénom" fieldlabel : 'Prénom ', // Champ texte "Prénom" id : 'prenom' // Identifiant pour le DOM, { // Objet de type "NumberField" champ "Age" fieldlabel : 'Age ', // Champ numérique "Age" id : 'age', // Identifiant pour le DOM xtype : 'numberfield', // Type "NumberField" / champ numérique minvalue : 1, // Valeur minimum acceptée (pour la validation) maxvalue : 99 // Valeur maximum acceptée (pour la validation) ], buttons : [ // Liste des boutons { // Objet de type "Button" bouton "Envoyer" text : 'Envoyer', // Libellé id : 'btnenvoyer', // Identifiant pour le DOM handler : btnenvoyerhandler // Gestionnaire d'événements ] ); 10 / 14

11 ); Analysons ensemble le code source de notre formulaire. L'ensemble du code est placé dans la méthode Ext.onReady. De cette façon, il sera automatiquement exécuté lorsque le DOM sera totalement chargé. L'instruction var fp = new Ext.form.FormPanel (1) permet d'instancier un objet conteneur de type FormPanel. Il servira à regrouper tous les champs de notre formulaire. Nous définissons sa largeur, sa hauteur, son titre, son id et la propriété renderto nous permet d'indiquer qu'il sera affiché dans le "body" de la page. La propriété labelwidth nous permet de fixer la largeur des libellés des champs à 126 pixels. La liste des champs du formulaires est définie dans le tableau d'objets items. Les deux premiers "Nom" et "Prénom" sont des champs texte. La propriété defaulttype ayant la valeur textfield (indiquant que le type de champ par défaut du formulaire est text), il n'est pas nécessaire de donner plus de précisions. Pour le champ "Nom", les propriétés suivantes sont ajoutées : allowblank : false : indique que le champ ne peut être vide, blanktext : 'Ce champ est obligatoire.' : détermine le message à afficher si le champ est laissé vide. Ces deux propriétés servent à la validation automatique du formulaire. Le dernier champ, "Age" a lui aussi quelques propriétés supplémentaires : xtype : 'numberfield' : indique qu'il s'agit d'un champ numérique. La propriété xtype permet de simplifier la création de formulaires avec des champs ayant un type particulier (numérique, date, ...). Un certain nombre de comportements sont pris en compte automatiquement par ExtJS, ce qui fait d'autant moins de code à écrire. minvalue : 1 : indique que le champ n'accepte pas de valeur inférieure à 1. maxvalue : 99 : indique que le champ n'accepte pas de valeur supérieure à 99. Ces propriétés servent également à la validation automatique du formulaire. Un bouton "Envoyer" est ajouté à la fin du formulaire. On définit son libellé (text), son id (id) et on lui associe un gestionnaire d'événements (handler), en l'occurrence btnenvoyerhandler. C'est ce gestionnaire qui sera appelé automatiquement lorsque l'utilisateur cliquera sur le bouton. De nombreuses autres propriétés sont disponibles pour personnaliser la configuration du conteneur, du formulaire et de ses champs. Il est impossible de toutes les détailler ici. Je vous recommande de consulter la documentation en ligne très bien faite. Voyons maintenant à quoi ressemble notre formulaire, sympathique non? Nous n'avons presque pas écrit de fonctions mais principalement décrit les propriétés du formulaire. Et pourtant, nous avons un rendu plutôt sympathique, une validation simple, et la possibilité d'envoyer le contenu du formulaire au serveur en Ajax. C'est là une des grandes forces du framework! Nous avons une validation basique pour notre formulaire : nous avons défini que le champ "Nom" était obligatoire (allowblank : false) et que le champ "Age" devait être un nombre compris entre 1 et 99 (xtype : 'numberfield', minvalue : 1, maxvalue : 99). 11 / 14

12 Si le champ "Nom" n'est pas renseigné, on obtient le résultat suivant : Le champ invalide est indiqué en rouge et une information est affichée au survol de la souris (son emplacement et son apparence sont personnalisables). Si vous essayez de saisir autre chose qu'un nombre entre 1 et 99 dans le champ "Age", la saisie n'est pas prise en compte. Comme il s'agit d'un champ de type "numberfield", sans plus de code, nous avons automatiquement des flèches permettant d'incrémenter ou de décrémenter sa valeur. Voyons maintenant comment envoyer les données du formulaire au serveur... Dans la description du bouton, nous avons défini une propriété handler. Il s'agit du nom du gestionnaire d'événements que nous souhaitons associer au bouton "Envoyer". Ce gestionnaire d'événements btnenvoyerhandler est défini en (2). L'instruction Ext.getCmp('nom').validate() permet de valider le champ "Nom" à partir des propriétés que nous avons définies. Si le contenu du champ ne remplit pas les conditions définies dans la configuration, la méthode renvoie false. var formpanel = Ext.getCmp('formulaire'); nous permet de récupérer une référence à notre formulaire. formpanel.el.mask('traitement des données...', 'x-mask-loading'); affiche un masque sur le formulaire durant le transfert des données et en attendant le traitement du résultat. formpanel.getform().submit({...); déclenche l'envoi du formulaire en mode Ajax. Les paramètres suivants sont définis : url : 'traitement.php' indique l'url vers laquelle sont envoyées les données. success : resultattraitement indique le nom de la fonction à exécuter en cas de succès. failure : resultattraitement indique le nom de la fonction à exécuter en cas d'échec. Nous voyons donc qu'un clic sur le bouton "Envoyer" déclenche la transmission des données vers la page "traitement.php". Pour l'instant, elle n'existe pas, il nous faut donc la créer. Tout ce que nous voulons pour l'instant, c'est vérifier la façon dont les échanges entre le client et le serveur se passent. Le fichier "traitement.php" ne contiendra donc que très peu de choses. <?php // Chaîne au format JSON renvoyée par le script qui sera traitée par la fonction Javascript "resultattraitement" echo "{success: true, msg : 'Les informations ont été traitées.'"; Nous renvoyons ici une réponse au format JSON. 12 / 14

13 La réponse contient deux informations : success : indique si le traitement a fonctionné (conditionne la partie du code exécutée à la réception de la réponse côté navigateur), msg : message que l'on affichera à l'utilisateur. Ceci n'est bien entendu qu'un exemple très simple. Le script PHP pourrait très bien interroger une base de données, effectuer des calculs... et renvoyer une réponse au format JSON (la fonction json_encode sera alors bien utile...). Nous avons vu comment valider les données, les envoyer à un traitement côté serveur, il nous faut maintenant traiter la réponse. C'est la fonction resultattraitement qui va le faire. Nous lui avons associé ce rôle dans la déclaration success : resultattraitement. L'instruction var result = action.result; nous permet de récupérer le résultat en provenance du fichier "traitement.php". On accèdera à tous les éléments de ce résultat par leur nom : result.success : va nous renvoyer true. result.msg : va nous renvoyer la chaîne de caractères "Les informations ont été traitées." En fonction du résultat, nous allons afficher un message différent. Comme ici, result.success vaut true, nous allons exécuter le code suivant : Ext.MessageBox.alert('Traitement terminé', result.msg); Le résultat final est le suivant : Conclusion ExtJS est complètement orienté développement d'application web riches et peut-être moins adapté à la création de sites web plus grand public. Mais utilisé dans le cadre pour lequel il est fait, il vous permettra de créer et de déployer une application web riche rapidement et simplement. Avec un peu d'expérience, vos scripts resteront simples, clairs et légers et vous gagnerez énormément en productivité. Nous n'avons fait ici que survoler le framework, effleurer ses possibilités. Vous savez l'installer, utiliser quelques fonctionnalités de base, afficher une boîte de dialogue, créer une fenêtre, un formulaire, envoyer les données et récupérer les résultats en utilisant Ajax. Dans un prochain tutoriel, nous irons un peu plus loin en regardant comment développer une petite application web simple permettant de consulter et de manipuler des informations en provenance d'une base de données et en utilisant des fonctions avancées pour construire l'interface. Vous retrouverez les codes sources présentés dans ce document à l'adresse suivante : 13 / 14

14 L'auteur... Diplômé de l'université de Technologie de Compiègne (UTC, promotion 1997), je travaille comme Ingénieur de Développement pour la société Bull depuis J'ai été amené à travailler sur différents projets (allant d'un seul développeur à une équipe d'une quinzaine de personnes) un peu partout en France, beaucoup pour des clients publics (Bibliothèque Nationale de France, Ministère de l'intérieur, Direction Générale des Impôts, Ministère de l'éducation nationale...) et des sociétés ou des entités chargées de services publics (CNAMTS, EDF...). La grande majorité des projets sur lesquels j'ai travaillé portaient sur des applications web apportant des fonctionnalités liées au métier, et très peu des sites web plus «traditionnels». Je suis certifié Zend PHP 5.3, membre de l'afup, et je m'intéresse à tout ce qui touche à l'écosystème PHP, et web de façon plus générale. Contact LinkedIn : Viadeo : 14 / 14

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

Plus en détail

Freeway 7. Nouvelles fonctionnalités

Freeway 7. Nouvelles fonctionnalités ! Freeway 7 Nouvelles fonctionnalités À propos de ce guide... 3 Nouvelles fonctionnalités en un coup d'oeil... 3 À propos de la conception d'un site web réactif... 3 Travailler avec les pages pour créer

Plus en détail

Le meilleur de l'open source dans votre cyber cafe

Le meilleur de l'open source dans votre cyber cafe Le meilleur de l'open source dans votre cyber cafe Sommaire PRESENTATION...1 Fonctionnalités...2 Les comptes...3 Le système d'extensions...4 Les apparences...5 UTILISATION...6 Maelys Admin...6 Le panneau

Plus en détail

Utilisation de l éditeur.

Utilisation de l éditeur. Utilisation de l éditeur. Préambule...2 Configuration du navigateur...3 Débloquez les pop-up...5 Mise en évidence du texte...6 Mise en évidence du texte...6 Mise en page du texte...7 Utilisation de tableaux....7

Plus en détail

Manuel du composant CKForms Version 1.3.2

Manuel du composant CKForms Version 1.3.2 Manuel du composant CKForms Version 1.3.2 Ce manuel vous présente les principales fonctionnalités du composant CKForms y compris le module et le plug-in CKForms 1.3 est la nouvelle version du composant

Plus en détail

Google Drive, le cloud de Google

Google Drive, le cloud de Google Google met à disposition des utilisateurs ayant un compte Google un espace de 15 Go. Il est possible d'en obtenir plus en payant. // Google Drive sur le web Se connecter au site Google Drive A partir de

Plus en détail

Nouveautés joomla 3 1/14

Nouveautés joomla 3 1/14 Nouveautés joomla 3 1/14 Table des matières 1 Responsive... 1 2 Bootstrap... 1 3 LESS CSS intégré... 1 4. JUI (pour les développeurs d'extensions)... 1 5. Le Mambo days vs le Génial UX... 2 6. 7 étapes

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

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

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

Plus en détail

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

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

Plus en détail

Tutoriel : Feuille de style externe

Tutoriel : Feuille de style externe Tutoriel : Feuille de style externe Vous travaillerez à partir du fichier cerise.htm que vous ouvrirez dans NVU. Commencez par remplacer le contenu de la balise Title par : Comment débuter une recherche?

Plus en détail

Notes pour l utilisation d Expression Web

Notes pour l utilisation d Expression Web EICW Formation Webmaster Notes pour l utilisation d Expression Web G. Barmarin 2008-2009 1 /21 Table des matières 1 Introduction... 3 2 Installer Expression Web... 4 3 Explorer et personnaliser l interface

Plus en détail

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran dossier par Clochar SOMMAIRE 1. LES RESOLUTIONS d'ecran... 1 2. RESOLUTION de l écran et choix de la TAILLE DE LA PAGE... 2 3. AGRANDISSEMENT

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration CMS Made Simple Version 1.4 Jamaica Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL. Tutoriel utilisateur Récapitulatif Administration Le système de gestion de contenu

Plus en détail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Desktop. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Desktop Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense,

Plus en détail

Débuter avec OOo Base

Débuter avec OOo Base Open Office.org Cyril Beaussier Débuter avec OOo Base Version 1.0.7 Novembre 2005 COPYRIGHT ET DROIT DE REPRODUCTION Ce support est libre de droit pour une utilisation dans un cadre privé ou non commercial.

Plus en détail

1. Installation du Module

1. Installation du Module 1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de

Plus en détail

Introduction à Expression Web 2

Introduction à Expression Web 2 Introduction à Expression Web 2 Définitions Expression Web 2 est l éditeur HTML de Microsoft qui répond aux standard dew3c. Lorsque vous démarrez le logiciel Expression Web 2, vous avez le choix de créer

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

Extension WebEx pour la téléphonie IP Cisco Unified

Extension WebEx pour la téléphonie IP Cisco Unified Extension WebEx pour la téléphonie IP Cisco Unified Guide d utilisation Version 2.7 Copyright 1997 2010 Cisco et/ou ses affiliés. Tous droits réservés. Cisco, WebEx et Cisco WebEx sont des marques déposées

Plus en détail

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Installation d'une galerie photos Piwigo sous Microsoft Windows. Installation d'une galerie photos Piwigo sous Microsoft Windows. By ARNOULD Julien Introduction : Piwigo est un logiciel de galerie photo pour le web, bâti autour d'une communauté active d'utilisateurs

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4 MAILING Table des matières KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4 INSERER UNE IMAGE (OU UNE PHOTO) PAS DE COPIER / COLLER... 5 INSERER UN TABLEAU...

Plus en détail

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

Formation Webmaster : Création de site Web Initiation + Approfondissement Contactez notre équipe commerciale au 09.72.37.73.73 Aix en Provence - Bordeaux - Bruxelles - Geneve - Lille - Luxembourg - Lyon - Montpellier - Nantes - Nice - Paris - Rennes - Strasbourg - Toulouse Formation

Plus en détail

Votre site Internet avec FrontPage Express en 1 heure chrono

Votre site Internet avec FrontPage Express en 1 heure chrono 1.1. Précautions préliminaires Votre site Internet avec FrontPage Express en 1 heure chrono Le contenu de ce site n'est pas très élaboré mais il est conçu uniquement dans un but pédagogique. Pour débuter,

Plus en détail

Cyberclasse L'interface web pas à pas

Cyberclasse L'interface web pas à pas Cyberclasse L'interface web pas à pas Version 1.4.18 Janvier 2008 Remarque préliminaire : les fonctionnalités décrites dans ce guide sont celles testées dans les écoles pilotes du projet Cyberclasse; il

Plus en détail

Manuel d utilisation email NETexcom

Manuel d utilisation email NETexcom Manuel d utilisation email NETexcom Table des matières Vos emails avec NETexcom... 3 Présentation... 3 GroupWare... 3 WebMail emails sur internet... 4 Se connecter au Webmail... 4 Menu principal... 5 La

Plus en détail

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs Dans la série Les tutoriels libres présentés par le site FRAMASOFT Automatisation d'une Facture 4 Liste Déroulante Remises Case à cocher Calculs Logiciel: Version: Licence: Site: OpenOffice.org Calc :

Plus en détail

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe : 1 CONNEXION A LA MESSAGERIE ZIMBRA PAR LE WEBMAIL Ecran de connexion à la messagerie Rendez vous dans un premier temps sur la page correspondant à votre espace webmail : http://webmailn.%votrenomdedomaine%

Plus en détail

MODULES 3D TAG CLOUD. Par GENIUS AOM

MODULES 3D TAG CLOUD. Par GENIUS AOM MODULES 3D TAG CLOUD Par GENIUS AOM 1 Sommaire I. INTRODUCTIONS :... 3 II. INSTALLATION MANUELLE D UN MODULE PRESTASHOP... 3 III. CONFIGURATION DU MODULE... 7 3.1. Préférences... 7 3.2. Options... 8 3.3.

Plus en détail

Dans cette Unité, nous allons examiner

Dans cette Unité, nous allons examiner 13.0 Introduction Dans cette Unité, nous allons examiner les fonctionnements internes d une des plateformes de publication web les plus largement utilisées de nos jours sur l Internet, WordPress. C est

Plus en détail

Assistance à distance sous Windows

Assistance à distance sous Windows Bureau à distance Assistance à distance sous Windows Le bureau à distance est la meilleure solution pour prendre le contrôle à distance de son PC à la maison depuis son PC au bureau, ou inversement. Mais

Plus en détail

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos. KompoZer Créer un site «simple» Composition du site : _ une page d'accueil : index.html _ une page pour la théorie : theorie.html _ une page pour les photos : photos.html _ une page avec la galerie : galerie.html

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5 SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5 5 ADMINISTRER SON SITE WEBGAZELLE CMS 2.0 5 5.1 Configuration minimale

Plus en détail

Un serveur web, difficile?

Un serveur web, difficile? Un serveur web, difficile? Belle question, mais d'abord qu'est-ce qu'un serveur web et à quoi cela peut-il servir? C'est un ensemble de programmes qui sont installés sur un ordinateur et qui servent à

Plus en détail

Guide de réalisation d une campagne e-mail marketing

Guide de réalisation d une campagne e-mail marketing Guide de réalisation d une campagne e-mail marketing L ère des envois d e-mails en masse est révolue! Laissant la place à une technique d e-mail marketing ciblé, personnalisé, segmenté et pertinent. La

Plus en détail

Éditeur WordPress. Illustration 1. Kerniolen 56400 Pluneret Tel : 02 97 57 76 55 Mob : 06 11 33 30 11 info@formation-auray.fr www.formation-auray.

Éditeur WordPress. Illustration 1. Kerniolen 56400 Pluneret Tel : 02 97 57 76 55 Mob : 06 11 33 30 11 info@formation-auray.fr www.formation-auray. Kerniolen 56400 Pluneret Tel : 02 97 57 76 55 Mob : 06 11 33 30 11 info@formation-auray.fr www.formation-auray.fr Bureautique Gestion commerciale Images Sites Internet Éditeur WordPress Introduction Ce

Plus en détail

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise Possibilités : Gestion des rendez-vous/appels Gestion des e-mails Gestion des stocks Gestion des ventes Enregistrement des

Plus en détail

Internet : Naviguer en toute sérénité

Internet : Naviguer en toute sérénité Internet 01 Mozilla Firefox Internet : Naviguer en toute sérénité Tutoriel Pratique 2 : «Internet : naviguer en toute sérénité» Durée de la séance : 2h tout public prérequis : - Connaître et utiliser les

Plus en détail

Alfresco Guide Utilisateur

Alfresco Guide Utilisateur Alfresco Guide Utilisateur ATELIER TECHNIQUE DES ESPACES NATURELS - 1 Table des matières Alfresco Guide Utilisateur...1 Accéder à la GED de l'aten...3 Via un client FTP...3 Onglet Général...3 Onglet Avancé...3

Plus en détail

GUIDE DE DÉMARRAGE RAPIDE

GUIDE DE DÉMARRAGE RAPIDE GUIDE DE DÉMARRAGE RAPIDE Bienvenue dans SugarSync. Ce guide explique comment installer SugarSync sur votre ordinateur principal, configurer vos dossiers à synchroniser dans le cloud SugarSync. et utiliser

Plus en détail

Formation. Module WEB 4.1. Support de cours

Formation. Module WEB 4.1. Support de cours Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,

Plus en détail

Créer un modèle Impress

Créer un modèle Impress Auto-formation sur OpenOffice.org 2.0 par Cyril Beaussier Version 1.0.24 - Janvier 2006 Créer un modèle Impress Sommaire Introduction... 2 Présentation... 3 Création du modèle... 4 Passage en mode Masque...

Plus en détail

Comment accéder à d Internet Explorer

Comment accéder à d Internet Explorer Comment accéder à d Pour ouvrir l application, vous n avez qu à doublecliquer sur l icône de celle-ci : ou vous pouvez encore allez le chercher par le raccourci dans la barre des tâches : Lorsque l application

Plus en détail

Le générateur d'activités

Le générateur d'activités Le générateur d'activités Tutoriel Mise à jour le 09/06/2015 Sommaire A. Mise en route du Générateur d'activité... 2 1. Installation de Page... 2 2. Création des bases du générateur d'activités... 3 3.

Plus en détail

l'ordinateur les bases

l'ordinateur les bases l'ordinateur les bases Démarrage de l'ordinateur - Le bureau, mon espace de travail - J'utilise la souris - Ouvertes ou fermées, les fenêtres - Dans l'ordinateur, tout est fichier - Le clavier : écrire,

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Créer un sondage en ligne

Créer un sondage en ligne Créer un sondage en ligne Par Clément JOATHON Dernière mise à jour : 02/04/2015 Que cela soit pour récolter l'avis des membres d'une association ou encore les idées de vos visiteurs, il est toujours intéressant

Plus en détail

HTML5 et CSS3 pour des sites Responsive Web Design

HTML5 et CSS3 pour des sites Responsive Web Design Chapitre 1 : Introduction A. Le design Web aujourd'hui 11 B. Le Responsive Web Design 11 C. Les approches dans la conception 12 D. Le lâcher-prise 12 E. Les objectifs du livre 13 F. Les outils de l intégrateur

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

Open Office - Présentation

Open Office - Présentation 1 Définition 1.1 Diaporama Un diaporama est une succession de diapositives, chaque diapositive correspond à un écran d'ordinateur. Les diapositives peuvent être affichées de façon séquentielle ou par appel

Plus en détail

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement) HP Data Protector Express Software - Tutoriel 4 Utilisation de Quick Access Control (Windows uniquement) Que contient ce tutoriel? Quick Access Control est une application qui s'exécute indépendamment

Plus en détail

ZOTERO Un outil gratuit de gestion de bibliographies

ZOTERO Un outil gratuit de gestion de bibliographies ZOTERO Un outil gratuit de gestion de bibliographies Téléchargement sur http://www.zotero.org Zotero est une extension du navigateur Web Firefox 0 Mais désormais applications autonomes par rapport à Firefox

Plus en détail

Silfid : Agence de création de site internet, formations et Conseils Retour sommaire

Silfid : Agence de création de site internet, formations et Conseils Retour sommaire Sommaire ILFID vous accueille dans sa salle de formation équipée d ordinateurs en réseau et connectés internet, d'un vidéo- Sprojecteur et tableau blanc. Nos solutions sont éligibles aux critères de financement

Plus en détail

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense, QlikView,

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

TRUECRYPT SUR CLEF USB ( Par Sébastien Maisse 09/12/2007 )

TRUECRYPT SUR CLEF USB ( Par Sébastien Maisse 09/12/2007 ) TRUECRYPT SUR CLEF USB ( Par Sébastien Maisse 09/12/2007 ) Voici un petit document concernant d'un espace crypté sur une clef usb en utilisant le logiciel TRUECRYPT. Ce dernier est gratuit et disponible

Plus en détail

Introduction : présentation de la Business Intelligence

Introduction : présentation de la Business Intelligence Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI3WXIBUSO dans la zone de recherche et validez.

Plus en détail

Didacticiel de mise à jour Web

Didacticiel de mise à jour Web Didacticiel de mise à jour Web Copyright 1995-2012 Esri All rights reserved. Table of Contents Didacticiel : Création d'une application de mise à jour Web.................. 0 Copyright 1995-2012 Esri.

Plus en détail

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10 PROGRAMME RÉGIONAL DE RENFORCEMENT DE LA COLLECTE DES DONNÉES STATISTIQUES DES PECHES DANS LES ÉTATS MEMBRES ET DE CREATION D UNE BASE DE DONNÉES REGIONALE Manuel de formation TABLE DES MATIERES INTRODUCTION

Plus en détail

Dans la série. présentés par le site FRAMASOFT

Dans la série. présentés par le site FRAMASOFT Dans la série Les tutoriels libres présentés par le site FRAMASOFT CRÉER DES EXERCICES AVEC JCLIC-AUTHOR Logiciel: JClic-author Plate-forme(s): Linux, Windows, Mac OS X Version: 0.1.1.9 Licence: GNU General

Plus en détail

Maarch V1.4 http://www.maarch.org

Maarch V1.4 http://www.maarch.org COLD (factures clients) Maarch Professional Services Maarch PS anime le développement d un produit d archivage open source : http://www.maarch.org Guide de visite COLD (factures clients) VERSION DATE ACTEUR

Plus en détail

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 : Atelier No2 : Installation d Active Directory Installation du service DNS Installation du Service WINS Création d'un compte d'ordinateur Jonction d'un ordinateur à un domaine Création d usagers. Étape

Plus en détail

Tutoriel TYPO3 pour les rédacteurs

Tutoriel TYPO3 pour les rédacteurs Tutoriel TYPO3 pour les rédacteurs - typo3_tut_fr Tutoriel TYPO3 pour les rédacteurs Tutoriel TYPO3 pour les rédacteurs Clé de l'extension: typo3_tut_fr Langue: fr Mots-clés: foreditors, forbeginners,

Plus en détail

Guide utilisateur Archivage intermédiaire Messagerie. Enterprise Connect pour Outlook 2010 EC 10.2.1 V 1.0

Guide utilisateur Archivage intermédiaire Messagerie. Enterprise Connect pour Outlook 2010 EC 10.2.1 V 1.0 Guide utilisateur Archivage intermédiaire Messagerie Enterprise Connect pour Outlook 2010 EC 10.2.1 V 1.0 Page : 2/38 Table des matières 1. Introduction... 3 2. L'interface Livelink dans MS Outlook...

Plus en détail

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

Comment développer et intégrer un module à PhpMyLab? Comment développer et intégrer un module à PhpMyLab? La structure du fichier Afin de conserver une homogénéité et une cohérence entre chaque module, une structure commune est utilisée pour chacun des modules

Plus en détail

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla Table des matières Table des matières Généralités Présentation Interface Utiliser FileZilla Connexion FTP Connexion SFTP Erreurs de connexion Transfert des fichiers Vue sur la file d'attente Menu contextuel

Plus en détail

Chapitre 2 Créer son site et ses pages avec Google Site

Chapitre 2 Créer son site et ses pages avec Google Site Réaliser un site internet à l aide de Google Site 10 Chapitre 2 Créer son site et ses pages avec Google Site 1. Créer un Google site 1. Rendez-vous sur www.google.be et connectez-vous à votre compte Gmail

Plus en détail

Editeur html Guide de l'utilisateur

Editeur html Guide de l'utilisateur Ti nymce Editeur html Guide de l'utilisateur Date : février 2012 Version 2.0 Doc ref. tinymce-userguide-2.0 1 Aperçu général Cette documentation est composée de deux documents : Une représentation graphique

Plus en détail

Qu'est ce que le Cloud?

Qu'est ce que le Cloud? Qu'est ce que le Cloud? Le Cloud computing (informatique dans les nuages) consiste en l'utilisation de données à distance. Les fichiers de l utilisateur se trouve non pas dans son ordinateur personnel

Plus en détail

SOMMAIRE. 1. Connexion à la messagerie Zimbra 4 1.1.Pré-requis 4 1.2.Ecran de connexion à la messagerie 4

SOMMAIRE. 1. Connexion à la messagerie Zimbra 4 1.1.Pré-requis 4 1.2.Ecran de connexion à la messagerie 4 Messagerie Zimbra version 7 Prise en main Nadège HARDY-VIDAL 2 septembre 20 SOMMAIRE. Connexion à la messagerie Zimbra 4..Pré-requis 4.2.Ecran de connexion à la messagerie 4 2. Présentation générale de

Plus en détail

Edition de sites Jahia 6.6

Edition de sites Jahia 6.6 Sommaire Edition de sites Jahia 6.6 documentation temporaire en attendant la finalisation de la documentation en ligne Ligne graphique Débuter l'édition Interface utilisateur Astuces de publication Boîte

Plus en détail

Publication dans le Back Office

Publication dans le Back Office Site Web de l association des ingénieurs INSA de Lyon Publication dans le Back Office Note : dans ce guide, l'appellation GI signifie Groupe d'intérêt, et GR Groupe Régional laure Buisset Page 1 17/09/2008

Plus en détail

Manuel d utilisation du web mail Zimbra 7.1

Manuel d utilisation du web mail Zimbra 7.1 Manuel d utilisation du web mail Zimbra 7.1 ma solution de communication intelligente Sommaire 1 Connexion à la messagerie Zimbra p.4 1.1 Prérequis p.4 1.1.1 Ecran de connexion à la messagerie p.4 2 Presentation

Plus en détail

Gestion des utilisateurs : Active Directory

Gestion des utilisateurs : Active Directory Gestion des utilisateurs : Active Directory 1. Installation J'ai réalisé ce compte-rendu avec une machine tournant sous Windows 2008 server, cependant, les manipulations et les options restent plus ou

Plus en détail

Utilisation de l'outil «Open Office TEXTE»

Utilisation de l'outil «Open Office TEXTE» PRESENTATION / FORMATION Utilisation de l'outil «Open Office TEXTE» Présentation générale : OpenOffice Texte est un traitement de texte assez similaire à celui proposé par Microsoft ; il est d'ailleurs

Plus en détail

TP 4 & 5 : Administration Windows 2003 Server

TP 4 & 5 : Administration Windows 2003 Server TP 4 & 5 : Administration Windows 2003 Server Concepteur original : Gilles Masson Nous allons configurer : Un client Windows XP Un serveur Windows (version 2003) Ce TP dure 6 heures. Vous devrez reprendre

Plus en détail

Un exemple avec WORKSPACE d'interwrite

Un exemple avec WORKSPACE d'interwrite S'approprier un utilitaire de TNI Un exemple avec WORKSPACE d'interwrite Objectifs : S'approprier un utilitaire de TNI («soft»)afin de percevoir la plus-value pédagogique de l'outil. Pour cela utiliser

Plus en détail

Table des matières. 1 À propos de ce manuel...5 1.1 Icônes utilisées dans ce manuel... 5. 1.2 Public visé... 5. 1.3 Commentaires...

Table des matières. 1 À propos de ce manuel...5 1.1 Icônes utilisées dans ce manuel... 5. 1.2 Public visé... 5. 1.3 Commentaires... Manuel utilisateur Table des matières 1 À propos de ce manuel...5 1.1 Icônes utilisées dans ce manuel... 5 1.2 Public visé... 5 1.3 Commentaires... 5 2 Généralités sur les applications web... 7 3 Module

Plus en détail

Initiation à html et à la création d'un site web

Initiation à html et à la création d'un site web Initiation à html et à la création d'un site web Introduction : Concevoir un site web consiste à définir : - l'emplacement où ce site sera hébergé - à qui ce site s'adresse - le design des pages qui le

Plus en détail

Nouveautés par rapport à la version Qlik Sense 1.0. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Nouveautés par rapport à la version Qlik Sense 1.0. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Nouveautés par rapport à la version Qlik Sense 1.0 Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Plus en détail

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

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire: FileZilla http://filezilla.sourceforge.net/ Sauvegarder son site Guppy à l aide de Sommaire: P. 2 Téléchargement et installation P. 3 Paramétrage du transfert P. 3 L'environnement de Filezilla P. Sauvegarde

Plus en détail

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque HP Data Protector Express Software - Tutoriel 3 Réalisation de votre première sauvegarde et restauration de disque Que contient ce tutoriel? Après avoir lu ce tutoriel, vous pourrez : utiliser les fonctions

Plus en détail

Manuel d'utilisation de l'administration du site Japo.ch - 1

Manuel d'utilisation de l'administration du site Japo.ch - 1 Manuel d'utilisation de l'administration du site Japo.ch 1. Identification L'administration est protégée par une identification. Veuillez saisir ici votre nom d'utilisateur et votre mot de passe. Manuel

Plus en détail

DOM - Document Object Model

DOM - Document Object Model DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et

Plus en détail

Préparation à l installation d Active Directory

Préparation à l installation d Active Directory Laboratoire 03 Étape 1 : Installation d Active Directory et du service DNS Noter que vous ne pourrez pas réaliser ce laboratoire sans avoir fait le précédent laboratoire. Avant de commencer, le professeur

Plus en détail

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés DSI Documentation utilisateurs Installation et paramétrage Accès aux modèles, autotextes et clip- art partagés Auteur : Yves Crausaz Date : 21 septembre 2006 Version : 1.04 Glossaire OOo : Abréviation

Plus en détail

Tutoriel Drupal version 7 :

Tutoriel Drupal version 7 : Tutoriel Drupal 7: Installation en local sous Windows 1 Tutoriel Drupal version 7 : Installation en local Sous Windows Tutoriel Drupal 7: Installation en local sous Windows 2 1. Logiciels nécessaires Drupal

Plus en détail