Programme du cours
Introduction
-
Le Web : du monde à l’entreprise
-
Le SI : du mainframe au Web, via le client / serveur
-
Les composants du Web : protocoles, serveur, navigateur
-
Web, intranet, extranet et internet
Les technologies du Web
-
Une définition du Web
-
Le protocole HTTP
-
Les serveurs HTTP
-
Les navigateurs Web
-
Le Web 2.0 : entre marketing et technologie
-
Le Web pour les applications métier
Les technologies serveur
-
Serveur Web et serveur d’applications
-
Les langages leaders : Java, .NET, PHP
-
Les langages outsiders : Python, Ruby,…
-
Les langages émergents : F#, Scala, JS
Plateforme PHP
-
L’évolution du langage
-
Les architectures LAMP / WAMP
-
Les frameworks Symphony, CakePHP, Zend Framework
Microsoft .Net
-
Le mode de fonctionnement et l’implémentation
-
Le framework .NET et le Common Language Runtime
-
Une plateforme multi-architectures et multi-langages
-
L’environnement de développement Visual Studio
-
ASP.Net et ASP.Net MVC
Plateforme Java
-
Java SE : JRE et JDK
-
Java EE : JSF, EJB, CDI, JPA
-
Les outils de développement : Netbeans, IntelliJ IDEA, Eclipse et ses dérivés
-
Les serveurs d’applications : IBM Websphere, Oracle Weblogic, RedHat JBoss/WildFly, Apache Tomcat,…
-
Les frameworks Java : standards contre innovation
Autres plateformes
-
Python, Zope et Django
-
Ruby, Rails et Sinatra
-
JavaScript et NodeJS
Les technologies côté client
Coté navigateur
-
Le rôle du navigateur Web
-
Les langages HTML, XHTML et CSS
-
Les extensions
Interfaces riches
-
La première génération : ActiveX, applets Java, Flash, XUL,…
-
La génération RIA : Flex, Silverlight, JavaFX
-
Javascript et les librairies graphiques associées (jQuery, script.aculo.us, ExtJS,…)
-
Les techniques du Web 2.0 : AJAX
-
Les frameworks AJAX
-
Navigation traditionnelle contre Single Page Application
-
Les prochaines évolutions de JavaScript : ECMAscript 6, 7,…
-
Les langages alternatifs : CoffeeScript, Google Dart, Microsoft TypeScript, Google AtScript,…
Coté mobile
-
La montée en puissance de la mobilité
-
Les applications natives
-
Les applications Web : Responsive Design et accès aux APIs natives
-
Les applications hybrides
L’hébergement d’applications Web
Architecture de déploiement
-
Les serveurs d’applications : PHP, .NET, Java
-
L’intégration d’applications
-
La montée en charge
-
La tolérance aux pannes
Les offres de déploiement
-
Les hébergements mutualisés et dédiés
-
La virtualisation et les conteneurs
-
Les applications hébergées : solutions ASP et SaaS
-
L’évolution vers le Cloud : IaaS, PaaS, SaaS
-
Les cloud privé et le cloud hybride
L’intégration d’applications
Services Web
-
XML, le langage adapté à l’intégration
-
Web services : définition et protocoles (SOAP, WSDL, UDDI)
-
La pile des services WS-*
-
Une alternative avec les architectures REST
-
Un exemple de service REST
-
JSON pour remplacer XML
-
Les autres formats
Architecture SOA
-
L’urbanisation du système d’informations
-
Les bus applicatifs : ESB, EAI
-
L’intégration front-end : portails et mashup
-
La sémantique pour faciliter l’intégration : exemple de microformats
-
L’évolution vers les micro-services
Impact sur l’organisation du SI
Sécurité
-
Nouveaux risques et moyens disponibles
-
Techniques de chiffrement
-
Mise en place d’une PKI et de certificats
-
Protocoles SSL, HTTPS
Stockage des données
-
Les bases de données relationnelles
-
Le stockage des données décisionnelles
-
Le nouvelles formes de stockage NoSQL
Démarche de mise en œuvre
-
La méthodologie d’un projet Web
-
Les démarches itératives et incrémentales : UP, RUP
-
Les démarches agiles : XP, Scrum, Kanban,…
Synthèse