Cette action de formation est mise en oeuvre sous l'impulsion de l'ADIRA dans le cadre de son projet "Invest in Digital People" qui vise à aider ses entreprises adhérentes à trouver les collaborateurs dont elles ont besoin.
Formation au métier de développeur full stack
Les développeurs full-stack sont par essence des développeurs informatiques aux compétences et activités très diversifiées. Le métier de développeur full-stack se distingue du métier de développeur car il ne se cantone pas à un aspect de l’écriture d’un logiciel ou d’une application de manière spécialisée (front-end, back-end, API). Au contraire, le développeur full-stack, comme son nom l'indique, prend en charge l’empilement complet des composantes d’un produit logiciel.
Les pré-requis
Il est attendu des candidat.e.s une connaissance préalable des technologies du web et du développement front-end et back-end (ex. PHP, Python, Javascript,...). Un niveau BAC+2 en développement informatique ou une expérience autodidacte significative est requis.
Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
- Développer une application back-end (API REST) de qualité professionnelle reposant sur la technologie JAVA en implémentant les principes de sécurité dits « by design » et les bonnes pratiques conformes à l’état de l’art
- Développer une application front-end de qualité professionnelle reposant sur la technologie ANGULAR en implémentant les standards UX, l’interopérabilité au niveau des terminaux desktop et mobiles, ainsi que les principes de sécurité dits « by design » et les bonnes pratiques conformes à l’état de l’art
- Maîtriser l’utilisation des différents outils et méthodes associés au cycle de vie d’une application Full Stack dans une approche DevSecOps
- Maîtriser et appliquer les bonnes pratiques de développement dans une logique de collaboration reposant sur les outils et méthodes AGILE
Programme du parcours
Programme individualisé, adapté aux besoins du projet professionnel de l’apprenant.e et tenant compte des compétences déjà acquises tout au long de la vie.
FONDAMENTAUX
- Acculturation professionnelle, état du marché et positionnement du métier de développeur Full Stack JAVA/ANGULAR dans l’industrie logicielle
- Introduction à l’UX, aux IHM et aux enjeux d’ergonomie et d’accessibilité
- Rappels sur les notions fondamentales de la conception et de l’architecture logicielle (UML/UP)
- Rappels sur les notions fondamentales de l’algorithmie et du développement informatique orienté objet (pseudo langage et JAVA)
- Rappels sur les bases de données (SQL / NoSQL)
DÉVELOPPEMENT BACK-END
- Web services et API (REST/RPC/SOAP) : fondamentaux, protocoles et sécurité. Utilisation de SOAPUI et Postman pour le développement et les tests
- Tour d’horizon de l’écosystème JAVA, historique, terminologie et évolution : Java 2EE, J2EE, Jakarta EE
- Jakarta EE et ses spécifications pour le web, les web services et les applications métier (Servlet, Server faces, Websocket, EL, RESTful Web services, JSON processing, JSON binding, Activation, Context and Dependecy Injection, Beans, Persistence, Transactions,...)
- Programmation Orientée Objet en JAVA
- Le framework SPRING et sa complémentarité avec les Beans (EJB) dans le contexte web/full stack
- Notion de persistence, d’ORM (Object Relational Mapping) et pratique d’HIBERNATE
- Notions fondamentales de qualité logicielle, introduction aux tests unitaires, aux forges logicielles et aux stratégies de tests fonctionnels
DÉVELOPPEMENT FRONT-END
- Rappel des fondamentaux HTML5/CSS3/JS
- Utilisation de Node.js pour le front-end et utilisation des « bundlers », « packers » et « task runners » : WebPack, Yarn et Grunt
- Introduction à TypeScript, aux frameworks MVW et MVC Front-End.
- Étude comparée sur les différent framework JS Front-End Angular et AngularJS
- Développement front-end ANGULAR : « scaffolding », routage, requêtage, interpolation, transformation,...
DevSecOps
- Versionning et collaboration avec Git et GitHub
- Rappel des fondamentaux du développement de sécurité « Security By Design »
- Introduction au déploiement automatisé, à l’intégration continue et au développement continu (CI/CD)
GESTION DE PROJET
- Rappel sur les fondamentaux de la gestion de projets
- Agilité et SCRUM
SOFT SKILLS
- Posture professionnelle + positionnement professionnel
- Simulation d'entretien