Devenez Développeur web Java EE
37 jours
100% finançable
Formation RNCP
Jours de formation
Solutions de financement
Une formation pour qui ?
Le parcours certifiant Développement Java EE s’adresse aux :
- Salarié d’entreprise, demandeur d’emploi et toute personne en reconversion et souhaitant développer des compétences en développement Java Jee
- Tout Développeur informatique ou informaticien souhaitant développer des applications et des services Web avec Java J2EE
- Ingénieur d’étude ou Architecte système et logiciel
- Chef de projet ou Consultant proche du développement informatique
Outre la maîtrise des techniques de base de la conception et le développement d’application client/serveur avec le langage orienté objet JAVA, le parcours certifiant « Développement JAVA J2EE » se distingue par l’acquisition des compétences du développement des applications et des services WEB avec JEE.
Le cursus de formation Java Jee permet aux apprenants de maîtriser les outils et les Framework Java Jee, ainsi que les méthodes de développement, de test et de validation pour se perfectionner sur Spring, Hibernate, Maven, JSP, JSF, Design Pattern, EJB et JPA.
Pré-requis
- Maîtriser les langages HTML CSS et JavaScript
- Connaître le paradigme orienté objet
- Avoir suivi la formation Développement Web est un plus
- Avoir une forte appétence pour la technologie numérique et l’IT
- Être capable de travailler en équipe avec un sens d’écoute et d’analyse
A l’issue du cursus certifiant « Développement Orienté Objet : Java Jee », les certifiés seront en mesure de :
- Analyser les besoins d’un projet de développement Java Jee
- Étudier les étapes de fonctionnement du programme
- Définir et proposer des solutions techniques applicatives de développement en JAVA J2EE
- Modéliser les données
- Concevoir un prototype de l’interface utilisateur (affichage écrans, formulaires, les états et les rapports)
- Concevoir un schéma physique de la Base de Données
- Développer les composants logiciels et les pages web en utilisant la programmation objet JAVA
- Développer et configurer les applications et les services WEB
- Maîtriser les Framework Java Jee : Spring, Maven, Hibernate…
- Maîtriser JSP, JSF, Design Pattern, EJB et JPA
- Réaliser des tests unitaires et produire un code testable et maintenable en utilisant l’architecture MVC Modèle Vue Contrôleur
- Sécuriser des applications et des services WEB développés
- Produire un code testable et maintenable en utilisant l’architecture MVC Modèle Vue Contrôleur
- Mettre en production et améliorer l’application développée
- Rédiger les documents techniques pour l’installation et le manuel pour les utilisateurs
Programme détaillé
Java les fondamentaux
Voir le programme
Section 1 : Introduction et Historique
- Point historique
- Histoire de Java
- Principes et composants de Java
- Syntaxe et compilation Java
- Gestion de la mémoire et garbage collection
- Choisir l’environnement de travail
- Travaux pratique 1 : Introduction et Historique
Section 2 : Installation et architecture
- Fichiers Sources
- Installer Java
- Travailler en ligne de commande
- Tirer partie des IDEs
- Créer un premier programme
- Respecter les conventions de nommage
- Environnement et outils Java
- Travaux pratique 2 : Installation et architecture
- Architecture et outils
- Aborder l’architecture de Java
- Mettre en oeuvre Eclipse
- Utiliser les tests
- Utiliser les plug-ins
- Utiliser JConsole
- Utiliser JShell
- Travaux pratique 3 : Installation et architecture
Section 3 : Syntaxe de base
- Déterminer le point d’entrée d’une application
- Déclarer et initialiser une variable
- Saisir la différence entre types primitifs et objets
- Comprendre la différence entre types entiers et Wrappers
- Saisir la différence entre types flottants et wrappers
- S’initier aux caractères et aux booléens
- Connaître le cycle de vie des données
- Maîtriser les conversions
- Rédiger des commentaires
- Créer des tableaux
- Les classes Object et String
- Utiliser les conditions par if
- Utiliser les conditions par switch
- Mettre en oeuvre les boucles
- Utiliser le forEach
- Manipuler les chaînes de caractères avec le type String
- Manipuler les chaînes de caractères avec les classes StringBuilder et StringBuffer
- Utiliser les opérateurs arithmétiques
Section 4 : Développement POO Java
- La classe
- Les attributs et les accesseurs
- Comprendre les champs
- Utiliser les getters et les setters
- Manipuler les objets et les appels de méthodes
- Les constructeurs
- Utiliser les constructeurs
- Utiliser les statics
- Utiliser le type enum
- Le package
- Aborder les packages et les visibilités des membres
- Les exceptions
- Les interfaces
- Associations, compositions et agrégations
- Les classes imbriquées
- Travaux pratique 6 : Développement POO Java
- L’héritage en Java
- Les classes abstraites
- Le polymorphisme
- Travaux pratique 7 : Développement POO Java
Section 5 : Examen final
- Fiche synthétique
- Contrôle final
- Votre avis compte
Java avancé
Voir le programme
Syntaxes avancés du langage
- Les « import static »
- Autoboxing et auto-unboxing des types primitifs
- Les types génériques
- Amélioration des boucles avec les collections
- Introspection et réflexion
- Méthodes à nombre d’arguments variable
- Annotations : utilisation, création
Comprendre la JVM (Machine Virtuelle)
- Chargement des classes, Classloader, classpath
- Comprendre comment fonctionne le garbage collector et la gestion de la mémoire, forcer un garbage
- Optimiser l’utilisation de la mémoire, modifier les paramètres de lancement
- Comprendre le class loader
- Modifier la stratégie de chargement des classes : ecriture d’un class loader
- Piloter la JVM via API
Gérer les accès concurrents
- Définition d’un thread
- Concepts et spécificités du multithreading par rapport à la programmation « traditionnelle »
- Créer et manipuler les threads
- Synchroniser les threads sur un objet moniteur
- Interfaces Lock et Condition
- Pools de threads
- Les apports du framework Executor (invocation, ordonnancement, exécution, contrôle)
- Le package java.util.concurrent
- Exemple de temps réel
- Bonnes et mauvaises pratiques
Annotations
- Programmation orientée aspect et Java
- Le modèle Annotations
- Types d’annotations
- Annotations intégrées
- Annotations vs. Descripteurs (XML)
Atelier cas pratique
La sécurité en Java
- Les contextes : standalone, applet, serveur Java EE
- Les API de sécurité (JAAS, JCE, JSSE)
- La configuration
- Cryptographie et PKI
- Signer une applet java
Introduction aux Design Patterns
- Programmation par interfaces
- Introduction aux design patterns du GoF (Gang Of Four)
- Les documentations de référence
- Pattern Singleton
- Pattern Factory
- Pattern Decorator
- Pattern Observer
- Pattern Proxy
- Architecture MVC
- Architectures n-tier
Accéder à une base de données relationnelle avec JDBC
- Architecture et types de pilotes JDBC
- Charger le pilote et récupérer une connexion à la base de données
- Exécuter des requêtes SQL, requêtes paramétrées
- Exploitation des résultats
Java et les tests unitaires
- Présentation, intérêt
- Automatisation et intégration des tests dans le processus de builds, l’exemple de Maven
- Mise en œuvre avec JUnit5, assertions, annotations
- Cycle de vie d’exécution d’un test
- Données de tests
- Suite de tests
Nouvelle API Date/Time
- La gestion du temps «classique» et sa lourdeur de manipulation en Java (jour, mois, année, heure, minutes, sec.)
- Les concepts de temps machine et temps humain avec la nouvelle API
- La gestion du temps machine avec java.time.Instant et java.time.Duration
- Le temps humain avec java.time.LocalDate, java.time.LocalTime, java.time.LocalDateTime
Atelier cas pratique
Notion de persistance objet
- Principes
- Data Transfer Object
- Exemple d’Hibernate
Gestion de flux d’entrées/sorties
- Flux binaires, encodages
- Sérialisation/désérialisation d’objets
- Les modifieurs Java et leurs impacts
Architecture à objets distribués : RMI (Remote Method Invocation)
- Présentation
- Appel de méthodes d’un objet distant (TCP-IP)
- Appel de méthodes d’un objet distant (RMI)
- Annuaire d’objets : RMIRegistry
- Interface Remote
- Le compilateur rmic
- Stub et skeleton
- Construction du client et du serveur
- Introduction à CORBA et IIOP
Réseaux en Java
- Le modèle de référence OSI
- Protocoles réseau
- La classe Socket
- La classe Server Socket
- Connexion via des objets URL
- HTTP et autres serveurs TCP
- Clients et serveurs Datagram
- Sockets sans blocage
- Multi-Threading dans les serveurs
Mise en œuvre de l’API Stream pour la manipulation des flux de données
- Objectif de l’API Stream
- Obtention et sortie d’un stream
- Opérations intermédiaires et terminales
- Mise en œuvre des méthodes forEach, map, filter, findFirst
- Principe de l’évaluation paresseuse
- Intérêt de la la classe Optional
- Réduction avec reduce et collect
- Interface Collector et classe Collectors
- Autres méthodes : limit, skip, sorted, min, max, distinct, allMatch, anyMatch, noneMatch, count
- Streams parallèles, précautions d’usage
Atelier cas pratique
Java Design Pattern
Voir le programme
Principes fondamentaux de l’Orienté Objet
- Encapsulation – rendre toutes les données privées, protected ou non publiques
- Conception à l’interface, et la mise en œuvre
- L’utilisation de l’héritage et du polymorphisme
Vue d’ensemble des autres fonctionnalités de Java
- Collections sécurisées
- Optimisation des boucles
- Annotations
- Autoboxing
- Enumération
Atelier pratique
Bonnes pratiques Java
- Exceptions – le bon, le mauvais et le laid
- Constructeurs vs. clone ()
- Implémentations hashCode () et equal ()
- Refactoring – comment et quoi faire ?
Utilisation correcte de l’instanciation
- Infrastructure de codage et tuning
- JUnit
- Un aperçu de Ant and Maven
- Un aperçu de Java Garbage Collection
- Utilisation efficace de l’API Collections
Atelier pratique
Modèles de conception
- Les raisons pour les design Pattern
- Vue d’ensemble des modèles GoF
- J2EE Patterns
Atelier pratique
Tests Java (Junit et TDD)
Voir le programme
JSF : Java Server Faces
Maven
Hibernate
Spring MVC – Model View Controller.
Java Servlets/JSP
Voir le programme
Java EE Présentation
- Java EE Vue d’ensemble
- Technologies Java EE
- Java EE architecture
Atelier et Cas pratique
Service Web Java EE
Voir le programme
Section 1 : Introduction
- Introduction aux web services
- Pourquoi utiliser les web services
- Lexique
- Terminologie
- C’est quoi une API ?
- Introduction à JSON
- Travaux pratique 1
Section 2 : Web Services en Java EE 8
- Introduction à REST et SOAP
- REST et SOAP
- Services RESTful avec JAX-RS
- Services SOAP avec JAX-WS
- Différences entre SOAP et REST
- Les cas d’utilisation REST et SOAP (5 min)
- Nouveautés Java EE 8 pour les Web Services
- Travaux pratique 2
Section 3 : Démarrez avec JAX-RS
- Fichiers sources
- Différences entre JEE, Java EE et Jakarta EE (5 min)
- Configuration Projet Java EE sous Eclipse
- Création d’un service Web RESTful
- Déploiement d’un service Web RESTful
- Test avec Postman
- Analyse d’un service Web RESTful
- Les chemins sous JAX-RS
- Travaux pratique 3
Section 4 : Démarrez avec JAX-WS
- Création d’un service Web SOAP
- Déploiement d’un service Web SOAP
- Test avec SoapUI
- Analyse d’un service Web SOAP
- Consommation d’un client SOAP
- Client SOAP en Java
- Quiz
- Travaux pratique 4
Section 5 : Créez un service Web RESTful avec JAX-RS
- Les URL et les ressources REST
- Configuration de l’URL de service
Section 5 : Créez un service Web RESTful avec JAX-RS
- Les URL et les ressources REST
- Configuration de l’URL de service
- Les méthodes et les en-têtes HTTP
- Gestion des méthodes HTTP
- Les annotations JAX-RS
- Gestion des paramètres de requête
- Gestion des évènements d’un serveur
- Utilisation de l’annotation @Context
Section 6 : Consommez un web service RESTful
- Création client synchrone du service RESTful
- Création client asynchrone du service RESTful
- Présentation client réactif de JAX-RS
- Implémentation client réactif du JAX-RS
Section 7 : Personnalisez un web service RESTful
- Les validations sous JAX-RS
- L’API Bean Validation 2.0
- Gestion des exceptions sous JAX-RS
Section 8 : Apprenez à maintenir un web service RESTful
- Journalisation et surveillance dans JAX-RS et JAX-WS
- Traçage dans JAX-RS
- Journalisation personnalisée à l’aide d’un filtre dans JAX-RS
- Documentation de l’API avec Swagger sous JAX-RS
Section 9 : Sécurisez un web service RESTful
- Authentification avec mot de passe dans JAX-RS
- L’API JWT de sécurité
- Implémentation de l’authentification par mot de passe
- CORS dans JAX-RS
Section 10 : Automatisez le test des APIs avec SOAPUI
- Introduction à SoapUI
- Installation et configuration
- Création d’un projet
- Etude d’une API avec SoapUI
- Gestion des requêtes et des paramètres de requêtes
- Quiz 1
- Création des tests
- Création d’une testSuite
- Création d’une workflow-driven testSuite
- Utilisation des propriétés dans les tests
- Création d’un data-driven test
- Configuration et démontage d’une testSuite
- Quiz 2
- Introduction aux assertions
- Utilisation des scripts d’assertions
- Débogage des tests échoués
- Quiz 3
- Configuration des propriétés globales et variables d’environnement
- Utilisation des propriétés dynamiques
- Utilisation des scripts avancés dans SoapUI
- Quiz 4
- Simulation avec les mock
- Création des tests de sécurité
- Initiation aux options de test de charge
- Mise en place d’un test de charge
- Analyse des résultats de test de charge
- Quiz 5
- Exécution de SoapUI en ligne de commande
- Création automatisée des rapports
- Exécution SoapUI avec Docker
- Quiz 6
- Travaux pratique 10
JSF : Java Server Faces
Voir le programme
JSF Vue d’ensemble
- Model View Controller
- éléments JSF – web.xml et faces-config.xml
- La puissance de Facelets
- JSF 2 – résumé rapide des caractéristiques
- Examinons les Annotations
GUI Composants 1
- Familles de composants
- UIViewRoot et FacesContext
- Le cycle de vie JSF
- Les pages Facelets
- Les composants de sortie – le texte et les étiquettes
- Formulaires
- Mise en forme de la sortie
- Saisie des mots de passe
- Gestion des Messages
Navigation dans les applications JSF
- règles de navigation via des annotations
- Actions dynamiques vs statique.
- Déclarant la navigation dans les faces-config.xml
- Langue d’expression JSF
Atelier et Cas pratique
Beans de sauvegarde
- Les utilisations des beans
- Déclaration des beans et les propriétés gérées par annotations
- Listes et Map dans les Managed Beans
- Utilisation de la FacesContext
- méthodes d’action dans les beans
- Connexion à des services back-end
Conversion et validation
- La conversion et la validation du cycle de vie JSF
- La conversion implicite et explicite
- conversion Date / Heure
- conversion en nombre
- validateurs standard des entrées
- La mise en œuvre de validation avec les beans
- conversion / validation Affichage des messages d’erreur
- convertisseurs personnalisés et validateurs
- validation côté client
Atelier et Cas pratique
Évènements JSF
- Les phases de JSF
- GET vs POST
- Les actions de page (JSF 2)
- Événements d’action
- Les événements de modification de la valeur
- Événements de phase
- Évènements Modèle de données
GUI Components 2
- Sélection d’éléments de listes
- Les cases à cocher et des boutons radio
- Boutons de commande et des liens de commande
- Panel Group et le Grid Panel
- Tableaux de données
- Nouveaux JSF 2.1 composants – Date Picker, Onglets, les Arbres et Upload de Fichier
Atelier et Cas pratique
Composants personnalisés écriture
- Faire un composant personnalisé
- Utilisation du composant dans une page JSP
- Utilisation des attributs d’une balise personnalisée
- Les composants personnalisés qui fournissent une entrée
Composition d’une Page à l’aide Facelets
- templating
- Le passage de paramètres aux pages
- Facelets et JSTL
- Facelets composants de la composition
- L’utilisation d’autres bibliothèques de balises
Atelier et Cas pratique
Ajax Vue d’ensemble
- XMLHttpRequest
- GET vs requêtes POST
- Tirer parti d’Ajax dans les applications Web
- Connexion au serveur
- Mise à jour du DOM pour la page
Ajax dans le cycle de vie JSF
- Sur la page du client – jsf.ajax.request ()
- Partial View Context
- Demande et réponse des charges utiles
- Les balises <f: ajax>
- les requêtes Ajax dans le cycle de vie JSF
Les stratégies existantes Ajax pour JavaServer Faces
- RichFaces
- ICEfaces
Atelier et Cas pratique
Spring Boot
Voir le programme
Débuter avec Spring Boot
Introduction
• Introducion
• Introduction Spring et son architecture
• Introduction Spring Boot
Injection dépendance
• Injection des dépendances et conteneurs IOC
• Les Beans Spring avec Java
• Les Beans Spring avec des annotations
• Injection de dépendances
Atelier et Cas pratique
Création d’application
• Spring Initializr
• Spring Tool Suite (STS)
• Structure de l’application
• Exemples de configurations
Atelier et Cas pratique
L’auto-configuration Spring Boot
• L’auto-configuration Spring Boot
• Mise en oeuvre de l’auto-configuration
• Modification de la configuration par défaut
• Modification serveur par défaut
• Ajout d’une auto-configuration
• Ajout nouvelles propriétés
• Auto-configuration Spring Boot
Atelier et Cas pratique
Aller plus loin avec Spring Boot
Les starters Spring Boot
• Les starters Spring Boot
• Création d’un starter
• Les contrôleurs MVC
• Le starter Web de Spring Boot
• Contrôleur Web
• Contrôleur RESTful
• Spring Data
• Spring Boot Starters
Atelier et Cas pratique
Test d’application Spring Boot avec JUnit
• Création test JUnit
• Test d’un contrôleur MVC
• Les simulacres (mocks)
• Test d’application Spring Boot
Atelier et Cas pratique
Fonctionnalités avancées Spring Boot
• Fonctionnalités avancées
• Spring Boot Actuator
• Le point final Info
• Le point final Health
• Définition des indicateurs
• L’interface CommandLineRunner
• Migration de spring 1.5 vers 2.0
Atelier et Cas pratique
Spring Data
Voir le programme
Introduction SpringData, JPA et ORM
•Introduction Spring Data
•Modèle Logique vs modèle physique
•L’histoire de JPA
•La spécification JPA
•Mapping d’une table de base de données à une classe Java
•Mapping multiple des tables de base de données à des classes Java
•JPQL (Java Persistence Query Language)
Atelier et Cas pratique
Les éléments nécessaires de Spring Data
•JPA sans Spring Data
•Les interfaces référentiels (Repository) de Spring Data
•Implémentation de l’interface Crud Repository
•Implémentation de l’interface Jpa Repository
•Les éléments nécessaires de Spring Data
Atelier et Cas pratique
Les requêtes avec SpringData
•Les méthodes des requêtes SpringData
•Méthodes des requêtes avancées
•Les méthodes de requête avec @Query
•Les méthodes de requête
•Pagination et Tri
•QueryByExample(QBE)
•Le type de retour Optional
Atelier et Cas pratique
Aller plus loin avec SpringData
•Exemple Spring Data MongoDB
•Exemple Spring Data JDBC
•Exemple Spring data référentiel réactif
•Autres solutions Spring Data
•Spring data REST
•Query Dsl Spring Data
•Audit Spring data
•Le pattern Read Only Repository
Atelier et Cas pratique
Spring MVC – Model View Controller
Voir le programme
Spring Présentation
- lacunes de Java EE et la nécessité du coulage faible
- Gestion des beans, le conteneur Spring, Inversion de contrôle
- Le modèle factory
- Configuration des métadonnées – XML, @component
- Dépendances et injection de dépendances (DI) avec le BeanFactory
Injection dépendance
- En utilisant le contexte de l’application
- Property Editors
- Méthodes factory
- Les espaces de noms Crucial ‘p’ et ‘c’
- Configuration des Collections
- Héritage Définition des Bean et Collection
- Expression Language, Spel
Le conteneur Spring et API
- Le cycle de vie Bean Spring Managé
- interfaces clés, annotations et BeanPostprocessors
- Gestion des événements et les getteurs
- Sources de message et Internationalisation
- Autowiring des dépendances
Atelier et Cas pratique
Autres métadonnées Configurations
- Configuration des Annotations @Autowired, @Required, @Resource
- @component, Scans Component. Filtres de composants
- @value et @Qualifier
- Cycle de vie Annotations
- Configuration Java, @Configuration, configuration libre XML (en option)
- le Annotation Config Application Context
Spring 4 Spécificités
- Bean Définition DSL
- Qualifiers génériques pour Injection de Bean
- L’utilisation Cglib des classes proxy avec la bibliothèque Objenesis
- En utilisant @Conditional et @Lazy
- Java 8 support de fonctionnalité
Atelier et Cas pratique
Spring et persistance
- Spring et JDBC
- Spring et Hibernate
Spring AOP
- Configuration Annotation
- Configuration XML
Gestion des transactions
- propagation des transactions
- Gestion des transactions: @Transactional
- Configuration Annotation, Règles Rollback, Isolation
- Configuration XML
Atelier et Cas pratique
Développer des applications Web en utilisant le framework Spring – Spring MVC
- Le WebApplicationContext et le ContextLoaderListener
- Model View Controller
- Front Controller Pattern
- Configuration DispatcherServlet
- Contrôleurs, RequestMapping
- Utilisation des formulaires
- Obtenir à la demande, @RequestParam, @RequestHeader, @CookieValue
- ModelAndView
- En utilisant le modèle POST Redirect GET avec Flash Attributes
Techniques avancées
- balises et modèle de liaison, @ModelAttribute
- Validation des données JSR303
Atelier et Cas pratique
Contrôleurs de printemps et Ajax
- JavaScript (JQuery) l’accès aux contrôleurs (aperçu bref de sélection)
- URITemplates
- L’utilisation @ResponseBody
- JSON et des données XML échange
- HTTP des gets et des posts
Services Web RESTful
- Concepts de base REST
- REST et Spring 4.x
- Utilisez Spring MVC pour créer des services Web RESTful
- REST annotations spécifiques a Spring
- URITemplates, @PathVariable, @RequestParam
- JSON et des données XML échange
- @RequestMapping
- Accès client avec HttpClient ou RestTemplate
Atelier et Cas pratique
Informations pratiques
Suivant le baromètre Besoin en Main d’Œuvre 2019 (BMO 2019) et la DARES, le nombre de postes à créer pour le consultant Big Data ainsi que les difficultés de recrutement en 2019 sont comme suit
Nombre de postes à pourvoir
National
Île-de-France
Auvergne-Rhône-Alpes
Occitanie
Quels sont les chiffres associés aux postes et à la formation ?
Salaire pour un junior en moyenne
Salaire pour un senior en moyenne
Recrutements jugés difficiles
%
National
%
Île-de-France
%
Auvergne-Rhône-Alpes
%
Occitanie
Le certificat « Développement Java EE» va vous ouvrir un large panel de possibilités et vous permettre d’exercer les métiers suivants :
✔ Développeur Java Jee
✔ Développeur application client-serveur Java Jee
✔ Développeur service Web Java Jee
✔ Consultant et Chef de projet Applicatif en Java Jee
✔ Data Engineering après avoir suivi la formation Big Data chez CNA
✔ Data Scientist après avoir suivi la formation science des données chez Digital Unlocked
Comment suivre une formation chez nous ?
1. Prenez contact avec nos conseillers.
2. Choisissez le format de votre formation : Blended (présentiel et e-learning) ou présentiel
3. Nous validons votre dossier et vous recevez vos identifiants.
4. Vous pouvez commencer la formation.
Financez votre formation !
Financement CPF
CPF « Compte Personnel de Formation »
CPF de transition
CPF de transition pour une Reconversion Professionnelle.
PDC
Plan de Développement de Compétences de l’entreprise.
VAE
VAE : Validation des Acquis de l’Expérience.
Contrat PRO
Contrat d’alternance ou de Professionnalisation.
AFPR
AIF
POEc
POEi
Financez votre formation !
Découvrez nos solutions
Financement CPF – CPF « Compte Personnel de Formation »
CPF de transition – CPF de transition pour une Reconversion Professionnelle
PDC- Plan de Développement de Compétences de l’entreprise.
VAE – Validation des Acquis de l’Expérience
Contrat PRO – Contrat d’alternance ou de Professionnalisation
AFPR – Action de Formation Préalable à l’Embauche
AIF – Aide Individuelle à la Formation par Pôle Emploi
POEc – Préparation Opérationnelle Emploi Collective
POEi – Préparation Opérationnelle Emploi Individuelle