Objectifs de formation
A l'issue de cette formation, vous serez capable de :
- Décrire précisément la conception de sites Web actuels, avec les technologies qui les sous-tendent
- Fournir une méthode générale de conception et de développement réutilisable dans de nombreux contextes applicatifs (site institutionnel, commercial, lié à des SGBD, communication) pour améliorer la productivité de tout projet Web
- Déterminer les impacts des techniques du Cloud et de la mobilité dans la conception des sites actuels
- Identifier les impacts des technologies IA dans la conception des sites Web actuels
- Distinguer l'importance des services Web dans les architectures actuelles
- Identifier dans quels cas une architecture à base de microservices peut être intéressante et déterminer les étapes de sa conception
- Décrire l'intérêt des conteneurs et de Docker en particulier, et de la conception par microservice
- Mettre en oeuvre, déployer et administrer des applications dans des conteneurs
- Distinguer les étapes d'une application Web depuis l'analyse jusqu'à la mise en oeuvre
- Définir les principales technologies, architectures et langages participant au monde Internet / Intranet
- Décrire les techniques d'adaptation des sites Web aux terminaux tels que les mobiles, tablettes
- Identifier les différents métiers participant à la réussite d'une application Web
- Utiliser des outils et langages de développement de site Web, tant serveur que client.
Prérequis
Connaître les concepts de développement logiciel.
Public concerné
Maîtres d'ouvrages et maîtres d'oeuvres de projets Web, responsables de projets Web, concepteurs, développeurs d'applications, Webmasters, administrateurs réseaux.
Programme
Jour 1
Introduction, définitions et concepts
Internet / Intranet / Extranet
- Internet : le réseau des réseaux
- Les différents acteurs
- Services de l'Internet
- Services de l'Intranet
- Services de l'Extranet
- Internet / Intranet / Extranet : synthèse
Infrastructure e-business
- Client léger : différentes architectures
- Impact des terminaux mobiles (smartphones et tablettes) dans l'architecture Web
- Exploitation des services du Cloud dans une application Internet
- Pourquoi les services Web ont pris une telle importance aujourd'hui
- Des services Web aux microservices
- Des microservices aux conteneurs
- Changement de typologie des sites avec l'apport de la mobilité
- Utilisation des services du Cloud dans les sites modernes
Standards et protocoles Web
- Les différentes briques d'un dialogue client / serveur
- Internet
- Les protocoles
- TCP/IP
- IP
- DNS
- HTTP
- FTP
- WS
- L'URI comme architecture : REST
- Protocoles des Web Services : SOAP et REST
- Le protocole RSS
Composants d'une application Web
- Navigateur ou Browser : les fonctions
- Particularités de la navigation depuis les mobiles
- Serveur Web : les fonctions et produits
- Serveur applicatif : les fonctions et produits
- Base de données : les fonctions et produits
- Les CMS : fonctionnalités
- Les services du Web en mode SAAS
- Le Cloud
- Intégration des services du Cloud dans une application Web, mobile ou non
Méthodologie - Introduction et analyse
Démarche UML et Design Pattern
- Présentation du langage UML
- Les diagrammes dynamiques et statiques d'UML
- Proposition d'une démarche d'analyse avec les diagrammes UML
- Exemple d'utilisation : Design Pattern MVC
- Architecture n-tiers
- Découpage modulaire
- Répartition des traitements entre les trois niveaux
- Le tier données, le tier métier, le tier interface graphique
Exemple de travaux pratiques (à titre indicatif)
- Atelier UML avec identification des classes principales à partir d'un cas d'usage
Méthodologie - Conception graphique
Outils d'une application Web
- Quel type de langage pour quelle application ?
- Open Source or not Open Source ?
- Outils de développement et technologies
Le langage HTML 5
- Caractéristiques du langage HTML 5
- Les balises
- Structure d'une page HTML
- Présentation des balises
Le langage CSS 3
- Principes généraux des CSS : les sélecteurs
- Les différentes propriétés
- Application des styles au balisage HTML 5
- Création de "médias queries" en CSS 3 pour la création d'un site Responsive
Le langage JavaScript
- Caractéristiques du langage
- Utilisation des scripts
- Les objets JavaScript
- Manipulation des objets HTML 5 et CSS 3 en JavaScript
Exemple de travaux pratiques (à titre indicatif)
- Démonstration d'une application utilisant HTML 5, CSS 3 et JavaScript, avec un IDE type Visual Studio Code
Les frameworks clients
- Le composant s'impose
- L'offre actuelle
- Un exemple de framework : Vue.js
Exemple de travaux pratiques (à titre indicatif)
- Démonstration de la création d'une application Vue.js et test
Jour 2
Le langage Java et l'architecture Jakarta JEE
- Présentation de Java
- Java Dévelopment Kit (JDK), les diverses versions
- Serveur JEE
- Architecture
- Intégration dans une application Web
- Fonctions du serveur JEE
- Modèle MVC 2
- Le modèle : JavaBean
- La vue : page JSP
- Le contrôleur : la servlet
- Les composants logiciels métier
Les frameworks dans JEE
- Spring : définition, comparaison avec CDI
- Les frameworks de Web Services
- Hibernate et JPA
Exemple de travaux pratique (à titre indicatif)
- Démonstration de Spring et JPA sous un IDE type Eclipse
DOT NET (.NET)
- Le framework .NET et .NET Core
- Stratégie d'intégration avec d'autres architectures
- .NET MVC et Web forms
Exemple de travaux pratique (à titre indicatif)
- Démonstration de la création d'une application avec Visual Studio .NET à base de services REST
Le langage PHP
- Fonctionnement et syntaxe
- Gestion des formulaires
- Accès aux bases de données
- Les outils de PHP
- Tour des frameworks PHP
Le langage Python
- Bases du langage Python
- Quelle utilité pour Python ?
- Connaître et mettre en oeuvre les différents modules Python
La mobilité
- Impact de la mobilité dans le développement des sites Web
- Les différents types d'applications mobiles
- Les applications
- Natives
- Web mobiles
- Hybrides
- L'offre disponible pour les applications natives et hybrides
Exemple de travaux pratique (à titre indicatif)
- Démonstration de la conception d'une application mobile native pour Android
Jour 3
Le Cloud
- Impact du Cloud dans le développement des applications Web
- Exploiter les services du Cloud depuis une application Web mobile ou non
- Développer une application Web en mode Cloud
- Les différentes offres du marché
Impact de l'Intelligence Artificielle (IA) dans le choix des services et architectures
- Définir le cas d'utilisation de l'IA
- Types d'architecture IA et choix
- Concevoir la solution à base d'IA
- Déployer et surveiller la solution IA
- Quels apports de l'IA pour l'architecture
- Aide dans la conception des modèles de conception d'architecture
- Intégration des services d'IA dans les applications, les Chatbots
- Génération et reconnaissance d'images
- Reconnaissance des modèles d'entreprise
- Traductions
- Traitement du langage naturel
- Analyse des données
- Gérer la complexité et optimiser la prise de décision
- L'IA et l'aide à la conception de code
XML, JSON, Ajax et Web Services
- XML, JSON : présentation
- Présentation d'Ajax, le modèle asynchrone
- Rôle de JSON et Ajax dans le cas Web Services
- Principes et utilité des Web Services
- Types de Web Services : SOAP et REST
- Avantages et inconvénients
- Fonctionnement d'un Web Service
Exemples de travaux pratique (à titre indicatif)
- Démonstration de la conception d'un Web Service et de son appel
Microservices
- Microservices et Web Services
- Microservices et SOA (Service Oriented Architecture)
- Définition d'un microservice
- Architecture des microservices
- Microservices et monolithe
- Caractéristiques des microservices
- Les problèmes centraux :
- Les données et la complexité d'une architecture répartie
- Tolérance aux pannes
- Les outils de déploiement
- Avantages et inconvénients
Exemple de travaux pratiques (à titre indicatif)
- Atelier de conception de microservices
Conteneurisation avec Docker
- Utilité de la conteneurisation
- Rôle de la conteneurisation dans une démarche DevOps
- Fonctionnement d'un conteneur Docker
- Fonctionnement d'une image et Dockerfile
- Mettre en place des environnements complexes
- Déployer des services et Docker Compose
- Les commandes du Docker CLI
- Volumes et réseaux Docker
Exemple de travaux pratiques (à titre indicatif)
- Démonstration de Docker
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.