1. Supports de cours
  2. Meteor et Ionic - Développez en JavaScript vos applications mobiles fullstack

Meteor et Ionic Développez en JavaScript vos applications mobiles fullstack

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre s'adresse aux développeurs web qui souhaitent réaliser en JavaScript toutes les couches logicielles (Back-End, Front-End, partie mobile) d'une application web multiplateforme en utilisant la puissance des frameworks Meteor ou Ionic (respectivement en version 1.6 et 3 au moment de l'écriture). Une bonne connaissance du développement web avec HTML, CSS et JavaScript est un prérequis indispensable.

Le livre débute par une présentation du langage JavaScript et de ses particularités avant d'étudier les principes de base du développement Meteor (templates, helpers, sessions, routes…) puis ses concepts avancés (collections MongoDB, CRUD, échanges client-serveur, sécurité, stockage des données…). Vous découvrez également comment mettre en production un projet Meteor.

L'auteur propose ensuite une présentation de TypeScript et de certaines nouveautés ECMAScript 6, éléments de base du framework Ionic. Comme pour Meteor, vous étudiez les concepts de base (bibliothèques, dépendances, syntaxes…) et avancés (système d'alerte, navigation, formulaires, providers…) du développement avec Ionic. Un chapitre présente la manipulation d'un certain nombre de fonctionnalités liées au périphérique (stockage de données, envoi de SMS, scan de QR Code, etc.) et un autre est dédié aux concepts et bonnes pratiques des tests automatisés et à leur mise en pratique dans un projet Ionic. Vous verrez également comment publier une application Ionic sur l'Apple Store et le Google Play Store.

Tout au long du livre, l'auteur s'appuie sur des exemples pratiques et de difficulté progressive. Il propose également au lecteur une mise en situation concrète avec le développement en TDD (Test Driven Development) d'une application de messagerie instantanée, illustré dans un premier temps avec Meteor puis avec Ionic.

Des éléments sont disponibles en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Avant-propos – La mobilité technologique – JavaScript – Meteor – Aller plus loin avec Meteor – Cas concret : Développement Meteor – Mise en production d'une application Meteor – TypeScript – Angular – Commencer avec Ionic – Les bases du développement Ionic – Aller plus loin avec Ionic – Manipuler les fonctionnalités du périphérique – Les tests automatisés – Développement d'une application en TDD – Publication de l'application

Table des matières

  • Avant-propos
    • 1. À qui s'adresse cet ouvrage ?
    • 2. Objectif de l'ouvrage
    • 3. Prérequis
    • 4. Utilisation de l'anglais
    • 5. Détail des chapitres
    • 6. Remerciements
  • La mobilité technologique
    • 1. Les incontournables smartphones
    • 2. Ionic
    • 3. Meteor
    • 4. Technologies concurrentes en développement mobile
      • 4.1 Développement natif
      • 4.2 Apache Cordova
      • 4.3 Autres technologies
      • 4.4 Quelle technologie choisir ?
  • JavaScript
    • 1. Présentation
    • 2. Les bases de JavaScript
      • 2.1 Outils de développement et objet console
      • 2.2 Éléments de syntaxe
        • 2.2.1 Les commentaires
        • 2.2.2 Les variables et les types
        • 2.2.3 Les tableaux
        • 2.2.4 Les structures conditionnelles et boucles
        • 2.2.5 Les fonctions
        • 2.2.6 Le DOM et les sélecteurs
        • 2.2.7 Expressions régulières
        • 2.2.8 Le JavaScript discret
        • 2.2.9 Indentation du JavaScript
        • 2.2.10 Le JSON
        • 2.2.11 Frameworks JavaScript
    • 3. Éléments avancés de JavaScript
      • 3.1 Types primitifs et complexes
      • 3.2 Particularités de JavaScript
        • 3.2.1 Programmation orientée prototype
        • 3.2.2 Portée des variables
        • 3.2.3 Typage dynamique et faible
  • Meteor
    • 1. Présentation
    • 2. Pourquoi choisir Meteor ?
    • 3. Le manifeste réactif
    • 4. Fonctionnement de Meteor
      • 4.1 Protocole DDP
      • 4.2 MongoDB et minimongo
    • 5. Installation de Meteor
      • 5.1 macOS et Linux
      • 5.2 Windows
    • 6. Création d'un nouveau projet
      • 6.1 Organisation d'un nouveau projet
      • 6.2 Dossiers spécifiques Meteor
      • 6.3 Écrire le fichier .gitignore d’un projet Meteor
      • 6.4 Projets pédagogiques pré-existants
      • 6.5 Installation des dépendances du projet
    • 7. Outil Meteor en ligne de commande
      • 7.1 Obtenir de l'aide
      • 7.2 Lancer le serveur de développement
      • 7.3 Gérer des paquets Meteor
        • 7.3.1 Rechercher un paquet
        • 7.3.2 Afficher les détails d'un paquet
        • 7.3.3 Ajouter un paquet
        • 7.3.4 Lister les paquets
        • 7.3.5 Supprimer un paquet
        • 7.3.6 Mettre à jour Meteor et les paquets
        • 7.3.7 Ouvrir une interface MongoDB
        • 7.3.8 Purger les données de développement
      • 7.4 Les templates
    • 8. Éléments syntaxiques
      • 8.1 Envoyer des données aux templates
      • 8.2 Afficher des valeurs grâce aux helpers
      • 8.3 Ajouter des fonctions aux helpers
      • 8.4 Helpers Meteor généraux
      • 8.5 Outrepasser la protection XSS
      • 8.6 Utiliser des boucles
      • 8.7 Utiliser une condition
      • 8.8 Inclure des templates
      • 8.9 Définir un contexte de données
      • 8.10 Gérer les événements navigateur
        • 8.10.1 Soumission d'un formulaire
        • 8.10.2 Propagation des événements
        • 8.10.3 Liste non exhaustive des événements
      • 8.11 Organisation des templates
      • 8.12 Les sessions
      • 8.13 Limiter l'exécution du code
    • 9. Les routes Meteor
      • 9.1 Organisation des routes
      • 9.2 Les routes simples
      • 9.3 Les layouts
      • 9.4 Les routes paramétrées
      • 9.5 Les routes nommées
      • 9.6 Redirection vers une route
      • 9.7 Éléments de la balise head
      • 9.8 Un point sur le référencement
  • Aller plus loin avec Meteor
    • 1. Les collections MongoDB
      • 1.1 Les paquets insecure et autopublish
      • 1.2 Déclaration d'une collection
      • 1.3 Ajout de données dans une collection
      • 1.4 Recherche de documents
        • 1.4.1 Rechercher plusieurs documents
        • 1.4.2 Rechercher tous les documents d’une collection
        • 1.4.3 Rechercher avec des sélecteurs
        • 1.4.4 Recherche supérieure ou inférieure
      • 1.5 Recherche d'un document
        • 1.5.1 En fonction de l'identifiant
        • 1.5.2 En fonction des champs
      • 1.6 Options de recherche
        • 1.6.1 Trier les documents d'une recherche
        • 1.6.2 Ignorer les premiers résultats
        • 1.6.3 Limiter le nombre de résultats
        • 1.6.4 Limiter les champs renvoyés
        • 1.6.5 Recherche non réactive
      • 1.7 Observer la modification de données
      • 1.8 Modifier des documents
      • 1.9 Supprimer des documents
      • 1.10 Utiliser des collections locales
      • 1.11 Exemple de CRUD Meteor
    • 2. Sécuriser les données des collections
      • 2.1 Limiter la lecture avec les publications
        • 2.1.1 Définir une publication
        • 2.1.2 Publication paramétrée
        • 2.1.3 Publication globale sans abonnement
      • 2.2 Limiter la modification de données
      • 2.3 Autorisations d'accès en modification
      • 2.4 Les méthodes Meteor
        • 2.4.1 Vérifier les données
        • 2.4.2 Gérer les retours serveur
    • 3. Les comptes utilisateurs
      • 3.1 Installation des paquets
      • 3.2 Données utilisateurs personnalisées
        • 3.2.1 Définir un champ texte
        • 3.2.2 Définir un champ radio
        • 3.2.3 Définir une liste déroulante
        • 3.2.4 Définir une case à cocher
        • 3.2.5 Enregistrer les données
        • 3.2.6 Utiliser user.profile comporte des risques
        • 3.2.7 Restreindre l'accès aux ressources
    • 4. Définir des options de configuration
  • Cas concret : Développement Meteor
    • 1. Projet concret
    • 2. Création du projet
    • 3. Bootstrap personnalisé et layout
    • 4. Page d'accueil
    • 5. Création d'une conversation
      • 5.1 Création de la page et du formulaire
      • 5.2 Création de la route
      • 5.3 Création de la collection MongoDB
      • 5.4 Prérequis pour générer des hash
      • 5.5 Création de la méthode Meteor
      • 5.6 Traitement du formulaire
      • 5.7 Test de fonctionnement
    • 6. Envoyer des messages
      • 6.1 Définir son nom d'utilisateur
      • 6.2 Template de la conversation
      • 6.3 Abonnement Meteor
      • 6.4 Création du formulaire de rédaction
      • 6.5 Enregistrement du message
    • 7. Lecture des messages
    • 8. Redirection après création de la conversation
    • 9. Ajout du chiffrement
      • 9.1 Demander un mot de passe
      • 9.2 Chiffrer les messages envoyés
      • 9.3 Déchiffrer les messages lus
    • 10. Suppression des messages
    • 11. Suppression du salon de discussion
    • 12. API et tests automatisés
      • 12.1 Création d'une conversation
      • 12.2 Récupération d'une conversation
      • 12.3 Ajout d'un message
      • 12.4 Suppression des messages
      • 12.5 Suppression du salon de conversation
  • Mise en production d’une application Meteor
    • 1. Introduction
    • 2. Générer la clé SSH
    • 3. Nom de domaine et DNS
    • 4. Meteor-up
      • 4.1 Installer Meteor-up
      • 4.2 Configurer Meteor-up
      • 4.3 Installer les dépendances sur le serveur
      • 4.4 Déploiement
  • TypeScript
    • 1. Un sur-ensemble JavaScript
    • 2. Intérêts
    • 3. La transpilation
    • 4. Le code JavaScript est du TypeScript valide
    • 5. Node.js et NPM
      • 5.1 Installation
        • 5.1.1 Windows
        • 5.1.2 macOS
      • 5.2 Utilisation
    • 6. Installation de TypeScript
    • 7. Transpiler un fichier TypeScript
    • 8. Syntaxe et principes
      • 8.1 Les types
      • 8.2 Les fonctions
        • 8.2.1 Paramètre par défaut
        • 8.2.2 Paramètre optionnel
        • 8.2.3 Paramètres supplémentaires
      • 8.3 Boucle for of
    • 9. Les fondamentaux de l'orienté objet
      • 9.1 L'encapsulation
      • 9.2 L'héritage et le polymorphisme
      • 9.3 Classes et méthodes en TypeScript ES6
      • 9.4 Les interfaces
      • 9.5 Les classes abstraites
    • 10. Les principes SOLID
      • 10.1 Principe de responsabilité unique
      • 10.2 Principe ouvert/fermé
      • 10.3 Substitution de Liskov
      • 10.4 Ségrégation des interfaces
      • 10.5 Inversion des dépendances
  • Angular
    • 1. Présentation
    • 2. Les autres frameworks JavaScript
      • 2.1 React
      • 2.2 Vue
    • 3. Pourquoi Angular ?
    • 4. Un mot pour les utilisateurs de jQuery
    • 5. Les inconvénients d'Angular
  • Commencer avec Ionic
    • 1. Introduction à Ionic
    • 2. Installer Ionic
    • 3. Installer les dépendances d'Android
    • 4. Installer les dépendances d'iOS
    • 5. Démarrer une application
      • 5.1 Démarrer un projet à partir d'une application préexistante
      • 5.2 Architecture du projet
    • 6. Ajouter des plateformes
    • 7. Tester l'application sur le navigateur
      • 7.1 Démarrer le serveur
      • 7.2 Déboguer avec les outils de développement
    • 8. Tester l'application sur un émulateur
      • 8.1 Android
      • 8.2 iOS
      • 8.3 Débugger l'application
    • 9. Tester l'application sur le périphérique
      • 9.1 Android
      • 9.2 iOS
  • Les bases du développement Ionic
    • 1. Expérimenter avec un projet
    • 2. AppModule et NgModule
    • 3. Les composants Angular
    • 4. Les pages Ionic
    • 5. Les templates
      • 5.1 Affichage des données
      • 5.2 Affichage du HTML à partir du code TypeScript
      • 5.3 Envoi des données à double sens avec ngModel
      • 5.4 Structures conditionnelles
      • 5.5 Boucle pour afficher une liste
    • 6. Éléments graphiques
      • 6.1 Boutons
      • 6.2 Listes
        • 6.2.1 Listes simples
        • 6.2.2 Listes sans lignes séparatrices
        • 6.2.3 Liste à scroll infini
      • 6.3 Les badges
      • 6.4 Les cartes
        • 6.4.1 Les cartes à en-têtes
        • 6.4.2 Les cartes à listes
      • 6.5 Insertion d'une image
      • 6.6 Les icônes Ionic
      • 6.7 Utilisation des tableaux
      • 6.8 Systèmes de slides
  • Aller plus loin avec Ionic
    • 1. Les alertes
      • 1.1 Alertes simples
      • 1.2 Alertes avec saisie
    • 2. La navigation
      • 2.1 Aller sur un nouvel écran
      • 2.2 Revenir à la page précédente
      • 2.3 Cycle de vie d'une page
    • 3. Les modales
      • 3.1 Ouvrir une modale
      • 3.2 Fermer une modale sans retour de données
      • 3.3 Fermer une modale avec retour de données
    • 4. Événements et formulaires
      • 4.1 Les différents types d'événements
      • 4.2 Création et validation du formulaire
      • 4.3 Les champs de formulaire
        • 4.3.1 Les champs flottants
        • 4.3.2 Les cases à cocher
        • 4.3.3 Les champs à bascules
        • 4.3.4 Les champs de plages
        • 4.3.5 Les champs radio
        • 4.3.6 Les champs de type date
    • 5. Les filtres (pipes)
      • 5.1 Utiliser les filtres
      • 5.2 Les filtres préexistants
      • 5.3 Créer des filtres
    • 6. Proposer des actions à l'utilisateur
    • 7. Les providers
      • 7.1 Générer un provider HTTP
      • 7.2 Ajouter un appel à l'API
    • 8. Personnaliser le thème de l'application
  • Manipuler les fonctionnalités du périphérique
    • 1. Stocker des données sur le périphérique
    • 2. Scanner des QR Code
    • 3. Envoyer un SMS
    • 4. Manipuler l'agenda
      • 4.1 Ajouter des événements
      • 4.2 Récupérer les événements
    • 5. Accéder aux contacts
      • 5.1 Rechercher des contacts
      • 5.2 Ajouter un contact
  • Les tests automatisés
    • 1. L'intérêt des tests automatisés
    • 2. Les normes selon l'ISTQB
      • 2.1 Les sept principes de tests de la norme ISTQB
      • 2.2 Niveaux des tests
        • 2.2.1 Tests de composants
        • 2.2.2 Tests d'intégration
        • 2.2.3 Tests système
        • 2.2.4 Tests d'acceptation
        • 2.2.5 Schéma récapitulatif des niveaux de tests
      • 2.3 Les types de tests
        • 2.3.1 Tests fonctionnels
        • 2.3.2 Tests non fonctionnels
        • 2.3.3 Tests structurels
        • 2.3.4 Tests de confirmation
    • 3. Développement dirigé par les tests
    • 4. Technologie de tests JavaScript
      • 4.1 Tests de composants
        • 4.1.1 Installation
        • 4.1.2 Configuration
        • 4.1.3 Tester l'initialisation de l'application
        • 4.1.4 Tester des fonctions métier
      • 4.2 Tests d’acceptation - E2E
        • 4.2.1 Installation
        • 4.2.2 Configurer protractor
        • 4.2.3 Écrire les premiers tests E2E
  • Développement d'une application en TDD
    • 1. Le projet concret d'exemple
    • 2. Création du projet
    • 3. Installation des dépendances de tests
    • 4. Configuration de l’environnement de test
    • 5. Modification du template d’origine
    • 6. Page d'accueil
      • 6.1 Création du test
      • 6.2 Développement de la fonctionnalité
    • 7. Page d'informations
      • 7.1 Création du test
      • 7.2 Développement de la fonctionnalité
    • 8. Provider settings
      • 8.1 Création du test
      • 8.2 Développement de la fonctionnalité
    • 9. Provider de l'API
    • 10. Provider de la mémoire interne
    • 11. Création de discussion
      • 11.1 Création du test
      • 11.2 Création de la fonctionnalité
    • 12. Liste des discussions
      • 12.1 Création du test
      • 12.2 Développement de la fonctionnalité
    • 13. Affichage de la discussion
    • 14. Configuration de la discussion
      • 14.1 Définition de l'auteur
        • 14.1.1 Création du test
        • 14.1.2 Développement de la fonctionnalité
      • 14.2 Suppression des messages
      • 14.3 Suppression de la discussion
    • 15. Envoi de nouveaux messages
      • 15.1 Création du test
      • 15.2 Développement de la fonctionnalité
    • 16. Personnalisation du thème de l'application
  • Publication de l’application
    • 1. Publication d'une application
    • 2. Préparation de l'application
      • 2.1 Configuration de l'application
      • 2.2 Ajout des plateformes
      • 2.3 Icône et écran d'ouverture
    • 3. Publication pour Android
      • 3.1 Génération du fichier APK
      • 3.2 Signature du fichier APK
      • 3.3 Création de l’application
    • 4. Publication pour iOS
      • 4.1 Ajout de l'identifiant d'application
      • 4.2 Création d'un profil de distribution
      • 4.3 Création de l'application sur iTunes Connect
      • 4.4 Génération de la version de production
      • 4.5 Création d’une archive de l'application
    • 4.6 Finalisation de la publication
      • Index

Auteur

Samuel DAUZONEn savoir plus

Samuel DAUZON est développeur et chef de projet chez 3winfo. Également développeur indépendant sur des projets Python/Django et Ionic et passionné par la création d'outils innovants, il est le créateur de Je suis ma santé, une application dédiée aux nutritionnistes/diététiciens et à leurs patients. Déjà auteur des livres Meteor et Ionic aux Editions ENI et Django Essentials aux éditions Packt Publishing, il partage volontiers son expertise sur le développement web et sur Git, pour le plus grand bénéfice des lecteurs.

Caractéristiques

  • Niveau Expert
  • Nombre de pages 465 pages
  • Parution juillet 2018
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-01445-1
    • EAN : 9782409014451
    • Ref. ENI : EPMETION
  • Niveau Expert
  • Parution juillet 2018
    • HTML
    • ISBN : 978-2-409-01446-8
    • EAN : 9782409014468
    • Ref. ENI : LNEPMETION

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (3,43 Mo)