Développeurs Javascript - front & back end

Résumé de la formation

Durée : 400 heures

Type de formation : Formation en centre

Lieu de la formation : Hérault - Montpellier

Public : Tout public

Validation : Attestation

Effectif : 8-15

Domaine : Informatique

Tarif : 3200 euros

Objectif de la formation

Cette formation de 50 jours vous permet d’acquérir toutes les compétences nécessaires au métier de développeur web spécialisé en Javascript, technologie indispensable au développement Web et mobile. Commençant par les bases de la programmation web, vous apprendrez à maîtriser par la suite le HTML, le CSS, le Javascript, le NoSQL avec MongoDB ainsi que les principaux frameworks utilisés sur le marché, tel que AngularJS, Jquery, Cordova, NodeJS.. La formation ouvre pour un minimum de 8 participants et un maximum de 15 participants.

La pédagogie de la formation est basée sur une formation pratique avec aux alentours de 30% de théorie pour les modules techniques. La pratique est effectuée à travers des exercices simples d'apprentissage menant à un ensemble de projets sur la formation (cv en ligne, applications réelle Web et Mobile d'une certaine ampleur) pour créer une devanture numérique pour chaque participant.


Prérequis : Connaissance de l’environnement informatique

Public : Tout public

Compétences en fin de formation : programmation Web, création d’une application Web dynamique, création d’une application mobile, gestion d’un projet Web, gestion d’une base de données NoSQL, utilisation des technologies Javascript, HTML, CSS, JQuery, Angular, MongoDB, Cordova

Certification : W3C Javascript Certificate

Programme de la formation

Algorithmie - 24 heures
Acquisition de la logique informatique afin de créer un programme propre et correspondant aux bonnes pratique.

UML - 16 heures
Apprentissage de l'orienté objet ainsi que du langage commun du domaine.

HTML, CSS - 32 heures
Apprentissage des technologies Web de base et avancées.
Balises
HTML simple
CSS simple
Apport du HTML5 et du CSS3
Mise en page
Mise en forme
Sélecteurs
Multi-média
Formulaires
Bonnes pratiques
Media query pour le responsive design
Web sockets
Web workers
XML, Json
Javascript - 72 heures
Apprentissage des bases du langage Javscript
Historique de Javascript
Implémentations de Javascript
Intégration de Javascript avec HTML
L'élément SCRIPT
Modes du document
L'élément NOSCRIPT
Bases du langage
Syntaxe
Mots-clés et mots réservés
Variables
Types de données (opérateur typeof, type undefined, type null, type booléen, type number, type string…)
Opérateurs (opérateurs unaires, opérateurs binaires, opérateurs arithmétiques, opérateurs relationnels)
Instructions (instructions de branchement, boucles)
Utilisation de fonctions
Variables, étendue et mémoire
Valeurs références
Contexte d'exécution et étendue
Garbage collector
Types références
Le type RegEx et expressions régulières
Le type Function
Les type wrappers
Objets intégrés (Global et Math)
Programmation orientée objets
Création d'objets (le design pattern factory, constructeurs, Prototype)
Héritage
Les objets JS
L'objet Window (Global, relation entre les fenêtres et les frames, position, taille, navigation)
L'objet location (arguments query string et utilisation de l'objet location)
L'objet navigator (détection de plug-ins, enregistrement de handlers)
L'objet screen
L'objet history
Détection du client
Détection des capacités du navigateur
Détection de la chaîne d'agent
DOM (Document Object Model)
Hiérarchie des noeuds
Extensions DOM
Utilisation de DOM (scripts dynamiques, styles dynamiques, accès aux tables, utilisation de NodeList)
Changement DOM (espaces de noms XML at autres changements)
Styles (accès à l'élément Styles, accès aux feuilles de styles, élément Dimensions)
Utilisations des Ranges dans DOM et Internet Explorer
L'objet Event
Les types d'évenements (UI Events, souris, claviere et HTML)
Mémoire et performance
Scripting avec les formulaires
Bases des formulaires (envoi de formulaires, remise à zéro et champs de formulaires)
Scripting des champs de textes (Sélection de texte, filtrage de l'entrée, gestion de la tabulation
Scripting des éléments SELECT
Edition de texte riche
Gestion d'erreurs et débogage
Visualisation d'erreurs dans les différents types de navigateurs
Gestion d'erreur (l'instruction try-catch, lancement d'erreur, l'évenement error)
Outils de débogage
Javascript et XML
Prises en charge de XML DOM dans les navigateurs
Prise en charge de XPath dans les navigateurs
Prise en charge de XSLT dans les navigateurs
AJAX et JSON
L'objet XHR (utilisation de XHR, entêtes HTTP, requêtes GET et POST, sécurité)
Requêtes cross-domain
Utilisation de JSON avec AJAX
Stockage côté client
Cookies (restrictions, gestion des cookies dans Javascript)
Stockage DOM
Objets intégrés
String
Mathématiques
Date
Objet
Héritage et polymorphisme
Objets des navigateurs
Interaction avec les navigateurs
Boîtes de dialogues
Frames
Evènement
AJAX - 16 heures
Apprentissage de la programmation asyncrhone
Architecture
Rafraîchissement de page
Echange de données avec JSON
Traitement coté client via fichier js rapatrié
Création et validation de pages XHTML.
Programmation et debuggage Javascript
Manipulation XML avec DOM
Feuilles de styles CSS
Objet XMLHTTPRequest
Jquery - 24 heures
Apprentissage du framework Jquery
Fonctionnement
Bonnes pratiques
Sélecteurs
Evénements
Interaction avec HTML5
Animation
Ajax


AngularJS - 36 heures
Apprentissage du framework de Google, AngularJS
Présentation
Intégration. Compatibilité, versions, documentation
Fonctionnalités et principes généraux
Directives AngularsJS, compilateur HTML
Expressions. Data-Binding bidirectionnel. Filtres
Contrôleurs et gestion des scopes
Création et utilisation des contrôleurs
Gestion du contexte, la variable $scope
Propagation des événements. API. Dirty Checking
Traitement et validation des formulaires
Module et injection de dépendance
Fonctionnalités de l'objet angular
Principe de l'injection de dépendance
Notion de module. Configuration
Définition des routes
Routing. API ($routeProvider). Le "deep linking"
Historique et accès aux paramètres de l'URL
Utilisation de $location et $routeParams. Modes Hashbang et HTML5
Prétraitement des vues. Utilisation des "fragments"
Fonctionnalité de données, Echange Serveur
API ($provide, $injector). Création de provider
Les méthodes : Service, Factory, Provider, Value
Requête Ajax avec le service $http. Intégration REST avec le service $resource
WebSockets. API Promise
Intégration avec Node.js
Intégration des tests automatisés
Utilitaires de test : Jasmine. Angular-scenario
Test ave Karma : contrôleurs, services…
End to End Testing : interface utilisateur
Bonnes pratiques
Ecosystème Front-End autour d'AngularJS
AnuglarsJS Coding Style Guide
Mise en oeuvre du workflow AngularJs avec nodejs, Yo, Grunt
Les directives et la "compilation" AngularJS
Le "Dirty Checking" AngularJS détection des changements : $watch
$digest, $compile, comprendre le cycle de digestion
Expressions AngularJS : $eval et $parse
Options avancées : require, controllerAs, bindToController, terminal
Ensembles de directives inter-dépendantes
Gérer le cache des templates : $templateCache
Composants avancés
De la directive au composant distribuable
AngularUI. Principaux modules complémentaires
UI-Utils, les outils indispensables. Intégrer ngTranslate. UI-Bootstrap
I-Router, gestion de routes avancées
Famille de composants métiers personnalisés
Optimisation des développements
Nomenclature et évaluation du code
Minification et gestion des scripts
Astuces programmatiques
Utilisation de $log et $exceptionHandler
Performances : bindOnce, préfixe "::", $scope.$apply versus to $scope.$digest
Configuration dynamique des routes
Introduction à AngularJS 2
NodeJS - 36 heures
Apprentissage de la programmation back end en Javscript
Installation du serveur Node.js
Le gestionnaire d'extensions NPM
L'approche modulaire de Node.js
Un serveur Web en quelques lignes
Utilisation de Node.js en REPL
Les fondamentaux Node.js
La gestion événementielle
Principaux modules de l'API : console, util, file, events & timer…
Gestion des requêtes/réponses HTTP. HTTPS
Création de processus fils, https, sockets TCP et UDP
La gestion de routes
Parsing d'URL (paramètres, requête...)
Traiter une requête en mode asynchrone
Mettre en place un gestionnaire de routes
Framework Web
Les concepts fondamentaux d'Express
Construction d'un squelette d'application
Configuration d'Express et de l'application
Le rendu de vues avec EJS
La gestion de formulaires et des uploads de fichiers
Le routage d'URL par Express
Mise en place d'une API REST
Persistance des données
Initiation à une base NoSQL : MongoDB
Mise en place de CRUD (Create, Read, Update, Delete)
Utilisation d'un ODM : Mongoose
Test d'une application Node.js
Premiers pas avec Mocha
Les assertions et le test synchrone et asynchrone
Différentes méthodes de tests (inclusifs, exclusifs...)
Le support du navigateur
Concept avancés
Bonnes pratiques de développement en Node.js (structuration, exploitation...)
La bibliothèque async : rendre l'asynchrone séquentiel
Le clustering avec Node.js
La rétro-compatibilité, les transpilers…
Ergonomie des applications Web et mobiles - 16 heures
Apprentissage de l'ergonomie spécifique au Web et au Mobile
Les différents standards
L’importance du responsive design
Décor technique
Les différences entre les interfaces
Validation d’interface
Bonnes pratiques
Cordova - 40 heures
Apprentissage de développement d'application mobile multi-plateforme.
Présentation de la plateforme
Installation des outils
Création d’un projet
Plateformes
Config.xml
CLI Cordova
Grunt
Développement cross plateformes
Développement des premières applications
API Cordova pour accéder aux fonctionnalités du périphérique
Tester sur des émulateurs ou périphériques
Développement complexes
Fichiers spécifiques
Concepts de plugin pour accéder aux fonctionnalités natives (Camera, network…)
Déploiement des applications
Ajout des ressources pour avoir une application prête pour les logos et splashcreen
Création un package pour la mise sur les stores (Google Play, App Store, Windows Store)
MongoDB - 40 heures
Apprentissage d’une base de données en NoSQL
Vue globale de MongoDB
MongoDB : Une base documentaire
Les moteurs de stockage
Installation et configuration
CRUD
Créer et supprimer des documents
Lire des documents
Les opérateurs de requêtage
Mettre à jour des documents
Indexes
Fondamentaux sur les Indexes
Indexes Composés
Optimisation
Indexes à clés multiples
Indexes hashés
Indexes géospatiaux
Indexes TTL
Indexes texte
Drivers
Introduction aux Drivers MongoDB
Agrégation
Mise en place
Optimiser les Agrégations
Modèle de conception
Concepts clés sur les modèles de conception
Schéma évolutifs
Design Pattern usuels
Replica Sets
Introduction aux Replica Sets
Élections au sein des Replica Sets
Les rôles dans un Replica Set et la Configuration
Oplog: Réplication déclarative
Portées de l’écriture
Préférences de lecture
Sharding
Introduction au Sharding
Auto-répartition des Shard
Les Tags de Shard
Outils de journalisation et de diagnostiques
Résolution des problèmes de Performance
Sauvegarde et Restauration
Sauvegarde et Restauration
Sécurité
Utilisateurs et droits
Gestion de projet - 24 heures
Comment gérer correctement son projet de la demande à la mise ne production.
Introduction aux méthodes agiles.
Planification
Itérations
Cahiers des charges
Maquette
De la demande à la mise en production
Méthodes agiles
Culture générale - 24 heures
Anglais pour l’informatique
Communication : Comment se présenter, se mettre en valeur sur un CV et en entretien, présenter une idée, présenter un projet? Réseaux sociaux professionnels numériques et IRL, préparation aux entretiens. Communication écrite et orale avec mise en pratique avec la suite Office.
Droits informatiques et Web : Etude de la loi informatique et liberté, les différentes licences, contrats, prestations.

Prérequis

Connaissance de l’environnement informatique