RSX102

Technologies pour les applications en réseau


6 crédits Eric GRESSIER-SOUDAN EPN05 - Informatique Unité d'enseignement de type mixte

Publié Du 01-09-2019 au 31-08-9999

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 pédagogiques

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.

Compétences

Les connaissances ciblées concernent l'architecture des applications au-dessus d'Internet, pour cela les auditeurs doivent maîtriser nombre de concepts : transport d'information, gestion de l'hétérogénéité des données et des architectures, modèles de programmation client/serveur, communication par messages, communication par variables partagées, cohérences des données, passage à l'échelle, architecture du Cloud... et les repères clefs de certaines applications connues comme la blockchain, les CDN... 

A l'issue de cet enseignement, les auditeurs auront comme compétences des facultés d'analyse des aspects réseaux couches hautes des applications et systèmes d'informations mis en oeuvre sur Internet et pourront être critiques des solutions élaborées par un fournisseur, une maîtrise d'ouvrage ou une maîtrise d'oeuvre. S'ils viennent à faire du développement d'application, ils auront des compétences qui contribuent à un profil qu'on qualifie aujourd'hui parfois de "netdevops".

L'unité RSX102 apparaît dans 12 cursus.

DIE3000A

Diplôme d'établissement Responsable opérationnel en télécommunications et réseaux

CYC9101A

Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)

CYC9102A

Diplôme d'ingénieur Spécialité informatique parcours Intelligence Artificielle et Optimisation

CYC9104A

Diplôme d'ingénieur Spécialité informatique parcours Informatique, réseaux, systèmes et multimédia

CYC9105A

Diplôme d'ingénieur Spécialité informatique parcours Informatique systèmes d'information

CYC9106A

Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

LG02501A

Licence Sciences technologies santé mention informatique parcours Informatique générale

CC0400A

Certificat de compétence Introduction à la cyberstructure de l'informatique en nuage

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

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 de validation

  • Examen final

Description des modalités de validation

Un examen final de 3h valide cette UE.

Thésaurus du Cnam :

  • Applications réparties
  • Architecture client-Serveur
  • Architecture de base web

Thésaurus Formacode :

  • 24284 - architecture client serveur

Secrétariat

Libellé
EPN05 - Informatique
Nom du contact
Agnès Lapierre
Adresses email
agnes.lapierre@lecnam.net
Numéros de téléphone
01 40 27 22 40
Adresse postale
2 rue Conté 33.1.4A
Paris 75003