Introduction à une techno web à la mode AngularJS

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

Download "Introduction à une techno web à la mode AngularJS"

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 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étail

Auteur 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 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étail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Dé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étail

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

Devenez 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étail

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

Projet 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étail

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

Avant-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étail

Mé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. 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étail

CQP Développeur Nouvelles Technologies (DNT)

CQP 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étail

Conception 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 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é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

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

Dans 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étail

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

Les 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étail

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.

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. 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étail

Module BD et sites WEB

Module 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étail

3W 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 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étail

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

Refonte 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étail

I La création d'un compte de messagerie Gmail.

I 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étail

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

ASP.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étail

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

Architecture 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é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

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut 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étail

Projet de Java Enterprise Edition

Projet 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étail

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

INTERNET 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étail

Sage CRM. 7.2 Guide de Portail Client

Sage 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étail

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)

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) 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étail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION 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étail

Programmation Web. Introduction

Programmation 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étail

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting) twitter @samijaber http://www.dng-consulting.com

GWT à 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étail

WEB & 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 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étail

Application Web et J2EE

Application 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étail

Mise en œuvre des serveurs d application

Mise 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étail

Petite définition : Présentation :

Petite 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étail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-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étail

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.

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. 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étail

TAGREROUT Seyf Allah TMRIM

TAGREROUT 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étail

Hébergement de site web Damien Nouvel

Hé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étail

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

AJAX. (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é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

les 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 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étail

Automatisation de l administration système

Automatisation 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étail

ECLIPSE ET PDT (Php development tools)

ECLIPSE 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étail

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

Sommaire. 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étail

Bonnes pratiques de développement JavaScript

Bonnes 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étail

Messagerie asynchrone et Services Web

Messagerie 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étail

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

Les 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étail

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]

10. 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étail

Création de formulaires interactifs

Cré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étail

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

TP 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étail

HTML5. Développement d applications Web. Visual Studio 2015 et TFS. L art et la manière. avec. Philippe DIDIERGEORGES

HTML5. 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étail

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

Formation 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étail

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

LANGAGUE 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étail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, 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étail

Outils de traitements de logs Apache

Outils 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

< 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é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

TP 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. 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é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

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

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA 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étail

Notre processus d embauche

Notre 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étail

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

Description 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étail

LICENCE PROFESSIONNELLE

LICENCE 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étail

Pré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 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étail

Compte Rendu d intégration d application

Compte 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étail

Projet Active Object

Projet 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étail

1.2 - Définition Web 2.0 ( wikipedia )

1.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étail

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

7 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étail

1 JBoss Entreprise Middleware

1 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étail

Cours en ligne Développement Java pour le web

Cours 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étail

L'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:

L'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étail

Etude de cas : PGE JEE V2

Etude 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étail

Analyse,, Conception des Systèmes Informatiques

Analyse,, 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étail

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

Failles 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étail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-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étail

Gestion de tests et tests de performance avec Salomé-TMF & CLIF

Gestion 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étail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur 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é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

Outil de gestion et de suivi des projets

Outil 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étail

1. Installation d'un serveur d'application JBoss:

1. 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étail

Java pour le Web. Cours Java - F. Michel

Java 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étail

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

e-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étail

Formation en Logiciels Libres. Fiche d inscription

Formation 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étail

Point 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 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étail

Le génie logiciel. maintenance de logiciels.

Le 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étail

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

Comparatif 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é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

PHP 5.4 Développez un site web dynamique et interactif

PHP 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étail

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Soon_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étail

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

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

KAJOUT 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étail

Documentation pour administrateur Application AER

Documentation 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étail

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015

Hadoop / 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étail

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

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s 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étail

Documentation technique

Documentation 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é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

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

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Serveur 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étail

MINI-MÉMOIRE DE PPP - S4

MINI-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