Développement d’applications Web HTML5

31350 CFA

Ce livre s’adresse à tout développeur, chef de projet ou directeur technique amené à travailler sur le développement d’applications web HTML5 avec Visual Studio 2015 et Team Foundation Server. Le lecteur est guidé depuis l’écriture du code côté serveur et client, en passant par la création des tests, jusqu’à la mise en production. L’auteur tient compte des problématiques inhérentes au développement en équipe et propose des solutions afin d’assurer une agilité et une qualité de code optimale. Une connaissance des bases du langage C#, des concepts de la programmation orientée objet ainsi que des technologies du web est un prérequis indispensable pour tirer pleinement profit de ce livre.

Dans un premier temps, le lecteur est guidé sur la mise en place de l’environnement technique de développement et la planification du projet. Place au code ensuite avec la création d’une API REST JSON avec ASP.NET 5 MVC 6 associé à Entity Framework 7. Le chapitre dédié au JavaScript présente un ensemble de recommandations, de bonnes pratiques et de modèles de programmation à mettre en œuvre pour produire un code performant, propre et facile à maintenir. Les chapitres suivants ouvrent la voie au développement d’applications monopages (Single Page Applications), l’auteur propose de réaliser une application AngularJS complètement fonctionnelle. Le lecteur découvrira ensuite le langage TypeScript, sa syntaxe, ses concepts, pour développer des applications complexes tout en conservant les qualités qui ont fait la popularité du JavaScript.

Le chapitre sur les web apps adaptatives plonge le développeur au sein des nouvelles techniques qu’il doit maîtriser pour adapter ses interfaces aux divers terminaux aujourd’hui connectés (Responsive web design).

Après le développement proprement dit, l’auteur présente les outils de Visual Studio et Team Foundation Server pour créer et industrialiser les tests sous toutes leurs formes. Le lecteur est ensuite guidé dans la création d’un processus de Build d’intégration continue, suivi tout naturellement de la configuration pour mettre en place le déploiement continu. Ensuite, l’auteur détaille comment mettre en place le service Application Insights afin de suivre la disponibilité et l’utilisation des applications web.

Enfin, c’est dans les derniers chapitres que vous trouverez une sélection d’API HTML5 particulièrement intéressantes pour vous permettre de proposer des interactions toujours plus riches et de prendre dès aujourd’hui la vague du web de demain.

Table des matières

  • Avant de commencer
    • 1. Introduction
    • 2. HTML5 oui, mais pas que…
      • 2.1 HTML5
      • 2.2 JavaScript
      • 2.3 CSS
    • 3. Les outils
  • Préparation des outils et création du projet
    • 1. Introduction
    • 2. Team Foundation Server
      • 2.1 Visual Studio ALM
      • 2.2 Les services de TFS
        • 2.2.1 Planning
        • 2.2.2 Contrôle des sources
        • 2.2.3 Éléments de travail
        • 2.2.4 Automatisation de la build
        • 2.2.5 Tests et Lab Management
        • 2.2.6 Rapports et analyse
      • 2.3 Visual Studio Online ou serveur dédié
    • 3. Démarrage du projet
      • 3.1 Création d’un compte Visual Studio Online
      • 3.2 Création du projet d’équipe
      • 3.3 Team Web Access
        • 3.3.1 Gestion de l’équipe et droits d’accès
        • 3.3.2 Les Work Items
        • 3.3.3 Le Product Backlog
        • 3.3.4 Gestion des versions et du planning
    • 4. Visual Studio
      • 4.1 Création du projet
        • 4.1.1 Connexion à TFS et configuration de l’espace de travail
        • 4.1.2 Connexion à un projet avec Team Foundation Version Control
        • 4.1.3 Création du projet et premier archivage de code
      • 4.2 Team Explorer
        • 4.2.1 Gestion des branches
        • 4.2.2 Les requêtes d’éléments de travail
    • 5. Les plug-ins indispensables
      • 5.1 Web Essentials
      • 5.2 Chutzpah
      • 5.3 Extension GitHub pour Visual Studio
  • Architecture d’une application web
    • 1. Introduction
    • 2. Qu’est-ce qu’une web app ?
    • 3. Les approches possibles
      • 3.1 Fonctionnement de l’architecture monopage
      • 3.2 Le site web seul
      • 3.3 L’API et ses apps
      • 3.4 XML et JSON
    • 4. Applications JavaScript ou hybrides client-serveur
      • 4.1 L’application hybride client-serveur
      • 4.2 L’application JavaScript
      • 4.3 Comment choisir ?
  • Création d’API REST
    • 1. Introduction
    • 2. Présentation de REST
    • 3. ASP.NET ou Node.js ?
      • 3.1 ASP.NET MVC
      • 3.2 Node.js
      • 3.3 Lequel choisir ?
    • 4. Le projet ASP.NET 5
      • 4.1 Création du projet
      • 4.2 Organisation du projet
      • 4.3 Configuration de MVC 6 et Entity Framework 7
        • 4.3.1 Ajout des dépendances
        • 4.3.2 Ajout du fichier de configuration
        • 4.3.3 Configuration d’ASP.NET MVC
    • 5. Entity Framework 7
      • 5.1 Création des modèles
      • 5.2 Création du contexte de base de données
      • 5.3 Création du Repository
      • 5.4 Configuration des migrations avec DNVM
    • 6. Création de la WebAPI
      • 6.1 Création des contrôleurs
        • 6.1.1 Les méthodes GET
        • 6.1.2 Ajout des méthodes POST, PUT et DELETE
      • 6.2 Gestion des erreurs
      • 6.3 Tester avec Fiddler
      • 6.4 Concepts avancés
        • 6.4.1 Objets de transfert de données
        • 6.4.2 Asynchronisme
  • JavaScript moderne
    • 1. Introduction
    • 2. Conventions de code JavaScript
      • 2.1 Style
        • 2.1.1 Indentation
        • 2.1.2 Terminaison de ligne
        • 2.1.3 Opérations sur plusieurs lignes
        • 2.1.4 Variables
        • 2.1.5 Fonctions
        • 2.1.6 Comparateurs d’égalité
        • 2.1.7 Boucles et expressions booléennes
        • 2.1.8 Commentaires
      • 2.2 Conventions de nommage
        • 2.2.1 Variables et constantes
        • 2.2.2 Fonctions
        • 2.2.3 Classes et constructeurs
      • 2.3 Les pièges à éviter
        • 2.3.1 null et undefined
        • 2.3.2 eval()
    • 3. Les patterns de base à connaître
      • 3.1 Les classes
      • 3.2 L’héritage
      • 3.3 Les membres publics, privés et privilégiés
        • 3.3.1 Publics
        • 3.3.2 Privés
        • 3.3.3 Méthodes privilégiées
      • 3.4 Les fonctions anonymes à invocation immédiate
      • 3.5 Les modules
        • 3.5.1 Le pattern Module
        • 3.5.2 Le pattern Façade
        • 3.5.3 Gestion des dépendances avec AMD
      • 3.6 Les callbacks
    • 4. Les bonnes pratiques
      • 4.1 Le mode strict
      • 4.2 Erreurs personnalisées
      • 4.3 Documentation du code
    • 5. Les outils
      • 5.1 JSHint
        • 5.1.1 Introduction
        • 5.1.2 Configuration
        • 5.1.3 Déclaration d’exceptions
      • 5.2 Outils pour le développeur intégrés au navigateur
      • 5.3 Vorlon.JS
  • Single Page Applications
    • 1. Introduction
    • 2. Choisir un framework
    • 3. AngularJS
      • 3.1 Introduction
      • 3.2 Une application AngularJS simple
        • 3.2.1 Configuration du dossier wwwroot
        • 3.2.2 Premier exemple de code AngularJS
      • 3.3 Un exemple plus avancé
        • 3.3.1 Création du premier module
        • 3.3.2 Un premier contrôleur
        • 3.3.3 L’injection de dépendances
        • 3.3.4 Le scope
        • 3.3.5 Les directives
        • 3.3.6 Conventions et style
        • 3.3.7 Filtres, services, providers, factories
    • 4. Développement de la web app
      • 4.1 Préparation du projet
        • 4.1.1 package.json
        • 4.1.2 bower.json
        • 4.1.3 Gruntfile.js
      • 4.2 Création de l’application Angular
        • 4.2.1 Création du conteneur de l’application
        • 4.2.2 Organisation des sources
        • 4.2.3 Gestion des routes
        • 4.2.4 Création des contrôleurs
        • 4.2.5 Création des vues
        • 4.2.6 Chargement de l’application dans la page web
        • 4.2.7 Ajout du menu de navigation
      • 4.3 Utiliser l’API
        • 4.3.1 $http
        • 4.3.2 Création de BooksService
        • 4.3.3 CRUD avec $resources
        • 4.3.4 Liste des livres
        • 4.3.5 Détail
        • 4.3.6 Ajouter un livre
        • 4.3.7 Afficher les critiques
        • 4.3.8 Ajouter une critique
  • TypeScript
    • 1. Introduction
    • 2. Présentation de TypeScript
    • 3. Le langage
      • 3.1 Le système de typage
        • 3.1.1 Déclaration
        • 3.1.2 Les types primitifs
        • 3.1.3 Le type any
        • 3.1.4 L’inférence de type
      • 3.2 L’objet
        • 3.2.1 Les classes
        • 3.2.2 Les modificateurs public, private et protected
        • 3.2.3 L’héritage
        • 3.2.4 Les interfaces
      • 3.3 Les génériques
      • 3.4 Les modules
        • 3.4.1 Les modules internes
        • 3.4.2 Les modules externes ou modules ES6
      • 3.5 Autres éléments intéressants du langage
        • 3.5.1 Boucle for…of
        • 3.5.2 Les Union Types
        • 3.5.3 Les fonctions anonymes fléchées d’ES6
        • 3.5.4 ES6 let et const
        • 3.5.5 Les déstructurations ES6
        • 3.5.6 Les décorateurs
      • 3.6 Et pour le futur ?
    • 4. Configurer le projet pour utiliser TypeScript
      • 4.1 Installation
      • 4.2 Compilation
        • 4.2.1 En ligne de commande
        • 4.2.2 Configuration de la compilation avec Visual Studio
        • 4.2.3 Configuration de la compilation avec tsconfig.json
        • 4.2.4 Intégration à la build Grunt
      • 4.3 Utiliser TypeScript avec des librairies JavaScript
        • 4.3.1 Les fichiers de définition de type
        • 4.3.2 Récupération automatisée des fichiers de définition
        • 4.3.3 Utilisation des librairies en TypeScript
      • 4.4 Coder en AngularJS avec TypeScript
        • 4.4.1 Transformation du code AngularJS pour TypeScript
        • 4.4.2 Création des modules
        • 4.4.3 Configuration de RequireJS
        • 4.4.4 Et pour Angular 2 ?
      • 4.5 Déboguer en TypeScript
        • 4.5.1 Dans Visual Studio
        • 4.5.2 Dans les autres navigateurs
  • Web apps adaptatives
    • 1. Introduction
    • 2. Responsive design ou site dédié ?
      • 2.1 Le site dédié
      • 2.2 Le site web responsive
      • 2.3 Optimisation
      • 2.4 L’approche RESS
    • 3. CSS
      • 3.1 Présentation de CSS
      • 3.2 Les feuilles de style
      • 3.3 Les sélecteurs CSS
        • 3.3.1 Les sélecteurs de base
        • 3.3.2 Le sélecteur d’attribut
        • 3.3.3 Les sélecteurs hiérarchiques
        • 3.3.4 Les pseudo-classes et pseudo-éléments
      • 3.4 Les media queries
        • 3.4.1 La syntaxe
        • 3.4.2 Les critères
        • 3.4.3 Définir les bonnes media queries pour son projet
        • 3.4.4 Le viewport
    • 4. LESS
      • 4.1 LESS et Sass
      • 4.2 Fonctionnalités de LESS
        • 4.2.1 Installation et utilisation de LESS
        • 4.2.2 Les variables
        • 4.2.3 Imbrication des fichiers
        • 4.2.4 Organisation des fichiers
        • 4.2.5 Imbrication de règles
        • 4.2.6 Mixins
        • 4.2.7 Mathématiques
        • 4.2.8 Boucles et conditions
        • 4.2.9 Le style de l’application
  • Intégration continue
    • 1. Introduction
    • 2. Build .NET
      • 2.1 Que fait une build .NET ?
      • 2.2 Team Foundation Build
        • 2.2.1 Architecture
        • 2.2.2 La définition de build
        • 2.2.3 Contrôleur de build local ou hébergé
      • 2.3 Build XAML
        • 2.3.1 Les modèles de processus
        • 2.3.2 Configuration
        • 2.3.3 Création des agents
        • 2.3.4 Création de la définition de build
        • 2.3.5 Personnalisation du modèle de processus
        • 2.3.6 Activité personnalisée
      • 2.4 Build vNext
        • 2.4.1 Configuration
        • 2.4.2 Création de la définition de build
        • 2.4.3 Exécution
        • 2.4.4 Suivi des exécutions
    • 3. Build JavaScript
      • 3.1 Que fait une build JavaScript ?
      • 3.2 Grunt
        • 3.2.1 Présentation
        • 3.2.2 Configuration de la build Grunt du projet
      • 3.3 Gulp
      • 3.4 Préparation des livrables pour la production
        • 3.4.1 Présentation
        • 3.4.2 Génération des Bundles avec Grunt
      • 3.5 Exécution de la build
        • 3.5.1 Exécution manuelle et automatisée
        • 3.5.2 Intégration à TFS Build
  • Les tests
    • 1. Introduction
    • 2. Les tests unitaires
      • 2.1 Tests unitaires et TDD
      • 2.2 Anatomie d’un test unitaire
      • 2.3 Les tests unitaires en .NET
        • 2.3.1 Création d’un projet de test unitaire
        • 2.3.2 Configuration
        • 2.3.3 Écriture de tests
        • 2.3.4 Exécution des tests
        • 2.3.5 Intégration à la build TFS
      • 2.4 Les tests unitaires en JavaScript
        • 2.4.1 Karma
        • 2.4.2 Mocha
        • 2.4.3 Chai
        • 2.4.4 SinonJS
        • 2.4.5 Intégration à Grunt
    • 3. Les tests fonctionnels
      • 3.1 Introduction
      • 3.2 Plans, suites et cas de tests
      • 3.3 Planification
        • 3.3.1 Création d’un plan de test
        • 3.3.2 Création de suites de tests
        • 3.3.3 Création de cas de tests
      • 3.4 Exécution
      • 3.5 Suivi et rapports
    • 4. Tests de charge
      • 4.1 Introduction
      • 4.2 Les tests web
      • 4.3 Les tests de charge
      • 4.4 Tests de charge dans le cloud
  • Déploiement et suivi en production
    • 1. Introduction
    • 2. Déploiement continu sur Azure avec Visual Studio Online
      • 2.1 Présentation
      • 2.2 Configuration
    • 3. Gestion avancée des déploiements avec Release Manager
      • 3.1 Présentation
      • 3.2 Configuration
        • 3.2.1 Création du chemin de livraison en production
        • 3.2.2 Livraison d’une nouvelle version
    • 4. Suivi et analyse de l’application en production avec Application Insights
      • 4.1 Présentation
      • 4.2 Configuration
        • 4.2.1 Configuration du service
        • 4.2.2 Ajout à un nouveau projet
        • 4.2.3 Ajout à un projet existant
      • 4.3 Récupération et analyse des données
        • 4.3.1 Récupération et analyse des premières données
        • 4.3.2 Informations disponibles de base
        • 4.3.3 Données d’utilisation des pages
        • 4.3.4 Intégration à une application AngularJS
        • 4.3.5 Suivi de la disponibilité
        • 4.3.6 Mise en place d’alertes
  • Les nouvelles API d’HTML5
    • 1. Introduction
    • 2. Les Web Components
      • 2.1 Principes
        • 2.1.1 Comprendre le Shadow DOM
        • 2.1.2 Déclaration de nouveaux composants
        • 2.1.3 Utilisation des templates et des imports
        • 2.1.4 Utiliser les Web Components avec des librairies JavaScript
    • 3. Géolocalisation
      • 3.1 Présentation
      • 3.2 Comment ça marche ?
    • 4. Hors ligne
      • 4.1 Le cache d’application
      • 4.2 Stockage de données en local
        • 4.2.1 Le Web Storage
        • 4.2.2 IndexedDB
    • 5. Accès au système
      • 5.1 FileAPI
      • 5.2 getUserMedia
      • 5.3 Orientation, accélération et autres capteurs
    • 6. Graphisme avancé
      • 6.1 Canvas
        • 6.1.1 Canvas 2D
        • 6.1.2 Canvas 3D
      • 6.2 SVG
    • 7. Les Web Workers
    • 8. Et les autres ?
  • Évolution des standards et rétrocompatibilité
Catégorie

Avis des clients

Il n'y a pas encore d'avis.

Soyez le premier à donner votre avis sur “Développement d’applications Web HTML5”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus d'offres pour ce produit!

Questions et demandes générales

Il n'y a pas encore de demandes de renseignements.