Technologies pour les applications en réseau

Réf. : RSX102

Sessions de formation

(Fuseau horaire : Europe/Paris)

Centre Cnam Grand-Est - Formation 2nd Semestre hybride

Aucune période d'inscription n'a été indiquée pour cette session

Centre Cnam Liban - Formation 2nd Semestre en présentiel

Aucune période d'inscription n'a été indiquée pour cette session

Centre Cnam Madagascar - Formation 2nd Semestre hybride

La période de cours est planifiée du 03/03/2025 au 30/05/2025

L'inscription est ouverte jusqu'au 30/04/2025 16:00

Centre Cnam Paris - Formation 2nd Semestre ouverte et à distance

La période de cours est planifiée du 03/02/2025 au 07/06/2025

L'inscription est ouverte jusqu'au 14/03/2025 17:00

Présentation

Public, conditions d'accès et prérequis

Ce cours s'appuie sur des connaissances en systèmes informatiques et en réseaux couches basses. Pour s'inscrire les élèves doivent posséder un niveau de connaissances correspondant à la réussite aux unités de valeur des deux premières années de licence L1 et L2 ou RNCP niveau III. En particulier UTC505 est obligatoire sinon un équivalent qui traite du même programme. UTC501, UTC502, UTC503 sont vivement recommandées. 

Objectifs

Ce cours a pour objet d’introduire les concepts de base en ce qui concerne les applications et les services opérant dans les réseaux tels que l’Internet. Nous nous intéresserons plus particulièrement aux couches hautes (allant le la couche transport à la couche application). La démarche pédagogique consiste à partir du modèle Client/Serveur pour aller vers les applications distribuées et le Cloud. Cette UE fait le lien entre l'application et le réseaux, et donne des clefs pour toute personne qui souhaite s'engager dans une démarche devops ou netdevops, et, pour toute personne qui administre et en particulier déploie des applications en réseaux.

Contenu

Le cours s'intéresse aux applications Client-Serveur et Systèmes distribués dans un contexte Internet et Cloud essentiellement. Ce cours développe les concepts vus en UTC505 et complète le cours RSX101. Toutefois il n’est pas indispensable d’avoir suivi RSX101 pour suivre RSX102. La liste des items ci-dessous ne préfigure pas de l'ordre dans lequel le cours se déroule.

Il a pour objet d’introduire les concepts de base en ce qui concerne les sujets suivants :

  • Protocoles de transport de l'information (communication couches hautes) :
    • Approfondissement des concepts liés à la couche transport : TCP, ses variantes (DCCP, STCP,  ou ses extensions dont MPTCP, UDP et ses variantes ou compléments … 
    • HTTP, HTTPS, QUIC qu'on peut présenter sous le nom HTTP 3. 
  • Formats d'échange de Données :
    • Pour le web : HTML, XML, JSON 
    • Pour les télécommunications : ASN1/BER
  • Paradigmes de programmation Client-Serveur :
    • Sockets et Web Sockets
    • Remote Procedure Call : d'ONC-RPC à gRPC
    • SOAP et les Web Services, REST
    • Modèle Publish/Subscribe des Files de messages : de l'IoT aux entrepôts de données : MQTT, RabitMQ, ZeroMQ, Kafka
  • Introduction aux problématiques de partage de données et de tolérance aux fautes pour le Cloud :
    • Exécutions en mode messages : Algorithmique distribuée, Ordre, Etat global, Coupes Cohérentes 
    • Partage de données répliquées et passage à l'échelle des architectures distribuées : cohérences uniformes, cohérences hybrides, cohérences faibles (Eventual Consistency, conjecture de Brewer et théorème CAP)
    • Algorithmique distribuée en contexte tolérant aux fautes : types de pannes, consensus, auto-stabilisation
  • Introduction aux architectures d'applications sur le Cloud
    • Exécution : Architectures orientées Micro-services
    • Stockage : P2P, data pipeline (injection pour les lacs de données)
    • Exemple du Cloud Microsoft Azure (le fournisseur de Cloud peut varier)
  • Quelques grandes applications Internet complèteront le cours mais la liste définitive évolue chaque année, donc cette liste est indicative :
    • SMTP ou LDAP
    • Un exemple de routage applicatif : les CDN
    • Architectures Web 3 tiers (Front-End, Back-End, Data Base), Fermes de Serveurs Web
    • ETL/DataLake
    • Introduction à la Blockchain (plutôt comme un use case, et donc un séminaire qui accompagne le cours)

Modalités d'évaluation

  • Examen final

Un examen final de 3h valide cette UE.