Parcours full stack java spring boot angular

spring angular

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 pratiques
    Ré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 pratiques
    Mettre 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 pratiques
    Mettre à 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 pratiques
    Produire 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 pratiques
        Ré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 pratiques
        Cré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 pratiques
        Tester 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 pratiques
        Reprendre 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 pratiques
        Reprendre 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
Retour en haut