Java Spring React

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Aucun prérequis mais des notions d’algorithmie seraient un plus

  • Savoir conceptualiser des applications.
  • Développer des applications clients lourds en Java et des applications clients légers en JEE.
  • Utiliser les frameworks clés back-end et front-end afin de simplifier le développement d’applications.
  • Acquérir le savoir être du consultant

À la suite de votre inscription, un mail vous sera adressé au plus tard 1 semaine avant la formation pour vous indiquer comment vous connecter.

À l’issue de la formation, le formateur évaluera chacun des participants en fonction des cas pratiques et exercices effectués.

Alternance d’exercices, cas pratiques, QCM et de notions théoriques, projet Fil Rouge avec une répartition du temps de travail : 40% théorie, 60% pratique. Des présentations théoriques des concepts clés illustrés par des démonstrations du formateur (Ex : code live…) seront suivies de mises en pratique des apprenants.

Évaluations régulières et retour du formateur sur les points moins bien assimilés. ; les apprenants réaliseront tout au long de la formation des exercices, QCM, mises en situation, TP, TD qui seront corrigés pour faciliter l’acquisition de compétences.

En classe virtuelle, accès à notre plateforme à distance, à des machines virtuelles en local ou dans le cloud contenant les logiciels utiles et les supports de cours en français seront mis à disposition via notre la plate-forme de téléchargement AJC Classroom.

Accès à notre plateforme à distance de Classe Virtuelle : mêmes possibilités et interactions avec votre formateur que lors d’une formation présentielle: votre formation se déroulera en connexion continue 7h/7 :
– Échanges directs avec le formateur et l’équipe pédagogique à travers la visioconférence, les forums et chats ;
– Vérification de l’avancement de votre travail et évaluation par votre formateur à l’aide d’exercices et de cas pratiques ;
– Suivi pédagogique et conseils personnalisés pendant toute la formation.

Vous recevrez les informations de connexion par mail dès votre inscription. En cas de problème de connexion, vous pourrez joindre notre équipe à tout moment (avant ou même pendant la formation) au 01 82 83 72 41 ou par mail (hotline@ajc-formation.fr).

En présentiel, mise à disposition d’ordinateurs portables (16Go RAM, SDD); nos salles sont équipées de matériels pédagogiques (Tableau blanc, vidéo projecteur, tableau tactile…) et informatiques.

Les personnes en situation de handicap sont invitées à nous communiquer leurs besoins spécifiques. Nous ferons tout pour les mettre dans les meilleures conditions de suivi de la formation possibles (compensation, accessibilité…).

Une attestation de fin de stage sera remise à tous les participants à l’issue de leur parcours.

Demandeurs d’emploi issus d’une filière scientifique

Agile Scrum

L’Agilité, c’est quoi ?

  • Les racines de l’Agilité (Manifeste Agile),
  • Un cycle de vie différent

La méthode Scrum

  • Présentation de la méthode Scrum,
  • L’équipe Scrum et ses rôles : le Product Owner, le ScrumMaster et l’équipe, le stakeholder,
  • Les responsabilités de chaque rôle
  • Les pratiques d’ingénierie agiles du logiciel

Le Scrum Master en détail

  • Un facilitateur et un garant de la méthode
  • Responsabilités croisées entre Scrum Master et Product Owner
  • Accompagnement de l’équipe de développement
  • Accompagnement de l’organisation dans la mise en oeuvre de l’agilité
  • Orientation solution / Servant Leadership

Le Backlog de produit

  • Identifier les Features et les Acteurs (Personas)
  • Introduction aux «User Stories»
  • Cycle de vie d’une User Story
  • Rédiger les Users Stories à partir des Features
  • Découper et détailler et prioriser les Users Stories dans le Backlog de produit
  • Business Value et Effort quelles différences ?

Gestion du backlog et préparation du Sprint

  • Techniques d’estimations des Users Stories
  • Priorisation & plans (Périmètre fixé, Date fixée)
  • Vélocité estimée & mesurée de l’équipe
  • Définition de prêt et de fini

Démarrage et déroulé du Sprint

  • Planification de sprint
  • Atelier : Session de planification de sprint : Création des tâches
  • Le Daily Scrum : 3 questions quotidiennes
  • Gestion des impondérables
  • L’avancement du sprint
  • Les tests dans un contexte Agile

Fin du Sprint

  • Livraison d’un incrément
  • S’améliorer à intervalles réguliers
  • La « sprint retrospective»

Les outils du Scrum Master

  • Suivi du projet et gestion du temps
  • Indicateurs et Key Performance Indicators (KPI)
  • Suivre la qualité
  • Comprendre les différents graphiques

Préparation à la certification

  • Passage d’un test à blanc en situation réelle
  • Travail de groupe et correction collective
  • Préconisations et mode d’emploi, les pièges à éviter et le vocabulaire

 

Algorithme

Maîtriser les outils de l’algorithmique (Schémas de programme, types et structures de données, modules)

Acquérir les bases des méthodes de programmation structurée nécessaires à l’apprentissage de tout langage de programmation

Apprendre à raisonner sur un algorithme

Maîtriser les notions de fichiers

Découvrir et mettre en œuvre la traduction d’un algorithme dans un langage de programmation

 

Développement basé sur la réalisation de modèles avec UML

Modélisation objet

  • Objectifs et principes d’un développement basé sur la réalisation de modèles objets (MDE/MDA)
  • Les concepts généraux de modélisation objet (abstraction, classe, encapsulation, …)

Présentation UML & méthode (UP)

  • Unified Modeling Language (UML)
  • UML et les processus méthodologiques
  • Présentation d’Unified Process (UP)

UML pour la maîtrise d’œuvre

  • Architecture
  • Différents modèles d’architecture
  • Composants, programmation métier

Conception Préliminaire

  • De l’analyse à la conception
  • Projection du modèle d’analyse sur l’architecture
  • Définition de contrats entre modules fonctionnels
  • Interface d’architecture, de métier, de contrôle

Conception de l’implémentation métier

  • Avantage du modèle objet
  • Design Pattern métiers : adapteur, décorateur, etc.
  • Framework, logiciels et outils

Conception détaillée

  • Diagramme de communication
  • Diagramme de structure composite

Conception de l’IHM

  • Le Design Pattern d’IHM : Model View Controller
  • Framework d’IHM

Conception d’architecture

  • Styles et patterns d’architecture
  • Architecture logicielle à base de composants

L’approche par frameworks et composants

  • Cycle de vie des logiciels et problèmes d’évolution et de maintenance
  • Comment concevoir et réaliser des applications rapidement à partir de frameworks et de composants réutilisables ?

 

Programmation Java – Fonctions Essentielles

Présentation de Java

  • Historique
  • La machine virtuelle (JVM)
  • Focus sur la gestion mémoire (pile, tas, garbage collector)
  • Présentation de J2SE
  • Bien utiliser l’aide en ligne
  • Caractéristiques du langage
  • La variable Classpath
  • Les fichiers .jar

Présentation d’Eclipse

  • Espace de travail et projet
  • Organisation de l’outil (perspectives, vues, éditeurs)
  • La perspective Java
  • La perspective Debug
  • Installer un plugin

Structure et syntaxe du langage

  • Constructions de base du langage
  • Types, identificateurs et variables
  • Constantes
  • Tableaux à N dimensions
  • Instructions conditionnelles/itératives et opérateurs

Notions Objet en Java

  • Notions élémentaires (classes, objet, attributs, méthodes, constructeurs)
  • Relations de composition, associations
  • Organisation du code (package, visibilité et encapsulation)
  • Notions avancées (héritage, polymorphisme, classes et méthodes abstraites, interfaces)
  • Autoboxing des types primitifs
  • Transtypage des objets
  • Les classes internes

Gestion des exceptions

  • Hiérarchie des classes d’exceptions
  • Exceptions contrôlées et non contrôlées
    Mécanisme try-catch, rôle de finally, try-with-ressources
  • Propagation d’exceptions

Librairies standards

  • La classe Object
  • La classe System
  • Chaînes de caractères (String et StringBuffer)
  • Types élémentaires (classes wrapper, formatage des nombres, manipulation des dates / heures)
  • Collections (Collection, List, Set, Map, Iterator)
  • Classes ArrayList, HashSet, TreeSet, HashMap
  • Les types génériques

Les flux d’entrées-sorties

  • Flots d’octets, de caractères
  • Manipulation de fichiers en lecture/écriture
  • Manipulation de répertoires
  • Bufferisation des données
  • Sérialisation d’objets

Les évolutions de Java

  • Les nouveautés des dernières versions Java
  • Les expressions Lambda
  • Stream, Date & Time, Teeing Collectors…

 

Programmation Java – Fonctions Avancées

Syntaxe avancée

  • Les classes internes et anonymes
  • Les constructeurs
  • Les blocs d’initialisation
  • Les types génériques
  • La syntaxe des lambdas
  • La syntaxe des références de méthode

Le package java.lang

  • La classe Object
  • L’interface Comparable : égalité et comparaison
  • L’interface Clonable : copie d’objet
  • Les wrappers et l’autoboxing : conversions de type
  • Les chaînes : String, CharSequence, Appendable, StringBuffer, StringBuilder, …
  • Les extensions syntaxiques : Iterable, AutoCloseable
  • Les énumérations : classe Enum
  • Les opérations mathématiques : Math et StrictMath
  • Les annotations standards (@Deprecated, @Override, …)
  • Les exceptions : Throwable, Exception, Error, RuntimeException, …
  • Les classes utilitaires : System, Runtime, Process et ProcessBuilder
  • Les bases du parallélisme : Runnable, Thread, …
  • L’introspection : Class, Package, ClassLoader …
  • Les autres éléments du package java.lang

Le package java.math

  • Les nombres réels et les erreurs d’arrondis
  • Les nombres étendus : BigInteger, BigDecimal
  • La gestion des arrondis : MathContext et RoundingMode

Le package java.util

  • Les collections : Collection, List, Queue, Set, Map, …
  • Itérer sur les collections : Enumeration et Iteration
  • Les classes d’implémentations de collections
  • Les classes utilitaires : Collections et Arrays

.La gestion du temps : Date, Calendar, …

.La représentation de la monnaie : Currency

.Le paramétrage : Properties

.L’internationalisation : Locale, ResourceBundle, Formatter, …

.Les classes utilitaires : Scanner, StringTokenizer, Random, …

.Les autres éléments du package java.util : Observer, Observable, ServiceLoader, …

Le package java.text

  • La comparaison des chaînes de caractères : Collator, RuleBasedCollator
  • Le formatage textuel : Format, MessageFormat, NumberFormat, DateFormat, …

Le package java.io

  • La gestion de fichiers : File, FileFilter, FilenameFilter, …
  • La gestion des flux binaires : InputStream, OutputStream, …
  • La gestion des flux textes : Reader, Writer, …
  • La gestion des flux d’objets : Serializable, Externalizable, …
  • Les classes utilitaires : Console, StreamTokenizer, RandomAccessFile

Le package java.nio

La “nouvelle” gestion de fichiers : FileStore, FileSystem, Path, FileSystems, Files, Paths, PathMatcher, WatchService, …

  • Les transferts de données : Buffer, Channel, Channels, …
  • Le package java.net
  • Les accès réseau : URL, URLConnection, URLEncoder, URLDecoder
  • Les protocoles TCP et UDP : InetAddress, NetworkInterface, Socket, ServerSocket, …

Le package java.time

  • Les nouvelles classes temporelles : Instant, Duration, LocalDate, LocalTime, Period, YearMonth, Temporal, …
  • Les packages java.util.fonction et java.util.stream
  • Les FonctionalInterface : Consumer, Predicate, Fonction, Supplier, …
  • Les interfaces de streams : BaseStream, Stream, Collector, …
    .La construction des streams : stream(), paralleleStream(), iterate(), generate(), …
    .Les fonctions d’aggregats : forEach, filter, sorted, map, collect, …
  • Aperçu de quelques autres packages
    .Le package java.util.logging : les traces
    .Le package java.util.prefs : la gestion des préférences utilisateurs
    .Le package java.util.jar : la gestion des jar
    .Le package java.util.zip : la gestion des zip
    .Le package java.util.regex : les expressions regulières
    .Le package java.awt : les interfaces graphiques natives
    .Le package javax.swing : les interfaces graphiques riches

Projet contenus Java SE

  • Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d’apporter leurs propres solutions aux problèmes posés.
  • Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l’ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.

 

Langage SQL

Introduction

Les requêtes simples

  • Connaître la syntaxe de l’ordre SELECT
  • Connaître les prédicats simples
  • Savoir écrire des requêtes sur une seule table
  • Comprendre ce qu’est une jointure
  • Savoir écrire des requêtes sur plusieurs tables
  • Connaître les fonctions utilisées dans les requêtes

Les requêtes avec regroupement

  • Comprendre le regroupement
  • Savoir écrire une requête utilisant le regroupement

Les requêtes ensemblistes

  • Connaître les opérateurs ensemblistes
  • Savoir écrire une requête utilisant des opérateurs ensemblistes

Les requêtes imbriquées

  • Connaître les opérateurs utilisés pour les sous requêtes
  • Savoir écrire des requêtes imbriquées

Le langage de manipulation des données

  • Savoir insérer une ligne dans une table
  • Savoir modifier une ligne dans une table
  • Savoir supprimer une ligne dans une table

Programmation Java et Base de données

JDBC: API SQL pour Java

  • JDBC, Java, ODBC, SQL
  • Architecture, interfaces, exemples

Java et le client-serveur

  • Architecture “classique”
  • Architecture revisitée: Java côté client, Java côté serveur

Accès aux bases de données JDBC

  • Utilisation de l’API JDBC
  • Sélection des pilotes de base de données
  • Connexion à une base de données

Mise en œuvre

  • Oracle
  • SQl server
  • MySQL

Sécurité Owasp

Sécurité de la machine virtuelle Java

  • Chargement des classes. Concept de « bac à sable »
  • SecurityManager, AccessController et définition des permissions (fichiers .policy)
  • Créer ses permissions avec Java Security Permission
  • Mécanismes de protection de l’intégrité du bytecode, la décompilation et l’obfuscation du code
  • Spécificités des Applets en matière de sécurité

Java Authentication and Authorization Service

  • Architecture de JAAS
  • Authentification via le PAM, notion de Subject et de Principal
  • Gestion des permissions, les fichiers .policy
  • Utiliser JAAS avec Unix ou Windows, JNDI, Kerberos et Keystore. Le support du SSO

Les vulnérabilités des applications Web

  • Pourquoi les applications Web sont-elles plus exposées ? Les risques majeurs des applications Web selon l’OWASP.
  • Les attaques « Cross Site Scripting » ou XSS. Pourquoi sont-elles en pleine expansion ? Comment les éviter ?
  • Les attaques en injection (commandes injection, SQL Injection, LDAP injection…). Les attaques sur les sessions.
  • Exploitation de vulnérabilités sur le frontal HTTP (ver Nimda, faille Unicode). Attaques sur les configurations standard
  • Comment effectuer la recherche des vulnérabilités
  • Comment effectuer la recherche des vulnérabilités.
  • Rechercher les vulnérabilités les plus répandues. Le Cross-Site Scripting. L’injection SQL.
  • Les erreurs de logique applicative. Le buffer overflow (débordement de tampon). L’exécution de commandes arbitraires.

Les bonnes pratiques

  • Quels sont les différents types d’entrées ? Comment effectuer la validation des entrées ?
  • Quels sont les types d’opérations qui peuvent être effectuées sur les types numériques ?
  • Les classes et les exceptions.
  • Multi-threading et synchronisation.
  • Les entrées-sorties, la sérialisation.
  • Savoir effectuer la gestion des permissions.

Test IT, Le TDD

Les méthodes Agiles

  • Présentation des méthodologies Agiles
  • Approche en cascade vs approche itérative
  • Le manifeste Agile
  • La définition de « Terminer »
  • Ce qu’il faut mettre en place pour itérer sur un projet
  • La méthode SCRUM

Initiation au TDD

  • Présentation du TDD
  • Tests traditionnels et TDD
  • Impact sur la documentation
  • Impact des tests sur la conception
  • Le développement orienté comportement
  • Coûts et bénéfices

Mise en place du TDD dans une équipe

  • Signaux externes de qualité d’un produit
  • Résistances fréquemment rencontrées
  • Mise en place d’un processus vertueux
  • Rétrospectives
  • Mythes et incompréhension

Présentation des outils de test

  • Les outils xUnit
  • Les Matchers Hamcrest
  • Mock/fake/stub/dummy
  • Différence entre simulacre et bouchons
  • Présentation de l’outil easy-mock
  • Bonnes pratiques

Re-factorisation

  • Principes
  • Niveaux de re-factorisation
  • Quand doit-on re-factoriser ?
  • Évaluer la qualité du code par des métriques
  • La couverture de tests
  • Les règles d’un design simple

Aller plus loin

  • TDD et interfaces utilisateurs
  • Spécificité de TDD et le développement d’une base de données
  • L’intégration continue
  • Exemple d’usine logicielle
  • Les tests de charges

Dépendance avec Maeven

Introduction Maven

  • Définition de Maven pour un développeur
  • Définition de Maven pour un chef de projet
  • Règle du « Convention over configuration » dans Maven
  • Valeur ajoutée de Maven par rapport à ANT

Le POM (Project Object Model)

  • Définition de Maven pour un développeur
  • Présentation du modèle POM Maven et notion de coordonnées
  • Détails et sections du fichier pom.xml de Maven
  • Le « super POM » et les mécanismes d’héritage de Maven
  • Exploration de la structure des projets Maven
  • Les types de projets Maven
  • Notion de propriétés et de filtre des ressources dans Maven

Repository Maven et coordonnées

  • Repository local de Maven : .m2/repository
  • Mécanisme de localisation d’une librairie dans Maven
  • Notion de repositories distants
  • Outillage pour la gestion du cache et de la sécurité avec Nexus
  • Mise en place de Maven
  • Présentation du modèle POM Maven et notion de coordonnées
  • Détails et sections du fichier pom.xml de Maven
  • Le « super POM » et les mécanismes d’héritage de Maven
  • Exploration de la structure des projets Maven
  • Les types de projets Maven
  • Notion de propriétés et de filtre des ressources dans Maven

Gestion de dépendances

  • Dépendance transitive dans Maven
  • Optimisation des dépendances dans Maven
  • Le cycle de construction d’un projet Maven
  • Les différents cycles de construction
  • Comprendre les phases / goals /cycles Maven

JPA avec Hibernates

Introduction

  • Notion de mapping Objet/Relationnel
  • Historique d’hibernate
  • Hibernate et les spécifications JPA
  • Concurrents : EclipseLink, iBatis
  • Versions d’hibernate

Persistance avec JPA

  • Spécification JPA 2.0
  • Fournisseur de persistence
  • EntityManagerFactory
  • EntityManager
  • persistence.xml
  • Persistence unit
  • @ManyToOne, @ManyToMany
  • Eager, Lazy
  • Implications Jee
  • Fetching

Persistance avec Hibernate

  • Processus de développement
  • Top-down, Bottom-up, Meet in the meedle
  • Connexion à la base de données
  • Configuration d’Hibernate et Session Factory
  • Création, ajout et suppression d’objets
  • Session Hibernate
  • HibernateUtils

Conception avec Hibernate

  • Design Patterns pour couche de persistance
  • Persistance du modèle objet
  • Gestion de l’héritage
  • Gestion des associations

HQL et JPQL

  • Clauses des requêtes
  • Les fonctions d’aggrégation
  • Les requêtes polymorphes
  • Les sous requêtes

Utilisation avancée d’Hibernate

  • Transactions
  • Exceptions
  • Gestion du cache
  • Lazy-Loading

Mapping objet relationnel

  • Ecriture du fichier de mapping
  • Gestion de l’identifiant
  • Types de données et personnalisation
  • GTypes de mapping (Top-Down, Bottom-Up, Meet in the Midlle)
  • Mapping d’héritage (une table par classe, une table par hiérarchie… )
  • Mapping d’association (par clé étrangère, par table de jointure…)

Architectures techniques

  • Hibernate dans une application client / serveur
  • Hibernate dans une application Web
  • Hibernate dans une architecture distribuée

Intégration frameworks

  • Introduction Hibernate et Spring
  • Intégration hibernate et Struts
  • Designs pattern MVC, Business Delegate

Cache

  • Stratégies de cache
  • Cache niveau 1
  • Cache niveau 2
  • Types de Cache
  • Configuration statique
  • Configuration dynamique

Transactions

  • Problématique
  • Design pattern
  • Niveau d’isolation
  • Appli multi bases
  • Mise en oeuvre
  • Implémentations

Initiation Web avec HTML5, CSS3, JavaScript, Bootstrap

Introduction protocole HTTP

  • Requêtes et Réponse HTTP
  • En tête HTTP
  • Codes retour serveur
  • Analyse avec F12

Introduction langage HTML

  • Contexte : web statique
  • Balises HTML
  • HTML et HTML 5
  • Formulaire
  • Audio et Vidéo
  • Validation de champs

Introduction CSS

  • Contexte : ergonomie et habillage web statique
  • Feuille de style externe, interne et inline
  • Notion de cascade
  • Notion de class
  • Notion de id
  • Notion de block
  • Sizing et Positionning

Introduction Javascript

  • Contexte : web dynamique
  • Spécification ECMA Script
  • Les objets javascript
  • Les objets du navigateur
  • Validation des champs
  • Gestion DOM : Document Object Model
  • Gestion Evénements

Introduction BOOTSTRAP

  • Notion de framework
  • Augmenter la productivité et l’ergonomie des écrans web
  • CSS et Javascript BOOTSTRAP
  • Installation et mise en oeuvre

 

Java EE et les API Sevlet et les JSP

L’API Servlet

Présentation

  • Principales classes de l’architecture Servlet (ServletContext, ServletRequest, ServletResponse, …)
  • Le cycle de vie d’une servlet et la gestion des servlets par le conteneur.
  • Méthodes doGet et doPost

Déploiement des applications sur le serveur Web

  • Fichiers WAR et EAR
  • Fichier de configuration web.xml
  • Déploiement sur un serveur à l’aide de Ant

Paramétrisation des servlets

  • Paramètres d’initialisation
  • Exploration du client et du serveur
  • Récupération des paramètres http

Suivi de session

  • Récriture d’URL
  • Champs cachés de formulaires
  • Cookies
  • Utilisation d’un objet session
  • Contexte d’une servlet

Les JSP

Présentation des JSP

  • Forme des JSP
  • Les étapes d’une requête JSP

Composants d’une JSP

  • Directives
  • Scripts JSP (déclarations, expressions et scriplets)
  • Les objets implicites et leur portée
  • Traitement des erreurs JSP

Les bibliothèques de balises

  • Les taglibs et leur descripteur XML
  • Balises personnalisées
  • Balises d’actions prédéfinies
  • Utilisation des JavaBeans dans les JSP

Java Server Tags Librairies et Java Server Pages

  • Langage EL
  • Les librairies standards (core, fmt, …)
  • Ecriture de librairies spécifiques

Commande Linux

Introduction

  • Présentation des shells
  • Premières commandes
  • Les différents Shell
  • Comparaison de sh, bash, ksh et dash

Aide 

  • L’aide locale
  • À savoir
  • Freenode
  • Usage IRC

Commandes de base

  • Accéder au contenu des fichiers
  • Commandes de compression, d’impression et de gestion du temps
  • Gestion administration
  • Commandes composites pipes et redirections

Variables

  • Présentation
  • Variables utilisateur
  • Prompt
  • Substitutions

Commandes internes

  • Set
  • cd, pushd, popd, umask, type, enable
  • Historique et Alias
  • Commande sur les processus : kill, jobs, wait, ulimit

Utilitaires

  • Commandes cut, tr, uniq, sort, wc, find, grep
  • Commandes de transformation : iconv, od, nl, basename, diff
  • Commandes utilitaires : xargs, tee, cmp, comm, paste, sed
  • Expressions régulières

Docker

De la virtualisation à Docker

  • Les différents types de virtualisation.
  • La conteneurisation : LXC,  namespaces, control-groups.
  • L’évolution de Dotcloud à Docker.
  • Le positionnement de Docker.
  • Docker vs virtualisation

Présentation de Docker

  • L’architecture de Docker.
  • Disponibilité et installation de  Docker sur différentes plateformes  (Windows, Mac et Linux).
  • Création d’une machine virtuelle  pour maquettage.
  • La ligne de commande et  l’environnement.
  • Travaux pratiques
  • Créer une machine virtuelle pour  réaliser un maquettage

Mise en oeuvre en ligne de commande

  • Mise en place d’un premier  conteneur.
  • Le Docker hub : ressources  centralisées.
  • Mise en commun de stockage  interconteneur.
  • Mise en commun de port TCP  interconteneur.
  • Publication de ports réseau.
  • Le mode interactif.
  • Travaux pratiques
  • Configurer un conteneur en ligne de  commande

Création de conteneurs personnalisé

  • Produire l’image de l’état d’un  conteneur.
  • Qu’est-ce qu’un fichier DockerFile ?
  • Automatiser la création d’une image.
  • Mise en oeuvre d’un conteneur.
  • Conteneur hébergeant plusieurs  services : supervisor.
  • Travaux pratiques
  • Créer un conteneur personnalisé

Mettre en oeuvre une application multiconteneur

  • Utilisation Docker Compose.
  • Création d’un fichier yaml de  configuration.
  • Déployer plusieurs conteneurs  simultanément.
  • Lier tous les conteneurs de  l’application.
  • Travaux pratiques
  • Mettre en oeuvre une application multiconteneur

Interfaces d’administration

  • L’API Docker et les Webservices.
  • Interface d’administration en mode  Web.
  • Docker Registry : construire et  utiliser son propre hub.
  • Exercice
  • Construire et utiliser son propre  hub
  • Automatiser le démarrage des  conteneurs au boot.
  • Gérer les ressources affectées aux  conteneurs.
  • Gestion des logs des conteneurs.
  • Sauvegardes : quels outils et quelle  stratégie ?
  • Travaux pratiques  Administrer les conteneurs

Introduction à Kubernetes

Gestion des versions sources avec Git

Le contrôle de version

  • Pourquoi versionner son code source ?
  • Les concepts de base du contrôle de version

Le principe DVCS

  • Qu’apporte la décentralisation ?
  • Principe de fonctionnement
  • Branche, dépôt, merge, rebase et tous les concepts DVCSLe contrôle de version
  • Pourquoi versionner son code source ?
  • Les concepts de base du contrôle de version

Utilisation au jour le jour

  • Créer/cloner un dépôt
  • Consulter l’état de l’arbre de travail
  • Visualiser les modifications
  • Enregistrer les modifications
  • Parcourir l’historique des révisions
  • Retrouver l’auteur d’une modifications
  • Les concepts de base du contrôle de version

Gestion de dépôt et branches

  • Créer une branche
  • Passer de branche en branche avec les merges ou le rebase
  • Mettre à jour un dépôt
  • Exporter son dépôt
  • Les dépôts distants

Spring Core et Data

Introduction à Spring

  • Concepts de conteneur léger
  • Vue d’ensemble et exemples d’utilisation
  • Pattern « Inversion de Contrôle (IoC) ; Injection de dépendance »
  • Tests unitaires en isolation
  • Approche MVC avec Spring MVC

Mise en oeuvre de Spring

  • Les Beans, BeanFactory et ApplicationContext
  • Modes singleton ou prototype
  • Gestion des propriétés, « collaborators »
  • Méthodes d’injection de dépendance
  • Configuration de Beans spécifiques à Spring, cycle de vie
  • Définition de Bean abstrait et héritage

Spring et l’accès aux données

  • Pattern DAO avec JDBC et les Classes abstraites de Spring
  • Implémentation DAO avec les APIs Hibernate
  • Démarcation de transactions par programmation et déclaration

Gestion des transactions

  • Concept de transaction
  • Gérer les transactions avec Spring
  • Transactions programmatiques
  • Transactions déclaratives

Spring MVC/REST

Présentation de Spring

  • Introduction à la configuration Spring
  • Cycle des objets Spring
  • Simplification de la configuration
  • Test d’intégration avec Spring

Les bases de Spring Web MVC

  • Pattern modèle-vue-contrôleur dans Spring MVC
  • La DispatcherServlet
  • Présentation du modèle de programmation des contrôleurs
  • Les vues dans Spring MVC
  • Simplication de la configuration

Options de configuration de Spring MVC

  • Beans d’infrastructure dans Spring MVC
  • Mapping d’URL
  • Intercepteurs et adaptateurs
  • Résolution des exceptions
  • Source de messages

Gestion de la présentation dans Spring MVC

  • Structuration des pages
  • Modèles réutilisables avec Apache Tiles
  • Configuration de Tiles dans Spring MVC

Utilisation des vues dans Spring MVC

  • Vues et résolution
  • Chaîne de résolution des vues
  • Alterner les vues
  • Vues JSON

Formulaires avec Spring MVC

  • Rendu des formulaires
  • Conversion des données
  • Data binding
  • Validation avec Spring et Bean Validation (JSR 303)
  • Gestion des objets de formulaire

Personnalisation de l’apparence avec Spring MVC

  • Support de l’internationalisation
  • Changement du look-and-feel avec les thèmes

Applications Web riches avec Ajax

  • Ajax et Spring MVC
  • Utilisation des frameworks JavaScript
  • Spring MVC et jQuery
  • Création de tag pour diminuer la taille des JSP

Sécurité des applications Web avec Spring Security

  • Motivations derrière Spring Security
  • Spring Security dans un environnement Web
  • Utilisation des tags de Spring Security
  • Sécurisation des méthodes Java

REST avec Spring MVC

  • Contrôleur et mapping d’une requête
  • Filtres
  • Gestion des erreurs
  • Vues

Spring Boot et Security

Introduction

  • Le module Spring Boot
  • Les requis

Les principales fonctionnalités

  • Le support de différents types d’application
  • Convention over configuration
  • L’auto-configuration
  • La gestion simplifiée des dépendances avec les starters
  • Le support de Maven et Graddle

La création d’une application

  • La création d’un projet dans STS
  • La création avec Spring Initializr
  • La création d’un projet avec Maven

Une application Spring Boot

  • Une application standalone
  • La classe SpringApplication
  • La configuration d’une application
  • Une application de type webapp

Les dépendances

  • Les starters

La configuration des propriétés

  • Les propriétés
  • L’utilisation de fichier .properties
  • L’utilisation de fichier YAML
  • La définition de valeurs aux propriétés
  • La bannière ASCII

Le support de Spring Boot dans STS

Spring Boot Devtools

  • Des propriétés par défaut
  • Le redémarrage automatique de l’application
  • Le débogage distant
  • Le support du Live Reload
  • La persistance des sessions HTTP entre les redémarrages

Mise en œuvre de fonctionnalités

  • REST
  • Spring Data REST
  • Spring Security
  • Le logging
  • Le cache
  • Le scheduling
  • Les Servlets

Le déploiement d’une application

  • Le packaging
  • L’exécution d’une application
  • Une application Autoexecutable
  • Les Profiles

Spring Boot Actuator

  • L’activation
  • Les endpoints
  • Les métriques personnalisées

Spring CLI

React

Introduction à l’ES6 et aux modules

  • Rappels
  • Design patterns
  • Nouveautés de la syntaxe ES6
  • Compilation du code ES6 avec Babel
  • Typescript et Flow
  • Gestion des modules avec Webpack

Introduction à React

  • Ecosystème des frameworks JavaScript
  • Différentes approches du data-binding
  • Philosophie de React
  • Environnement de développement
  • Outils de debug

Développer avec React

  • Création d’un composant
  • La syntaxe JSX
  • JSX vs JavaScript
  • Comprendre JSX en détails
  • Gestion du « state » du composant
  • Les méthodes du cycle de vie

Interactivité des composants

  • Gestion des événements
  • Imbrication de composants
  • Utilisation des « props »
  • Composants réutilisables
  • Manipulation du DOM
  • Gestion des formulaires
  • Design pattern des composants

Application monopage avec Flux ou Redux

  • Présentation de Flux
  • Installation de Redux
  • Les différentes entités du pattern Flux
  • Principe du « one way data flow »
  • Présentation de Redux
  • Utilisation du store
  • Les actions et le reducer
  • Extensions utiles de Redux
  • Intégration dans React
  • L’internationalisation

La navigation avec React Router

  • Présentation de React Router
  • Installation de React Router
  • Configurer les routes
  • Récupérer les paramètres de l’URL
  • Créer des liens
  • Déclencher une navigation

Application isomorphique

  • Principe et bénéfice du développement isomorphique
  • Écosystème du Javascript côté serveur
  • Configuration de NodeJS pour React
  • Récupérer les paramètres de l’URL

Introduction à React Native

  • L’hétérogénéité des OS mobiles
  • Natif vs hybride vs cross-platform
  • Principales solutions cross-platform
  • React Native
  • Démonstration d’application React Native

 

Présenter ses nouvelles compétences

Les bases de la communication

  • Ecoute active
  • Le questionnement
  • Reformulation et feedback

La communication verbale et non verbale

  • Importance de la communication non verbale
  • Savoir se présenter à l’oral
  • Postures – Attitudes – Discours

Les profils comportementaux

  • Les 4 profils
  • Auto évaluation
  • Développer son adaptabilité relationnelle

Développer son Capital Talents

  • Définition d’un talent
  • Talent vs points forts
  • 5 stratégies pour gérer ses points faibles

 

Projet final

  • Les stagiaires travaillent en toute autonomie, en binôme. Ils sont libres d’effectuer les choix adaptés, de développer les parties dont ils jugent avoir le plus besoin et d’apporter leurs propres solutions aux problèmes posés.
  • Le formateur encadre les stagiaires par sa présence et répond aux questions. Il intervient pour épauler un binôme en difficulté ou pour faire le point à l’ensemble du groupe sur des notions non acquises. Il peut être amené à approfondir ou compléter certaines connaissances.
Référence :
Formation :
Java Spring React
Lieu :

Classe à distance, Présentiel

Durée :
64 jours (448 heures)
Dates :
7916 € HT
<span data-metadata=""><span data-buffer="">Je suis une entreprise qui embauche
Je suis un candidat intéressé par cette formation
Conserver & partager le programme
Email
Imprimer

Cette formation vous intéresse ?

Découvrez les formations incontournables dans ce domaine disponibles en classe et à distance

clock 64 jours
JAVA
Java Spring React
64 jours (448 heures)
7916 € HT
S'inscrire
clock 3 jours
JAVA
Développer des web services en Java
3 jours (21 heures)
3198 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 3 jours
JAVA
Spring web
3 jours (21 heures)
1590 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 5 jours
JAVA
Programmation Java 8 : Les fondamentaux
5 jours (35 heures)
2650 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 5 jours
JAVA
Programmation Java 8 Fonctions avancées
5 jours (35 heures)
2650 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 4 jours
JAVA
Programmation Java Avancé
4 jours (28 heures)
2120 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 3 jours
JAVA
Programmation Java Initiation
3 jours (21 heures)
1590 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 4 jours
JAVA
Formation Programmation Orientée Objet Java
4 jours (28 heures)
2120 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 2 jours
JAVA
Projet fonctions Java SE
2 jours (14 heures)
1060 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 4 jours
JAVA
Réaliser une application web avec Java EE
4 jours (28 heures)
2120 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 2 jours
JAVA
Services WEB avec Java SE
2 jours (14 heures)
1060 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 2 jours
JAVA
Servlet/JSP -Tomcat
2 jours (14 heures)
1060 € HT
S'inscrire

Demande de devis

Formation :
Java Spring React
Lieu :

Classe à distance, Présentiel

Durée :
64 jours (448 heures)
Prix :
7916 € HT

Laissez-nous un message et notre équipe commerciale vous répondra trés rapidement.
Vous pouvez également nous contacter par téléphone, du lundi au vendredi de 8h30 à 18h30.

1 Step 1
Vous êtes ?
keyboard_arrow_leftPrevious
Nextkeyboard_arrow_right
FormCraft - Générateur de formulaires WordPress
Ce formulaire n'existe pas

Je postule et dépose mon CV

Dates :
Formation :
Java Spring React
Lieu :

Classe à distance, Présentiel

Durée :
64 jours (448 heures)
Prix :
7916 € HT

Laissez-nous un message et notre équipe commerciale vous répondra trés rapidement.
Vous pouvez également nous contacter par téléphone, du lundi au vendredi de 8h30 à 18h30.

Comment financer votre formation chez AJC

Entreprises/Salariés secteur privé

Actions collectives

Certaine de nos formations font partie des Actions Collectives campusAtlas. Elles sont accessibles à toutes les salariés des entreprises adhérentes à l’OPCO Atlas

Entreprises/Salariés secteur privé

POE

La Préparation Opérationnelle à l’Emploi est le dispositif qu’il vous faut si vous ne trouvez pas assez de «talents» pour combler vos besoins de recrutement sur le marché du travail (particulièrement sur les métiers en tension et les métiers émergents).

Salariés/Demandeurs d’emploi

CPF

Tout salarié ou demandeur d’emploi bénéficie d’un Compte Personnel de Formation depuis 2015 qu’il peut mobiliser directement. Il représente un montant en euro.