e-404.io

Ecole de développement dans le metaverse

Voir le profil
Créé le 3 juillet 2020 | mis à jour le 20 septembre 2022 | Télécharger la version PDF

[CFA] TP Concepteur développeur d’applications (1 an) [CDA]

ANNÉE 3 - DÉVELOPPEMENT (DEV)

  • mixte
  • 420h/50.0j
  • À partir de 7816.00€*

*Prix minimum hors frais annexes.

Comprendre les financements

Objectifs

  • Concevoir et développer des composants d'interface utilisateur en intégrant les recommandations de sécurité
  • Concevoir et développer la persistance des données en intégrant les recommandations de sécurité
  • Concevoir et développer une application multicouche répartie en intégrant les recommandations de sécurité

Points forts

Publics visés

Etudiants, Informatique, Développeur

Domaines

Conception web - développement web

Pré-requis

Bac +2 Informatique

Certification

Aucune

Accessibilité

Aucune information

Conditions d'accès

Programme

Module 1

  • Face à face à distance
  • 20h
  • Questionnaire en ligne
  • 15h

Le système d'informationModélisation d'une base de données au niveau conceptuelLes Modèles Conceptuels de Données (MCD)Du MCD au MLD (Modèle Logique de Données)Rappel des règles de relations (les écrire)Du MLD au SQLManipulations SQLAfficher des données restreintes et triées à l’aide des fonctions de tri et la sélection de colonnesGestion des utilisateurs, création et sauvegarde d'une base de donnéesGestion des indexes, des relations et des contraintesManipuler des données (INSERT, UPDATE, DELETE, TRANSACTIONS)Afficher les données de plusieurs tablesUtiliser des instructions pour créer et gérer des tables (LDD)Utiliser des fonctionsUtiliser les opérateurs EXISTS et NOT EXISTSUtiliser la clause WITHRestituer des données agrégées à l’aide des fonctions de groupe (GROUP BY)Générer des rapports par l’utilisation des groupes de données (ROLLUP, CUBE, GROUPING)Utiliser les opérateurs "SET"Utiliser des sous-requêtesUtiliser des expressions régulièresManipuler les objets vuesManipuler les ensembles des données volumineuxGérer les données dans différents fuseaux horaires

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par email (sous 24h) - Par chat (instantané) - Pendant et entre les séquences

Module 2

  • Face à face à distance
  • 20h
  • Questionnaire en ligne
  • 15h

Objectifs pédagogiquesDévelopper avec ReactJSConcevoir une SPA avec ReactJS et Flux ou Redux (store JS)Comprendre le subset JavaScript JSX (moteur de template)Optimiser les performances des RIARappel des basesLes fondamentaux. HTML, CSS, JavaScript. Le DOM.Design patterns applicatifs classiques. Limitations des applications JavaScript.Ecosystème des frameworks JavaScript.Principes de Data-Binding : dirty-checking, observable, virtual-dom.ReactJS, positionnement et philosophie.JSX, présentation. Mise en œuvre "Transpilers".Environnement de développement. IDE et plug-ins.Travaux pratiquesMise en place de l'environnement de développement. Initiation à JSX. Définition de la structure de l'application.Développer avec ReactJSApproche : MVC et Virtual Dom, un choix de performance.Utiliser JavaScript ou JSX.Présentation des compostants (classes et fléchés)Comprendre JSX en détail. Pièges à éviter.Méthodes principales de l'API.Création de composant de vues. Cycle de vie.Initialisation de propriétés."Render Function" : gestion des états de composant.Travaux pratiquesDéfinition et réalisation de composants selon les spécifications déterminées.Interactivité des composantsGestion des événements. "autobinding" et délégation.Système de HooksDesign Pattern : stratégie pour les composants à état.Composer par ensembles."Component Data Flow" : propriétaire, enfants et création dynamique.Composants réutilisables : contrôle et transfert de propriétés.Contrôle des composants de formulaire.Manipulation du DOM.Travaux pratiquesCréation d'un ensemble structuré de composant UI.Application monopage avec ReactJS et Flux ou Redux (store)Flux/Redux : présentation. Propagation de données.Comparaison des architectures.Création de vues et contrôleurs dans Flux.Rôle du "Dispacther" dans Flux pour les actions.Les "Stores", gestionnaire d'états logique dans Flux.Définition du Functionnal Programming.Approche avec Redux. Le "Reducer".Extension pour ReactJS : "hot-loader".Travaux pratiquesIntégration d'une SPA.

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 3

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Objectifs pédagogiquesComprendre les frameworks de développement mobile et la spécificité de React NativeMettre en place un environnement de développement React NativeConstruire une interface utilisateur fluide et performanteUtiliser les principaux composants et les API natives proposées par React NativeConcevoir l'architecture logicielle d'une application mobile multiplateformeDéployer une application mobileIntroductionLe développement natif, l'hétérogénéité et la fragmentation.Les principaux outils cross-platform.Positionnement de React Native par rapport aux solutions existantes.React NativeRappels sur ES6/S201x. Notion de transpileur.React et le superset de JavaScript JSX.React Native : principes clés, fonctionnement général.Installation et configuration de React Native.Outils de développement et de debug.Travaux pratiquesInstallation et configuration de React Native. Maîtriser le debugger.Architecture d'applicationConfigurer un composant : state & props.React Native et MVC.Le pattern Flux, une alternative au MVC.L'arrivée de Redux : le store, le reducer, les actions.Travaux pratiquesInitialisation d'un projet React Native. Configuration d'un composant.Construire son interfaceLes composants de base (View, Text et Image) et leurs cycles de vie.Les événements Touch, la ListView et la ScrollView.Organiser le layout de l'application. Mise en page avec Flexbox.Styler les composants.Les différentes solutions de navigation entre les pages.Composants avancés.Utiliser des composants de la communauté.Ajouter des animations et des transitions.Travaux pratiquesDévelopper une première application.Les formulaires et la gestion des donnéesLes principaux composants de formulaires.La validation de la saisie et la gestion des erreurs.Redux-form et alternatives.Récupération des données : xmlhttprequest et fetch.Le stockage local.La gestion offline.Travaux pratiquesDévelopper un formulaire, valider les données et assurer la persistance des données.Interagir avec le terminalLes principales API natives de React Native.Utiliser les plugins Cordova/PhoneGap.Développer un module natif.Travaux pratiquesImplémentation des principales API natives.Usages avancésBest Practices et erreurs fréquentes.Tests unitaires et fonctionnels.Publier l'application.Mises à jour Over The Air.Frameworks et outils complémentaires.Travaux pratiquesTester et déployer des applications React Native.

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 4

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Le projet client-centré : questionnaires orienté problème, consumer journey map, recueil du besoin, personas, cas d'utilisationsIntroduction à l'UI/UX-Design, mobile firstDu prototype à la maquette dynamique avec Figma (mobile et desktop)Du prototype à la maquette dynamique avec Figma

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 5

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

J1 FlexJ2 GridJ3 Animation CSSJ4 BreakPoint Responsive

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 6

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Déployer sur CleverCloudCommunication interne avec Clever CloudComparatif des services de déploiement, Déployer sur une VMSécuriser sa VM

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 7

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Découverte du CLI de Docker)Instancier des conteneursCréer ses imagesComposer ses images avec docker-compose

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 8

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Objectifs pédagogiquesConnaître NestJSConnaître le style d’architecture en microservicesConnaître les implications de l’architecture microservicesDéployer une architecture en microservicesSécuriser une architecture en microservicesIntroduction à NestJSQu’est-ce que NestJSRappels ExpressJS, CRUD, la norme REST, la différence entre stateless et statefullNestJS : principes clés, fonctionnement général.Installation et configuration de NestJS.Outils de développement et de debugTravaux pratiquesInstallation et configuration de NestJS. Maîtriser le debugger. Mise en place d’un CRUDAuthentification et persistence des donnéesAuthentification avec PassPortAutorisation avec un GuardTypeORM pour la persistence des donnéesMariaBDTravaux pratiquesMise en place de la persistance des données de la veille et authentification avec un utilisateurIntroduction à l’architecture en microservicesComparaison des architectures en monolithe et en microservices : code, compréhension, déploiement, langage, scalabilitéLes avantages de l’architecture en microservices : pour l’entreprise, pour les développeurs, pour les testeurs, pour le managementPourquoi il ne faut pas commencer par l’architecture en microservicesLes caractéristiques de l’architecture en microservicesDesigner une application en microservicesLa communication : PubSub pattern, gRPCLa norme API RESTTravaux pratiquesEtude de cas sur une entreprise : identifier les avantages et les inconvénients du découpage en microservicesL’architecture en microservices avec NestJS/gRPCLes différentes solutions avec NestJS : Redis, MQTT, NATS, RabbitMQ, Kafka, gRPCMettre en place une architecture en microservices avec gRPCL’architecture en microservices avec gRPC : package, protopath, url, protolbuff, client, les flux, les paramètres, les appels, les metadataTravaux pratiquesMise en place d’un microservice avec gRPCMise en place d’un architecture en microservices avec NestJS

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 9

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Objectifs pédagogiquesConnaître la notion de Big DataInstaller et administrer la base de données NoSQL MongoDBManipuler des documents d’une base données MongoDBQu’est-ce que le Big Data ?Définition du Big DataBig Data : volume, vitesse et variétéLe fonctionnement : ACID ou BASE, théorème CAPHistoire du Big DataLes cas d’usage du Big DataTravaux pratiquesRéfléchissez sur un cas d’usage d’entreprise en Big DataIntroduction à MongoDBIntroduction au SDBG NoSQL MongoDB.La modélisation sous MongoDB.Les différents formats utilisés par MongoDB : JSON, BSON.Préparation à l'installation de MongoDB.Connexion et test de MongoDB.Travaux pratiquesInstallation de MongoDB et intégration d'une base de données d’une liste de restaurant.Modélisation et indexation sous MongoDBLe schéma design : réflexion sur la modélisation à utiliser.L'indexation sous MongoDB.Les expressions régulières avec MongoDBFonctionnement de MongoDB : transaction, isolation et verrouGestion des performances sous MongoDB.Travaux pratiquesModélisation d'un cas pratique et indexation des données.Les agrégations sous MongoDBIntroduction au concept d’agrégationLes différents types d’agrégation : pipeline, réduction de la carte, agrégation à usage uniqueTravaux pratiquesFaire des relations relations dans une base MongoDB

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 10

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Utilité, Les tests dans la gestion de projets agile, création d'un plan de test, les typologies de test, OWASPBDD et TDD avec CucumberConception et exécution des tests, test d'intrusion, test de chargeAutomatisation des tests avec CypressTest d'intrusionCycle de vie et projets agilesLes opportunités offertes par le développement agile de logiciels et de produits.Motivation de l'Agilité. Valeurs et principes, accepter le changement des besoins clients.La démarche agile, itérative et incrémentale.Le test dans le développement Agile.Mise en situationAtelier en groupe permettant de comprendre la démarche du test Agile.Expression du besoin dans le projet AgileIdentifier la valeur du point de vue des utilisateurs, tester ses idées, Lean Startup.Bien connaître ses utilisateurs, tester les catégories d'utilisateurs, créer des Personas, UX.Faire un impact, relier les actions des acteurs du projets à ses objectifs et utilisateurs, Impact Mapping.Découper les besoins sous la forme d'histoires utilisateurs, User Stories.Simplification, priorisation, rédaction et organisation des histoires utilisateurs.Travaux pratiquesElaborer l'expression du besoin d'une application à développer (Story Mapping). Prioriser les histoires utilisateurs.Le modèle ATDD, les spécifications exécutablesLe principe d'ATDD (Acceptance Test Driven Development) : développement piloté par les tests d'acceptation.BDD (Behavior Driven Development) : développement piloté par les comportements.Spécifications par l'exemple, spécifications executables, tests de non-régression, tests fonctionnels.Cycle du projet pour les spécifications exécutables.Travaux pratiquesDécouverte d'un domaine métier et rédaction de spécifications par l'exemple. Démonstration de l'outillage.Définition et principes du TDD, développement piloté par les testsTypologie des tests.Origine du TDD (Test Driven Development).Cycle de développement du TDD. Red Green Refactor, baby steps.Refactoring et conception émergente.Couverture de tests.DémonstrationDémonstration d'un développement en Java piloté par les tests. Démonstration de refactoring sur un code complexe.Intégration continueLes différents composants de l'intégration continue.Mise en place de la plateforme d'intégration continue.Intégration continue et métrique.Travaux pratiquesDémonstration de Jenkins et de SonarQube.

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 11

  • Face à face à distance
  • 20h
  • Travaux à rendre
  • 15h

Programme de la formationL'offre GitLabGitLab CE (Community edition). GitLab EE (Enterprise edition).Les différents types d'utilisation de GitLab : gitlab.com, on premise, on cloud (AWS, GCP).Procédure d'inscription sur gitlab.com.Travaux pratiquesCréation d'un compte GitLab sur gitlab.com. Parcours de l’interface.Rappels sur Git et son utilisation avec GitLabLes concepts Git : blob, tree, commit, revision, branche, tag…Gestion locale des fichiers. Consultation et modification de l’historique de travail.Gestion des branches. Fusions des branches et gestion des conflits.Travaux pratiquesMise en place d'un dépôt distant et simulation d'un travail collaboratif.La gestion du dépôt avec GitLabLa gestion des collaborateurs d’un projet et leurs droits.Le système d’issues et le lien avec les commits.Présentation du wiki et des snippets.Travaux pratiquesParamétrage des droits et création de merge requests.GitLab CI/CDPrésentation de GitLab CI/CD et des GitLab runners.Présentation de Docker.Le fichier manifeste gitlab-ci.yml, présentation du langage YAML.Les balises essentielles pour décrire des étapes, des jobs, des traitements (stages, images, script…).Le suivi d’exécution du pipeline. Jobs automatiques, manuels et planifiés.Les artifacts et l’amélioration des performances avec le cache.La documentation officielle relative à la syntaxe du fichier manifeste.La gestion des environnements.Travaux pratiquesExemples simples de création et d'enchaînement de jobs.Plus loin dans l’utilisation des runnersLes types de runners (shared runner, specific runner et group runner).Les shared runners disponibles sur gitlab.com gérés par l'équipe GitLab.Scalabilité des runners avec Docker Machine.Le Docker executor et les images disponibles : MySQL, PostgreSQL, Redis, MongoDB, Ruby...Les tests d'intégration, les tests fonctionnels, les tests de montée en charge.Le déploiement vers le cloud AWS.Le Kubernetes executor et la répartition des jobs dans un cluster Kubernetes.Intégration de l'outil de monitoring Prometheus.Travaux pratiquesMise en place d’un specific runner. Exécution d’enchaînements de jobs sur différents runners.Fonctionnalités complémentaires de GitLabShared runners sous Windows.Infrastructure as code avec Terraform.Auto DevOps.Tests de sécurité dynamiques (DAST).

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 12

  • Face à face à distance
  • 28h
  • Travaux à rendre
  • 0h

Utiliser l'anglais dans son activité professionnelle en conception et développement d'applications, Actualiser et partager ses compétences en conception et développement d'applications

Supervision pédagogique : Assistance technique - Aide en ligne - Suivi par visioconférence Assistance technique : Par chat (instantané) - Par email (sous 24h) - Pendant et entre les séquences

Module 13

  • Présentiel
  • 7h
  • Travaux à rendre
  • 0h

[CERTIFICATION CDA] Passage de titre

Supervision pédagogique : Assistance technique Assistance technique : Par chat (instantané) - Par email (sous 24h)

Toutes nos formations sont mises en œuvre dans le respect du label Qualiopi

Ganapati formations est certifié Qualiopi

La certification qualité a été délivrée au titre des catégories suivantes :

  • Action de formation
  • Action permettant de faire valider les acquis de l'expérience
  • Action de formation par apprentissage

Réserver la formation