Devenez développeur full stack et créez votre première application web avec #Angular et #Java Spring Boot !Rejoignez notre prochaine session du 03 au 05 août, et n’oubliez pas votre ordinateur portable, car cette formation est 100% PRATIQUE.A l’issue de cette formation vous serez capable de :
- Développez votre première application full stack avec Angular et Spring Boot
- Créer une API RESTfull avec Spring Boot
- Utiliser Spring Security pour configurer l’authentification de base et JWT
- Comprendre les méthodes de conception O.O et les bonnes pratique java
- Maîtriser les bases d’Angular : modules, composants, construction de données, routage,…
Vous recevrez un certificat d’achèvement du cours.
Programme du parcours:
Module 1:Introduction à la programmation, avec Java
Les fondements de la programmation
- Qu’est-ce qu’un programme ? Qu’est-ce qu’un langage ? Les différents paradigmes. Quel langage pour quelle application ?
- Les compilateurs. Les exécutables.
- Les responsabilités d’un programmeur.
- Qu’est-ce qu’un algorithme ?
- Les besoins auxquels répond un algorithme.
- Le concept de pseudo-langage.
Travaux pratiques
Présentation de différents langages (Java, C#, Visual Basic, C, C++). Ecriture d’un premier algorithme en pseudo-langage.
Genèse d’un premier programme
- Ecriture d’un programme simple : syntaxe et instructions.
- Compilation et exécution du programme.
- Qu’est-ce qu’une librairie ? Son rôle, son usage.
Travaux pratiques
Découverte de l’environnement de développement et d’exécution. Ecriture, compilation et exécution d’un premier programme.
Règles de programmation
- Convention de nommage.
- Convention syntaxique.
- Utilisation des commentaires. Pourquoi commenter les développements ?
- Améliorer la lisibilité des programmes : indentation du code, découpage du code…
Les variables
- Qu’est-ce qu’une variable ?
- Pourquoi typer une variable ?
- Les types primitifs : entiers, chaînes de caractères, nombres réels, autres.
- Déclaration, définition et initialisation d’une variable.
- Les constantes.
- Saisie, affichage, affectation, conversion de type.
- Organiser ses données sous forme de tableaux.
- Les types évolués : enregistrement, matrice, arbre.
Travaux pratiques
Ecriture de plusieurs programmes simples manipulant les variables.
Opérateurs et expressions
- Les différents opérateurs (multiplicatif, additif, comparaison, égalité, logique, affectation).
- Combinaison d’opérateurs.
- Expression booléenne.
Travaux pratiques
Manipulation des opérateurs et des expressions booléennes.
Les structures de contrôle
- Les sélections alternatives (si, si-alors-sinon, sélection cas).
- Les blocs d’instructions (notion de Début… Fin).
- Les boucles itératives (tant que-répéter, répéter-jusqu’à, pour-de- à).
- Imbrication des instructions.
- Les commentaires.
Travaux pratiques
Utilisation des structures de contrôle pour implémenter un algorithme.
Les procédures et les fonctions
- Définitions : procédure, fonction.
- Pourquoi sont-elles incontournables en programmation (réutilisabilité, lisibilité…) ?
- Le passage de paramètres.
- Le code retour d’une fonction.
- Sensibilisation aux limites du passage de la valeur d’une variable.
- Notion de passage par adresse.
- Appel de fonctions.
Introduction à la programmation Objet
- Les concepts associés à la programmation Objet : classe, attribut, méthode, argument.
- La modélisation Objet à partir des exigences fonctionnelles.
- Introduction aux bonnes pratiques d’organisation de conception et d’organisation d’un programme.
Travaux pratiques
Illustration des concepts Objets.
L’accès aux bases de données
- Organisation et stockage des données.
- Les traitements de base (connexion, requêtes, récupération des données).
- Application cliente et serveur de données.
- Affichage et manipulation des données dans l’application cliente.
Travaux pratiques
Création d’un formulaire de recherche d’informations dans une base de données.
Maintenance, débogage et test des programmes
- Savoir lire et interpréter les différents messages d’erreurs.
- Utiliser un débogueur : exécuter un programme pas à pas, points d’arrêts, inspecter les variables pendant l’exécution.
- Prévoir les tests unitaires.
Module 2:Développer avec Spring boot:
-
Ce cours vous permettra de développer des applications Spring Boot en minimisant les efforts de configuration. Vous apprendrez à déployer ces applications de manière classique ou sous la forme d’applications autonomes embarquées dans une image docker. Vous aborderez Spring Cloud et les architectures micro-services.
-
Gestion des dépendances et de l’auto-configuration
- Organisation des dépendances Maven, gestion transparente des versions.
- Structuration du code, les bonnes pratiques.
- Rôle des annotations @SpringBootApplication et @EnableAutoconfiguation, la classe “application”.
- Anatomie d’une classe d’auto-configuration, rôle des annotations @Conditionnal.
- Contrôle de l’auto-configuration, utilisation des fichiers de propriétés application.properties et application.yml.
- Création de ses propres classes d’auto-configuration.
Travaux pratiquesRéorganisation des packages de l’application existante, création d’une classe “application”, contrôle de la configuration automatique aux besoins de l’application existante.Concevoir une application Spring Boot
- Définition des profils.
- Configuration des traces : log4j2 versus logback.
- JPA et Spring Data JPA avec Spring Boot.
- Spring MVC avec Spring Boot.
- Configuration des infrastructures techniques “embedded” (base de données, conteneur de servlets).
- Configuration de la sécurité sur les API REST.
- Faciliter le développement à l’aide de Spring Boot DevTools.
Travaux pratiquesMettre en œuvre les infrastructures techniques “embedded”, maximiser l’auto-configuration.Tester une application Spring Boot
- Auto-configuration des tests.
- Test de la persistance avec @DataJpaTest.
- Test d’intégration avec @SpringBootTest.
- Test des API REST avec @AutoConfigureMockMvc, @WebMvcTest et RestTemplate.
- Monitorer une application Spring Boot avec Actuator.
Travaux pratiquesMettre à niveau les tests unitaires et d’intégration de l’application sur les nouvelles pratiques Spring Boot, monitorer l’utilisation des endpoints REST.Packager et déployer une application Spring Boot
- Création d’un war pour un déploiement classique.
- Création d’un jar “self-contained” exécutable.
- Déploiement dans une image docker.
Travaux pratiquesProduire un jar auto-exécutable et le déployer sur une image docker.Introduction à Spring Cloud et aux architectures micro-services
- Architecture distribuée et micro-services, patterns d’architecture micro-services.
- Tour d’horizon de Spring Cloud.
- Externaliser les configurations et gérer leurs versions avec Spring Cloud Config.
- Enregistrer et localiser dynamiquement des services avec Spring Cloud Netflix.
- Mettre en œuvre une répartition de charge avec Spring Cloud LoadBalancer.
- Créer une API Gateway avec ZUUL et sécuriser son accès avec Spring Security.
- Dernière ligne enlevée
Module 3:les bases du web:
-
HTML, CSS et JavaScript : les fondamentaux du développement web
- Présentation du développement web.
- Le langage HTML.
- Les feuilles de style CSS.
- Le langage JavaScript.
HTML5 et CSS3 : créer des contenus pour le web
- Introduction.
- Notions fondamentales du langage HTML5.
- Intégration de contenu et groupe de contenus simples.
- Intégration d’éléments de navigation.
- Notions de base de la mise en forme en CSS.
- Mise en forme du texte.
- Mise en forme des blocs.
- Structuration de la page.
- Positionnement et dimensionnement des conteneurs.
- Mise en forme avancée en CSS3.
- Intégration du contenu audio et vidéo.
- Création de tableaux.
- Création de formulaires HTML5.
- Création d’animations.
- Web adaptatif.
Responsive web design : les techniques modernes de mise en page
- Le responsive web design.
- La mise en page avec les grilles responsives.
- La mise en page fluide.
- Les images responsives.
- Les frameworks CSS.
- Mise en pratique : créer une page d’accueil responsive.
BootStrap : développer des interfaces web responsive
- Pourquoi est-il incontournable de développer des interfaces web responsive ?
- BootStrap : le framework CSS du web responsive.
- Disposer des blocs de contenus responsive.
- Manipuler les media queries.
- Créer des menus et adapter les images.
- Créer une interface responsive : exercice de synthèse.
JavaScript : connaître les bases du langage
- Introduction.
- Bases du langage.
- Exécution de scripts.
- Objets JavaScript et callback.
- Manipulation du DOM.
Module 3:le framework angular:
-
Objectifs pédagogiquesÀ l’issue de la formation, le participant sera en mesure de :
- Organiser, modulariser et tester ses développements JavaScript
- Maîtriser les fondamentaux du Framework Angular
- Créer rapidement des applications Web complexes
- Savoir intégrer les tests unitaires au développement
- Connaître les bonnes pratiques de développement et de mise en production
Les fondamentaux d’Angular
- Structure de l’application.
- Les composants.
- Les modules Angular, “core” et principaux modules.
- Les templates et les styles.
- Utiliser Angular CLI.
- Les différents types de binding.
- Encapsulation des vues et des styles.
- Les filtres, filtres personnalisés.
- Les directives, directives personnalisées.
- Variables de template.
- Les décorateurs et leurs propriétés en détails.
- Les évènements.
- Les formulaires : Reactive Forms, FormControl et FormGroup.
- La validation des formulaires.
Travaux pratiquesRéalisation d’une application interactive. Exemple du Tchat.La programmation réactive
- Configuration d’une application RxJS.
- Les observables.
- Les souscriptions.
- Les opérateurs.
- Les Hots observables.
- Les observable d’ordre 2.
Travaux pratiquesCréer une page RxJs pour tester chacun des points ci-dessus.Approfondissement des composants
- Les décorateurs @Host, @ContentChild, @ViewChild.
- Echanges de paramètres entre composants.
- Le cycle de vie des composants et la communication entre composants.
- Les Inputs et les Outputs.
- L’encapsulation et L’internationalisation : component locale.
- Le Bootstrapping.
- Les services et l’injection de dépendance.
- Providers et hiérarchie des injecteurs.
- Injection de service dans un service.
- Utilisation des services : Communication entre composants.
- Les observables et les subjects et les Modules, RouterModule, SharedModule.
Travaux pratiquesTester dans l’application interactive chacun des points ci-dessus“Routing” et requête HTTP
- Introduction aux requêtes HTTP.
- Créer des requêtes HTTP .
- Utilisation d’un cloud externe.
- Les intercepteurs.
- Headers et gestion des erreurs.
- Gestion de routes dans l’arbre des composants.
- Les directives RouterLink et RouterLinkActive.
- Les services ActivateRoute et Router.
- Transmission de paramètres dans les routes.
- Utilisation de QueryParams et Fragment et Imbrication de routes.
- Intercepter les paramètres de routage et wildcard.
- Configuration des “Guard” pour le l’initialisation des routes.
Travaux pratiquesReprendre l’application, intégrer les points détaillés dans le chapitre. Consommation d’une API REST.Tests unitaires. Bonnes pratiques et outils
- Configurer l’environnement de test.
- Présentation de Karma et de Jasmine.
- Ecrire les tests avec Jasmine.
- Ecrire des tests d’intégration avec protractor.
- Couverture du code. Indices du code-coverage.
- BDD Behaviour driven development, TDD Test driven development.
- Cas de test : pipe, composant, application.
Travaux pratiquesReprendre l’application interactive, intégrer les points détaillés dans le chapitre. Mise en œuvre du Test driven development.Déployer une application avec Angular
- Gestion de l’authentification et des habilitations.
- Application isomorphique.
- Préparer les fichiers pour le déploiement.
- Une commande pour les préparer tous.
- Déployer sur un serveur web.
- Optimiser les fichiers en production.
-
Parcours full stack java spring boot angular