Introduction à une techno web à la mode AngularJS
|
|
- Vincent Chagnon
- il y a 8 ans
- Total affichages :
Transcription
1 Introduction à une techno web à la mode AngularJS Alain Tchana, Maître de Conférence Institut National Polytechnique de Toulouse IRIT / Équipe SEPIA alain.tchana@enseeiht.fr
2 Objectifs du cours Pouvoir répondre aux questions suivantes : 1) Pourquoi AngularJS? 2) Où se positionne-t-il dans le développement web? rapport à JEE par exemple? 3) Comment l'utilise-t-on? 2
3 Plan Contexte Problématiques AngularJS Conclusion
4 Aperçu Avant de se lancer
5 Bref aperçu avant de se lancer (extrait de votre support de cours)
6 Bref aperçu avant de se lancer (extrait de votre support de cours)
7 Contexte Web dynamique
8 Contexte : App. web dynamiques (rappel rapide) Caractéristiques d'une application web dynamique Les informations produites par le même lien varient d'un utilisateur à l'autre. 1) Les informations présentées sur la même page varient avec le temps (court). 2) Les informations présentées sur la même page varient suivant les actions de l'utilisateur. Le site reconnaît chaque utilisateur Construit un contenu en fonction du user 8
9 Contexte : App. web dynamiques (rappel rapide) Caractéristiques d'une application web dynamique Les informations produites par le même lien varient avec le temps (peu être très court). 1) Les informations présentées sur la même page varient avec le temps (court). 2) Les informations présentées sur la même page varient suivant les actions de l'utilisateur. Le site se met à jour dynamiquement sans l'admin system L'utilisateur est directement à l'origine 9
10 Contexte : App. web dynamiques (rappel rapide) Caractéristiques d'une application web dynamique Les informations présentées sur la même page varient suivant les actions de l'utilisateur. 1) Les informations présentées sur la même page varient avec le temps (court). 2) Les informations présentées sur la même page varient suivant les actions de l'utilisateur. La vue prend des initiatives toute seule Modifie des bouts de la page Peut contacter un serveur distant L'utilisateur est indirectement à l'origine 10
11 Contexte : App. web dynamiques (rappel rapide) Comment était implantée une app. web dyn, à l'époque? Un script côté serveur (CGI par exemple) Reçoit la requête Identifie l'utilisateur et génère une page HTML Pb. 1 Conséquences (pour le développeur) Le script est volumineux Illisible Difficile à maintenir et à faire évoluer 11
12 Contexte : App. web dynamiques (rappel rapide) Comment était implantée une app. web dyn, à l'époque? Toute action du client sur la page Nécessite le contact du serveur La régénération de la page (toute entière) Pb. 2 Même si la modification était minime Conséquences (pour le client web) Les temps de réponse sont longs (trafic sur le réseaux) Le serveur sature très vite (génération de la page entière, IO) 12
13 Contexte MVC
14 Contexte : App. web dynamiques (rappel rapide) MVC : un guide de programmation au secours du développeur Organise le code de l'application en 3 catégories Les structures de données des informations que manipulent l'app. Contient le code métier C'est le Modèle Le code qui construit la façon dont le modèle est présenté Pb. 1 C'est la Vue Les contrôles Contrôle des requêtes. MAJ modèle C'est le Contrôle 14
15 Contexte : App. web dynamiques (rappel rapide) MVC : un guide de programmation au secours du développeur Organise le code de l'application en 3 catégories Les structures de données des informations que manipulent l'app. Contient le code métier C'est le Modèle Le code qui construit la façon dont le modèle est présenté Pb. 1 C'est la Vue Les contrôles Contrôle des requêtes. MAJ modèle C'est le Contrôle 15
16 Contexte : App. web dynamiques (rappel rapide) MVC : un guide de programmation au secours du développeur Organise le code de l'application en 3 catégories Les structures de données des informations que manipulent l'app. Contient le code métier C'est le Modèle Le code qui construit la façon dont le modèle est présenté Pb. 1 C'est la Vue Les contrôles Contrôle des requêtes. MAJ modèle C'est le Contrôle 16
17 Contexte : App. web dynamiques (rappel rapide) MVC : un guide de programmation au secours du développeur Plusieurs technos permettent de faire du MVC PHP JEE Pb. 1 Les EJB pour le modèle Les servlets pour le contrôle Les JSP pour la vue Etc. La dynamicité de l'app. web se traduit par celle de la «vue» 17
18 Contexte : App. web dynamiques (rappel rapide) MVC : un guide de programmation au secours du développeur Plusieurs technos permettent de faire du MVC PHP JEE Pb. 1 Les EJB pour le modèle Les servlets pour le contrôle Les JSP pour la vue Etc. La dynamicité de l'app. web se traduit par celle de la «vue» 18
19 Contexte Zoom sur la vue
20 Contexte : App. web dynamiques (rappel rapide) Le DOM Structure de données représentant votre page dans le navigateur Possibilité de le modifier via java script (JS) Ajout ou modification d'éléments Le navigateur prend en compte (à chaud) les modifications Pb. 2 Ne se modifie pas de la même façon sur tous les navigateurs Non standardisation des navigateurs 20
21 Contexte : App. web dynamiques (rappel rapide) Modification dynamique du DOM au secours du client web Comment le développeur s'en sert pour modifier une zone Un code JS dans la vue soumet une requête au serveur Le serveur traite la requête Le serveur retourne les informations nécessaires pour la MAJ de la vue Un code JS dans la vue MAJ la vue en modifiant le DOM Pb. 2 Conséquences La logique de la MAJ de la page est placée côté client Peu de trafic sur le réseau (bon pour le temps de réponse) 21
22 Contexte : App. web dynamiques (rappel rapide) Modification dynamique du DOM au secours du client web Plusieurs technos telles que Java script : la renaissance Ajax Pb. 2 22
23 Problématiques Problème 1 Application du MVC Problème 2 Testabilité
24 Problématiques La mise en pratique du MVC n'est pas totale Le MVC est essentiellement respecté côté serveur Or, l'analyse des codes des app. existantes montrent que Besoin du MVC au niveau de la machine cliente (sans s'en rendre compte) Le DOM est un modèle Une partie du contrôle a été transférée sur le client Pour éviter les transits sur le réseaux 24
25 Problématiques La mise en pratique du MVC n'est pas totale 25
26 Problématiques La mise en pratique du MVC n'est pas totale MVC devient : M+(MVC)+C Le backend implante le «M» Le client implante la vue qui est maintenant un mini MVC Le «M» c'est le DOM Le «V» est vide Le «C» est le premier niveau de contrôle Le backend implante le «C» (le second niveau de contrôle) 26
27 Problématiques L'application du MVC n'est pas totale Ce MVC côté client n'est pas pris en compte par les technos de dev. actuelles Conséquences Il est mal programmé Mélange du modèle, de la vue, et du contrôle 27
28 Problématiques Quelques causes de cette mauvaise programmation Faut implanter soit même «modification du modèle modification de la vue» Faut implanter des «observateurs» De plus, modifier le DOM est fastidieux Verbeuse : document.getelementbyid.xxx.yyy.zzz Nécessite la maîtrise de l'architecture du DOM Faut prendre en compte la spécificité de chaque navigateur Bref le code de la vue est alourdi, verbeux et mal structuré 28
29 Problématiques Quelques causes de cette mauvaise programmation Faut implanter soit même «modification du modèle modification de la vue» Faut implanter des «observateurs» De plus, modifier le DOM est fastidieux Verbeuse : document.getelementbyid.xxx.yyy.zzz Nécessite la maîtrise de l'architecture du DOM Faut prendre en compte la spécificité de chaque navigateur Bref le code de la vue est alourdi, verbeux et mal structuré 29
30 Problématiques Quelques causes de cette mauvaise programmation Faut implanter soit même «modification du modèle modification de la vue» Faut implanter des «observateurs» De plus, modifier le DOM est fastidieux Verbeuse : document.getelementbyid.xxx.yyy.zzz Nécessite la maîtrise de l'architecture du DOM Faut prendre en compte la spécificité de chaque navigateur 30
31 Problématiques Quelques causes de sa mauvaise programmation De plus en plus de communication entre le client et serveur pour la même page Beaucoup de bouts de codes pour gérer cela Code sale!!! Le premier niveau de contrôle (dans le navigateur) prend de plus en plus de place Pour limiter la saturation du serveur d'applications Bref le code de la vue est alourdi, verbeux et mal structuré 31
32 Problématiques Quelques causes de sa mauvaise programmation De plus en plus de communication entre le client et serveur pour la même page Beaucoup de bouts de codes pour gérer cela Code sale!!! Le premier niveau de contrôle (dans le navigateur) prend de plus en plus de place Pour limiter la saturation du serveur d'applications Bref le code de la vue est alourdi, verbeux et mal structuré 32
33 Problématiques Problème 1 Application du MVC Problème 2 Testabilité
34 Problématiques Une conséquence du premier problème est la testabilité Dans le processus de développement d'une application Le test est une étape capitale Vérifie le respect du cahier des charges Il s'agit à la fois des tests unitaires et du test global C'est une étape fastidieux car Répétitive Longue sources d'erreurs 34
35 Problématiques Une conséquence du premier problème est la testabilité Dans le processus de développement d'une application Le test est une étape capitale. Vérifie le respect du cahier des charges Il s'agit à la fois des tests unitaires et du test global C'est une étape fastidieux car Répétitive Longue sources d'erreurs 35
36 Problématiques Besoin d'automatiser les tests (Continous Delivery) Il existe des outils d'automatisation des tests d'app. web Détectent les modifications dans les sources l'application Simulent des navigateurs ainsi que des clics de clients web Exemple : Karma, Protractor, Neoload, Clif, etc. 36
37 Problématiques Une conséquence du premier problème est la testabilité Ces outils de test sont très difficiles à utiliser actuellement Car les applications web sont mal codées Une légère modification d'un bout de l'application Peut entraîner la réécriture complète du code pour les tests 37
38 Résumé de la problématique La vue des app. web dynamiques est très mal programmées Deux conséquences (1) L'app. est difficilement maintenable (2) L'app. est difficilement testable 38
39 Une solution AngularJS, de google
40 AngularJS Où intervient Angular? 40
41 AngularJS Philosophie générale : faciliter la vie du programmeur Un framework pour le développement de la vue d'une app. web (1) Incite le programmeur à coder proprement le MVC côté client Via des bonnes recettes (des années d'observation) (2) A été construit en ayant à l'esprit la testabilité de l'application S'intègre parfaitement avec les outils de test existants Ce qui facilite le test plus tard 41
42 AngularJS (allé, plus de pub) Philosophie générale : faciliter la vie du programmeur Simplifie au maximum la programmation de la vue Éviter la répétition de code Éviter la maîtrise du DOM ou des technos comme Ajax Angular vous force à modulariser le code Angular le fait pour vous Éviter l'aspect verbeux et illisible de HTML Angular vous permet de définir et nommer des comportements HTML Bref, rendre le code concis et lisible 42
43 AngularJS (allé, plus de pub) Philosophie générale : faciliter la vie du programmeur Simplifie au maximum la programmation de la vue Éviter la répétition de code Éviter la maîtrise du DOM ou des technos comme Ajax Angular vous force à modulariser le code Angular le fait pour vous Éviter l'aspect verbeux et illisible de HTML Angular vous permet de définir et nommer des comportements HTML Bref, rendre le code concis et lisible 43
44 AngularJS (allé, plus de pub) Philosophie générale : faciliter la vie du programmeur Simplifie au maximum la programmation de la vue Éviter la répétition de code Éviter la maîtrise du DOM ou des technos comme Ajax Angular vous force à modulariser le code Angular le fait pour vous Éviter l'aspect verbeux et illisible de HTML Angular vous permet de définir et nommer des comportements HTML Bref, rendre le code concis et lisible 44
45 AngularJS, c'est quoi? Vous fournissez Template Your JS scripts Application finale Déployée là ou là, ou,... Je veux une page Accessible via n'importe quel navigateur Je veux une page 45
46 AngularJS, c'est quoi? Vous fournissez Template Your JS scripts Application finale Déployée là ou là, ou,... Je veux une page Accessible via n'importe quel navigateur Je veux une page Lorsqu'une page (template) est demandée par un client : Le serveur web retourne La template en question + les scripts JS que vous aviez écrits + les scripts JS d'angulars cas 46
47 AngularJS, c'est quoi? Vous fournissez Template Your JS scripts Application finale Déployée là ou là, ou,... Je veux une page Accessible via n'importe quel navigateur Angular opère ici Angular opère ici Je veux une page Lorsqu'une page (template) est demandée par un client : Le serveur web retourne La template en question + les scripts JS que vous aviez écrits + les scripts JS d'angulars cas 47
48 AngularJS, c'est quoi? Traitement d'une réponse à une requête niveau navigateur Template Your JS scripts Angular Compilateur Génère Fournit Contenu HTML Your JS scripts Utilisé par le contenu HTML Angular scripts JS La page finale 48
49 AngularJS, c'est quoi? Une grosse librairie JS Tout est au sein d'un fichier JS Angular.js (sur le site d'angularjs) Un langage qui étend HTML Le remplace dans certains cas 49
50 AngularJS, c'est quoi? Une grosse librairie JS Un compilateur qui va traduire votre application Angular en un code HTML+JS Compréhensible par les navigateurs Un runtime JS qui implante des comportements de base dont on a besoin dans une app. Modification du DOM, observateurs, communication avec un serveur d'application, etc. La machine cliente est vraiment mise à contribution 50
51 AngularJS, c'est quoi? Traitement d'une réponse à une requête niveau navigateur Template Your JS scripts Angular Compilateur Angular.js Génère Fournit Contenu HTML Your JS scripts Utilisé par le contenu HTML Angular scripts JS La page finale 51
52 AngularJS, c'est quoi? Traitement d'une réponse à une requête niveau navigateur Template Your JS scripts Le compilateur Angular Compilateur Angular.js Génère Fournit Contenu HTML Your JS scripts Utilisé par le contenu HTML Angular scripts JS La page finale 52
53 AngularJS, c'est quoi? Traitement d'une réponse à une requête niveau navigateur Template Your JS scripts Le compilateur Angular Compilateur Angular.js Génère Fournit Contenu HTML Your JS scripts Utilisé par le contenu HTML Angular scripts JS La page finale Le runtime 53
54 AngularJS, c'est quoi? Un ensemble de bonnes recettes de programmation Sur la modularité du code Canevas pour la programmation Le code est moins longs Organisation en répertoires et fichiers 54
55 AngularJS, c'est quoi? Un ensemble de bonnes recettes de programmation Sur la modularité du code Canevas pour la programmation Le code est moins longs Organisation en répertoires et fichiers 55
56 AngularJS, c'est quoi? Un ensemble de recettes pour le test Pour l'écriture des tests unitaires Tester très précisément les fonctions de base de l'application Pour l'écriture d'un test globale Simulation des clients web Simulation des scénarios d'utilisation réelle Avec des navigateurs 56
57 AngularJS, c'est quoi? Un ensemble de recettes pour le test Pour l'écriture des tests unitaires Tester très précisément les fonctions de base de l'application Pour l'écriture d'un test globale Simulation des clients web Simulation des scénarios d'utilisation réelle Avec des navigateurs 57
58 AngularJS Mise en route
59 AngularJS, c'est quoi? Comment s'en servir? ( Étape 1 : préparer une arborescence pour votre application Partir d'un exemple sur le site et le customiser git clone --depth=14 cd angular-phonecat Étape 2 : Installer les outils de tests (Karma, Protractor, Brower et Http-Server) apt-get install nodejs-legacy npm npm install 59
60 AngularJS, c'est quoi? Comment s'en servir? ( Étape 1 : préparer une arborescence pour votre application Partir d'un exemple sur le site et le customiser git clone --depth=14 cd angular-phonecat Étape 2 : Installer les outils de tests (Karma, Protractor, Brower et Http-Server) apt-get install nodejs-legacy npm npm install 60
61 AngularJS, c'est quoi? Comment s'en servir? ( Étape 3 : Coder votre application (voir les slides suivants) Étape 5 : Coder les tests (voir les slides suivants) 61
62 AngularJS, c'est quoi? Comment s'en servir? ( Etape 6 : Tester votre application npm start : démarrer un serveur web local (pour les tests) npm test : démarre Karma, le moteur des tests unitaires npm run protractor : démarre Protractor, le moteur du test global npm run update-webdriver : install les drivers nécessaires pour Protractor 62
63 AngularJS Coder son application
64 Coder en AngularJS Maîtriser les concepts suivants Directives Scope Watchers Dependency injection Routing Data binding Expressions Controller Model + HTML et JS 64
65 Coder en AngularJS Démo avec l'application : 65
66 Coder en AngularJS Démo avec l'application : Toute recherche nécessite le rafraîchissement de la page 66
67 Coder en AngularJS Démo avec l'application : L'URL reste inchangée, quelque soit la recherche 67
68 AngularJS La base
69 Une page en AngularJS Toute page contient au moins les deux éléments suivants L'inclusion du script angular.js La directive «ng-app» 69
70 Une page en AngularJS Toute page contient au moins les deux éléments suivants L'inclusion du script angular.js La directive «ng-app» 70
71 Une page en AngularJS Toute page contient au moins les deux éléments suivants L'inclusion du script angular.js La directive «ng-app» Exemple d'expression 71
72 Voici le résultat Faire la démo1 Une page en AngularJS 72
73 AngularJS Directives
74 Coder en AngularJS Les directives Sont des composants paramétrables qui implantent des comportements Se met dans la déclaration d'une balise HTML <balise_html directiveangular="param"> ou <directiveangular="param"> Angular fournit une panoplie correspondant aux comportements très souvent codés Le premier d'entre eux est «ng-app», permet de bootstraper une application Angular ng-src, ng-href, ng-model, ng-mousemove, ng-submit, etc. Vous pouvez développer les vôtres Ce qui facilite la réutilisabilité 74
75 Coder en AngularJS Les directives Sont des composants paramétrables qui implantent des comportements Se met dans la déclaration d'une balise HTML <balise_html directiveangular="param"> ou <directiveangular="param"> Angular fournit une panoplie correspondant aux comportements très souvent codés Le premier d'entre eux est «ng-app», permet de bootstraper une application Angular ng-src, ng-href, ng-model, ng-mousemove, ng-submit, etc. Vous pouvez développer les vôtres Ce qui facilite la réutilisabilité 75
76 Coder en AngularJS Les directives (Exemple 1) Nous souhaitons implanter ce comportement Faire la démo2 76
77 Coder en AngularJS Les directives (Exemple 1) Voici le code sans AngularJS (partie HTML) 77
78 Coder en AngularJS Les directives (Exemple 1) Voici le code sans AngularJS (partie JS) 78
79 Coder en AngularJS Les directives (Exemple 1) Voici le code en AngularJS : 25 lignes de code en moins (32 %), soit toute la partie JS 79
80 Coder en AngularJS Les directives (Exemple 1) Voici le code en AngularJS : 25 lignes de code en moins (32 %), soit toute la partie JS ng-model : Permet de déclarer une variable Ensuite l'utiliser plus tard 80
81 Coder en AngularJS Les directives (Exemple 1) Voici le code en AngularJS : 25 lignes de code en moins (32 %), soit toute la partie JS ng-model : Permet de déclarer une variable Ensuite l'utiliser plus tard ng-disabled: Permet de déclarer une variable Ensuite l'utiliser plus tard 81
82 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Nous souhaitons modifier le style css d'un élément HTML à chaque clic. Nous allons définir ce comportement de façon générique Afin de le réutiliser pour tout type d'élément Faire la démo3 82
83 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Avec Angular on le réalise en plusieurs étapes, de façon modulaire Étape 1 Faut définir ce que Angular appelle un «module» Qui sera passer comme paramètre de la directive «ng-app» Dans le fichier «app/js/app.js» 83
84 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Avec Angular on le réalise en plusieurs étapes, de façon modulaire Étape 1 Faut définir ce que Angular appelle un «module» Qui sera passer comme paramètre de la directive «ng-app» Dans le fichier «app/js/app.js» Le module «MonApp» est crée Les modules dépendants 84
85 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Un point sur la notion de «module» Permet de mieux organiser le code source de l'application Une application peut être organisée en modules Un module peut utiliser les services d'un autre 85
86 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 2 : création de sa directive La directive s'appellera «mon-composant» Dans le fichier «app/js/directives.js» 86
87 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 2 : création de sa directive Dans le fichier «app/js/directives.js» La directive est rattachée à notre module (la variable «var») 87
88 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 2 : création de sa directive Le comportement de la directive Dans le fichier «app/js/directives.js» 88
89 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 2 : création de sa directive Configuration de la directive pour Angular Dans le fichier «app/js/directives.js» 89
90 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 2 : création de sa directive Dans le fichier «app/js/directives.js» "E" : La directive sera utilisée comme un élément (balise HTML). "A" pour attribut de balise 90
91 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 2 : création de sa directive Son comportement est la fonction définie Dans le fichier «app/js/directives.js» 91
92 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 3 : utilisation de la directive Ma page HTML est liée au module Angular créé Dans son fichier HTML.. 92
93 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 3 : utilisation de la directive Inclusion des 2 nouveaux fichiers JS Dans son fichier HTML.. 93
94 Coder en AngularJS Les directives (Exemple 2 : créer sa propre directive) Étape 3 : utilisation de la directive Utilisation de la directive (comme une base HTML) Dans son fichier HTML.. 94
95 AngularJS Controllers
96 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Nous souhaitons afficher une liste d'éléments Commençons avec quelque chose de simple Les données de la liste sont connues Mais peuvent évoluer Faire la démo4 96
97 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 1 : Créer un controller Il s'agit d'un controller simple pour l'instant J'ajoute un controller à mon module Il nous permet de définir notre modèle. Et prépare au data binding Dans le fichier «app/js/controllers.js» 97
98 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 1 : Créer un controller Il s'agit d'un controller simple pour l'instant Nom du controller Il nous permet de définir notre modèle. Et prépare au data binding Dans le fichier «app/js/controllers.js» 98
99 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 1 : Créer un controller Il s'agit d'un controller simple pour l'instant Corps du controller. Pas grand chose. Juste initialiser le modèle. Il nous permet de définir notre modèle. Et prépare au data binding Dans le fichier «app/js/controllers.js» 99
100 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 2 : Utiliser le controller dans le fichier HTML Inclusion du fichier JS contenant les controllers.. 100
101 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 2 : Utiliser le controller dans le fichier HTML Inclusion du fichier JS contenant les controllers.. 101
102 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 2 : Utiliser le controller dans le fichier HTML Application du controller au corps du document HTML.. 102
103 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 2 : Utiliser le controller dans le fichier HTML Une directive qui s'appuie sur le controller. Permet de répéter un bloc. Les données viennent du modèle intialisé dans le controller «phones» a été défini dans le controller.. 103
104 Coder en AngularJS Controller et data binding (Exemple 1 : un controller simple) Avec Angular Étape 2 : Utiliser le controller dans le fichier HTML Expressions et data binding: le controller permet ici de réaliser la liaison entre le modèle et la vue
105 AngularJS Les filtres
106 Coder en AngularJS Les filtres (suite de l'exemple précédent) Nous voulons faire ceci Faire la démo5 106
107 Coder en AngularJS Les filtres (de l'exemple précédent) Avec Angular Utiliser le service «filter» Nous définissons la zone de texte comme élément du modèle 107
108 Coder en AngularJS Les filtres (de l'exemple précédent) Avec Angular Utiliser la fonction «filter» Nous définissons la zone de texte comme élément du modèle Le contenu de la zone de texte est utilisé pour filtrer la liste à afficher. Angular gère tout (binding, comparaison, rafraichissement, etc.) 108
109 AngularJS Les services
110 Coder en AngularJS Les données viendront maintenant d'un serveur 110
111 Coder en AngularJS Les données viendront maintenant d'un serveur Avec Angular Utilisation du service «$http» de Angular Géré par Angular grâce à l'injection de dépendances Dans le fichier «app/js/controllers.js» Angular injectera cette variable dans les sources du controller 111
112 Coder en AngularJS Les données viendront maintenant d'un serveur Avec Angular Utilisation du service «$http» de Angular Géré par Angular grâce à l'injection de dépendances Dans le fichier «app/js/controllers.js» Obtention des données du serveur 112
113 Coder en AngularJS Les données viendront maintenant d'un serveur Avec Angular Utilisation du service «$http» de Angular Géré par Angular grâce à l'injection de dépendances Dans le fichier «app/js/controllers.js» Obtention des données du serveur Fonction appelée en cas de succès : asynchrone 113
114 Coder en AngularJS Les données viendront maintenant d'un serveur Avec Angular Utilisation du service «$http» de Angular Géré par Angular grâce à l'injection de dépendances Dans le fichier «app/js/controllers.js» Obtention des données du serveur Initialisation du modèle 114
115 Coder en AngularJS Les services Angular fournit un ensemble de services Commence par le caractère «$» Exemple : $http : $http.get(), $http.post(), $http.delete(), $http.options(), etc. $timeout, $log, etc. Vous pouvez construire les vôtres Se sert de sa capacité d'injection de codes pour implanter ceci Injection de dépendance 115
116 AngularJS Tests unitaires
117 Tests unitaires Permet de tester des fonctions écrites en JS Surtout les fonctions liées au contrôles et au modèle Pas le DOM (que nous avons présenté comme une partie de notre modèle) Généralement le test du DOM se fait en plusieurs étapes Donc, pas unitaire 117
118 Tests unitaires Test unitaire de l'exemple 1 : un controller simple Le but du test : s'assurer que le controller crée bien 3 éléments dans le tableau 118
119 Tests unitaires Test unitaire de l'exemple 1 : un controller simple Avec Jasmine (le langage de description du test) et Karma (le moteur d'exécution du test) Dans le fichier «test/unit/controllersspec.js» Le nom du test 119
120 Tests unitaires Test unitaire de l'exemple 1 : un controller simple Avec Jasmine (le langage de description du test) et Karma (le moteur d'exécution du test) Dans le fichier «test/unit/controllersspec.js» Le corps de la fonction de test. Constituée d'une unique spécification à tester 120
121 Tests unitaires Test unitaire de l'exemple 1 : un controller simple Avec Jasmine (le langage de description du test) et Karma (le moteur d'exécution du test) Dans le fichier «test/unit/controllersspec.js» Le nom de la spécification 121
122 Tests unitaires Test unitaire de l'exemple 1 : un controller simple Avec Jasmine (le langage de description du test) et Karma (le moteur d'exécution du test) Dans le fichier «test/unit/controllersspec.js» La spécification est réussie si tous les «expect» sont true 122
123 Tests unitaires Test unitaire de l'exemple 1 : un controller simple Exécution du test Dans un terminal : npm test Voici le résultat du test Démo6 Succès du test 123
124 AngularJS Test globale
125 Test global Test global de l'exemple 1 : un controller simple avec filtre Rappel de l'exemple 125
126 Test global Test global de l'exemple 1 : un controller simple avec filtre Dans le fichier «test/e2e/scenarios.js» Le test se réalise sur la page index.html 126
127 Test global Test global de l'exemple 1 : un controller simple avec filtre Dans le fichier «test/e2e/scenarios.js» On voit ici le test unitaire 127
128 Test global Test global de l'exemple 1 : un controller simple avec filtre Dans le fichier «test/e2e/scenarios.js» Simulation de la saisie dans la zone de texte. Si le filtre fonctionne correctement, alors la liste ne doit contenir qu'un élément Un autre 128
129 Test global Test global de l'exemple 1 : un controller simple avec filtre Dans le fichier «test/e2e/scenarios.js» Démo7 129
130 Conclusion
131 Conclusion AngularJS facilite la vie des développeurs et testeurs Se situe au niveau du développement de la vue dans le modèle MVC Remplace les technos telles que Ajax Par contre, fonctionne très bien avec JEE (avec moins de JSP) par exemple Permet de modulariser le code Réduit drastiquement le nombre de lignes de codes Facilite sa maintenabilité et son évolution S'associe très bien aux outils de tests 131
132 Conclusion AngularJS facilite la vie des développeurs et testeurs Se situe au niveau du développement de la vue dans le modèle MVC Remplace les technos telles que Ajax Par contre, fonctionne très bien avec JEE (avec moins de JSP) par exemple Permet de modulariser le code Réduit drastiquement le nombre de lignes de codes Facilite sa maintenabilité et son évolution S'associe très bien aux outils de tests 132
133 Conclusion AngularJS facilite la vie des développeurs et testeurs Se situe au niveau du développement de la vue dans le modèle MVC Remplace les technos telles que Ajax Par contre, fonctionne très bien avec JEE (avec moins de JSP) par exemple Permet de modulariser le code Réduit drastiquement le nombre de lignes de codes Facilite sa maintenabilité et son évolution S'associe très bien avec les outils de tests 133
134 Conclusion AngularJS n'est rien d'autre qu'une librairie JS Le gros du boulot est donc de maîtriser toute la librairie Par exemple, toutes les directives (afin de ne pas en redévelopper) 134
135 Introduction à une techno web à la mode AngularJS Alain Tchana, Maître de Conférence Institut National Polytechnique de Toulouse IRIT / Équipe SEPIA alain.tchana@enseeiht.fr
AngularJS pour une application d'entreprise
AngularJS pour une application d'entreprise SAVOIR FAIRE SERIAL Jean-Philippe Laurent Responsable pôle Web Benoit Charpié-Pruvost Expert AngularJS 18 juin 2015 BRINGING THE HUMAN TOUCH TO TECHNOLOGY BRINGING
Plus en détailAuteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA
Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2
Plus en détailDéveloppement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS
Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team
Plus en détailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailProjet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
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 EP5EJAV dans la zone de recherche et validez.
Plus en détailMéthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.
Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...
Plus en détailCQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Plus en détailConception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA
Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment
Plus en détailFORMATION 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étailDans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur
FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique
Plus en détailLes grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully
Les grandes facettes du développement Web Qui sommes nous? Nicolas Thouvenin Stéphane Gully Projets Web depuis 2000 LAMP, NodeJS HTML, CSS, jquery
Plus en détailTP 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.
ASTRIUM - Toulouse JEE Formation 2013 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. Figure 1 Architecture
Plus en détailModule BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
Plus en détail3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet
Plus en détailRefonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Plus en détailI La création d'un compte de messagerie Gmail.
Les outils du Cloud Computing #2 Gmail / Google Drive L'exemple des Googles Documents & Googles formulaires Un pas à pas pour faire connaissance avec les services google. I La création d'un compte de messagerie
Plus en détailASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques
Introduction 1. Introduction 11 2. La plateforme de développement web de Microsoft 11 3. Définition du modèle de programmation MVC 14 4. L'historique d'asp.net MVC 17 4.1 ASP.NET MVC 1 (2008) 17 4.2 ASP.NET
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détailNouveauté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étailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailProjet de Java Enterprise Edition
Projet de Java Enterprise Edition Cours de Master 2 Informatique Boutique en ligne L objectif du projet de JEE est de réaliser une application de boutique en ligne. Cette boutique en ligne va permettre
Plus en détailINTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Plus en détailSage CRM. 7.2 Guide de Portail Client
Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailProgrammation Web. Introduction
Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)
Plus en détailGWT à l'épreuve du feu. by Sami Jaber (DNG Consulting) twitter @samijaber http://www.dng-consulting.com
1 GWT à l'épreuve du feu by Sami Jaber (DNG Consulting) twitter @samijaber http://www.dng-consulting.com Abstract Qu'est-ce que le projet Cobra? Une démo, une démo, une démo! Les défis techniques d'un
Plus en détailWEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Plus en détailPetite définition : Présentation :
Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise
Plus en détailE-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................
Plus en détail25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.
25 mars Tutoriel sur Laravel Préparé par : Lydiane Beaulne-Bélisle Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel. Créé pour le cours de Projet de fin d étude Collège de
Plus en détailTAGREROUT Seyf Allah TMRIM
TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation
Plus en détailHébergement de site web Damien Nouvel
Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture
Plus en détailAJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada
AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre
Plus en détailCré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étailles techniques d'extraction, les formulaires et intégration dans un site WEB
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
Plus en détailAutomatisation de l administration système
Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications
Plus en détailECLIPSE ET PDT (Php development tools)
ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement
Plus en détailSommaire. 1 Introduction 19. 2 Présentation du logiciel de commerce électronique 23
1 Introduction 19 1.1 À qui s adresse cet ouvrage?... 21 1.2 Comment est organisé cet ouvrage?... 22 1.3 À propos de l auteur... 22 1.4 Le site Web... 22 2 Présentation du logiciel de commerce électronique
Plus en détailBonnes pratiques de développement JavaScript
Bonnes pratiques de développement JavaScript Titre présentation Conférencier François Béliveau Romain Dorgueil A propos de nous... François Béliveau Développeur web depuis 8 ans Utilise symfony depuis
Plus en détailMessagerie asynchrone et Services Web
Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS
Plus en détailLes sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org
Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et
Plus en détail10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]
10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une
Plus en détailCréation de formulaires interactifs
SESSION 16 Création de formulaires interactifs Programme de la session Lancer un sondage en utilisant divers éléments d'entrée de formulaire Traiter les entrées utilisateur Activer un script à partir d'un
Plus en détailTP réseaux 4 : Installation et configuration d'un serveur Web Apache
TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux
Plus en détailHTML5. Développement d applications Web. Visual Studio 2015 et TFS. L art et la manière. avec. Philippe DIDIERGEORGES
Epsilon_GT_v8_Mise en page 1 20/07/2015 15:45 Page 29 Développement d applications Web HTML5 L art et la manière avec Visual Studio 2015 et TFS Préface Avant de commencer Préparation des outils et création
Plus en détailFormation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux
Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailPG208, Projet n 3 : Serveur HTTP évolué
PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif
Plus en détailOutils de traitements de logs Apache
Outils de traitements de logs Apache 1) Anonymisation des logs 2) Outil visuel d'exploration des données 3) Adaptation d'un robot 1 Anonymisation des logs Objectifs : Anonymiser les logs du point de vue
Plus en détail< Atelier 1 /> Démarrer une application web
MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE
Plus en détailCRÉ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étailTP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip.
TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive
Plus en détailMicrosoft 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étailProgrammation 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étailDA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova
DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,
Plus en détailNotre processus d embauche
Notre processus d embauche Nous considérons la passion, le désir d apprendre et les habilités priment sur l expérience. Notre processus d évaluation des candidatures passe donc par une auto-évaluation
Plus en détailDescription des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013
Exemple d utilisation du gestionnaire de conception Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 6, rue de l Etang, L-5326
Plus en détailLICENCE PROFESSIONNELLE
LICENCE PROFESSIONNELLE Développement d'applications Intranet/Internet Domaine : Sciences, Technologies, Santé Dénomination nationale : Systèmes informatiques et logiciels Organisation : Institut Universitaire
Plus en détailPrésentation de l'architecture QlikView. Livre blanc sur la technologie QlikView. Date de publication : octobre 2010 www.qlikview.
Présentation de l'architecture QlikView Livre blanc sur la technologie QlikView Date de publication : octobre 2010 Sommaire Signification de la plate-forme QlikView... 3 La majorité des logiciels de BI
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détail1.2 - Définition Web 2.0 ( wikipedia )
1.2 - Définition Web 2.0 ( wikipedia ) Web 2.0 est un terme souvent utilisé pour désigner ce qui est perçu comme une transition importante du World Wide Web, passant d'une collection de sites web à une
Plus en détail7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES
Philippe Crépin 7 villa de la citadelle Né le 13 mai 1983 94110 Arcueil Nationalité : Française : 06.17.46.12.09 : phi.crepin@gmail.com Disponibilité : En poste chez Soft Computing Développeur Web JEE
Plus en détail1 JBoss Entreprise Middleware
1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détailL'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:
420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application
Plus en détailEtude de cas : PGE JEE V2
Arrivés à ce point du tutoriel, nous savons créer une application Web implémentant la persistance des données. Toutefois, le modèle de cette application était simple et composé d'une unique classe et les
Plus en détailAnalyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Plus en détailFailles XSS : Principes, Catégories Démonstrations, Contre mesures
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,
Plus en détailE-mail : contact@nqicorp.com - Web : http://www.nqicorp.com
- 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................
Plus en détailGestion de tests et tests de performance avec Salomé-TMF & CLIF
Gestion de tests et tests de performance avec Salomé-TMF & CLIF Orange Labs Bruno Dillenseger, Marche Mikael Recherche & Développement 22/05/2008, présentation à LinuxDays 2008 Sommaire partie 1 Salomé-Test
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailFormation 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étailOutil de gestion et de suivi des projets
Outil de gestion et de suivi des projets Proposition technique et commerciale Amselem Jonathan - Corniglion Benoit - Sorine Olivier Troche Mariela - Zekri Sarah 08 Sommaire I. Les atouts de la proposition
Plus en détail1. Installation d'un serveur d'application JBoss:
EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download
Plus en détailJava pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Plus en détaile-obs : Conception et utilisation Rémy Decoupes Ether // ums3365
e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365 1 e-obs - Plan i. A quoi sert e-obs ii. Positionnement d e-obs dans la chaine de production iii. Description générale des modules iv. Démonstration
Plus en détailFormation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Plus en détailPoint sur les solutions de développement d apps pour les périphériques mobiles
Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle
Plus en détailLe génie logiciel. maintenance de logiciels.
Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction
Plus en détailComparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA
Comparatif CMS Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Sommaire Introduction : Dans le cadre de notre projet de master première année, il nous a été demandé de développer un moteur de recherche
Plus en détailNFA016 : 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étailPHP 5.4 Développez un site web dynamique et interactif
Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................
Plus en détailSoon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions
Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1
Plus en détailPré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étailKAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim
01/03/2013 Le rôle de Serveur Web (IIS) dans Windows Server 2008 R2 vous permet de partager des informations avec des utilisateurs sur Internet, sur un intranet ou un extranet. Windows Server 2008 R2 met
Plus en détailDocumentation pour administrateur Application AER
Documentation pour administrateur Application AER Etape 1 - Déploiement de l application 1.1. Préliminaires L application AER est déployée sur une machine VPS (Virtual Private Server). Il s agit d un serveur
Plus en détailHadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015
Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 3 TP noté Méthodologie Map/Reduce - programmation Hadoop - Sqoop Préparation du TP 1 Importer la machine virtuelle.ova du
Plus en détailMagento. 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
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Plus en détailDocumentation technique
Documentation technique Documentation technique Destinataires : Direction EIP Nom du fichier : 2011_TD1_FR_Symbiosys.odt Promotion : 2011 (Epitech 5) Date de création : 10.04.2009 Chef de groupe : Manfred
Plus en détailLe 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étailLangage 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étailServeur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation
Serveur Acronis Backup & Recovery 10 pour Linux Update 5 Guide d'installation Table des matières 1 Avant l'installation...3 1.1 Composants d'acronis Backup & Recovery 10... 3 1.1.1 Agent pour Linux...
Plus en détailMINI-MÉMOIRE DE PPP - S4
MINI-MÉMOIRE DE PPP - S4 Par [OUAZAR ARIS-ARAB] [S4-G2] [AYME OLIVIA] TABLE DES MATIÈRES ANALYSE DE L ENTREPRISE # PRESENTATION DE L ENTREPRISE # LISTE ET DESCRIPTION DES DIFFERENTS METIERS REPRESENTES
Plus en détail