informatique de l’internetjq/cours/xlin401/cours/cours07/presxlin401.pdf · programmation réseau...

Post on 25-Aug-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Informatique de l’Internet

Joël QuinquetonDépt MIAp, UFR IVUPV - Université Montpellier III

Contenu du cours

• Les compétences visées : Programmer enréseau

• Programme :– Notion de Système informatique– Réseaux informatiques– L’internet : définition, réalisation de site, utilisation– Langages de l’internet : SGML, HTML, XML ,

PHP, Javascript, Java

Organisation du cours

• Notions sur les systèmes et les réseaux• TDs en Java, PHP, Javascript

– Modification d’une page par elle mêmeavec Javascript

– Notions de pages web dynamiques avecPHP

– Notions élémentaires de programmationpar objets en Java (L3?)

Plan du cours (1)• Généralités

– Infrastructures physique, protocoles basniveaux

– Organisation physique– TCP/IP– Internet

Plan du cours (2)• Couches de niveaux supérieurs

(logicielles)– Protocoles haut niveau: DNS, Mail, ftp,

HTTP, HTML– Programmation réseau (scripts, applets,

servlets, …)

Plan du cours (3)• Concepts réseaux et conceptions des

applications– Agents logiciels, objets distribués– Echange de données: XML, DTD,

schémas, XSL– …

Bibliographie• Nombreux sites contenant des tutoriaux sur

PHP, Javascript, Java• Divers cours, exercices, trouvés sur Internet• http://www.commentcamarche.net/• Le site du cours:http://www.univ-montp3.fr/miap/ens/MASS/XLIN401

Evaluation• TD/TP

– Expérimentation sur machine desprotocoles

– Programmation réseau• Javascript, php,• Éventuellement: Java, Perl, XML, XSL

• Projet personnel: réalisation d’unjoueur automatique au go-moku(morpion) ou Master Mind– Tournoi à travers le réseau

Programmation

• Architecture « Client-Serveur »– Vous naviguez sur le web: vous êtes le

client et vous passez d’un serveur à unautre

• Programmation réseau– Programmer sur (pour) le client– Programmer sur (pour) le serveur

Architecture client-serveur

• Répartition de la charge de travail entreun serveur et un poste distant (le client).Par exemple:– Lancement d’une application stockée sur

un disque distant (l’application tourne sur leposte client)

– Accès à vos comptes et fichiers(l’application « entrée », ou « login »)

Architectureclient-serveur: exemple

• Lancement d’une application stockéesur un disque distant– L’application tourne sur le poste client– L’application demande périodiquement un

accès à vos fichiers

Programmation réseau• Exécution client

– Le navigateur prend en charge l’exécution du code(applets)

– Le code a un accès limité aux ressources côté client

• Exécution serveur– Envoi d’un requête au serveur commandant l’exécution

d’un programme– Scripts embarqués– Application (servlets)

Informatique etprogrammation

• Applets ou servlets: langage Java• Langage de programmation

– Compilé (Java)– Interprété (PHP ou Javascript)

L’informatique (1)• Il existe une science de l’informatique• Plusieurs théories imbriquées

– logique et calculabilité, algorithmique et analysed'algorithmes, conception et sémantique deslangages de programmation, bases de données,principes des systèmes d'exploitation, architectures desordinateurs et évaluation de leurs performances, réseaux etprotocoles, langages formels et compilation, codes et cryptographie,apprentissage et zero-knowledge algorithms, calcul formel, démonstration automatique,conception et vérification de circuits, vérification et validation de programmes, temps réel etlogiques temporelles, traitement d'images et vision, synthèse d'image, robotique, ...

L’informatique (2)

• La jeunesse de l'informatique permet àcertains de nier son aspect scientifique

• Mythes du hacker («fous de laprogrammation»)– Programmeur préférant ignorer toute

considération théorique qui puisse l’aiderdans ses constructions souvent trèshabiles

L’informatique (3)

• Une autre caractéristique del'informatique est le côté instable desprogrammes

• Les phénomènes continus sont rares eninformatique– Une panne n'est en général pas le résultat

d'une dégradation perceptible. Elle arrivesimplement brutalement.

L’informatique (4)

• Une autre caractéristique del'informatique est le côté instable desprogrammes– C'est ce côté exact de l'informatique qui est

très attrayant– En informatique, il y a peu de solutions

approchées– En informatique, il y a une certaine notion

de l'exactitude

Objectifs

• Rudiments d’algorithmique– Conception et analyse des algorithmes– Implémentations des structures de

données• Initiation à la programmation

– Initiation à la programmation impérative– Initiation à l’approche distribuée

• Architecture machine• Types de base,

affectation• Instructions

conditionnelles• Boucles• Types de variables• Fonctions• Références et valeurs,

test d’égalité

Plan (1)

• Tris simples (bulles,par insertion)

• Tris récursifs(Quicksort, fusion)

• Recherche dans destables

Références (1)

• Une seule

http://mon.univ-montp2.fr

http://www.univ-montp3.fr/miap/ens

Références (2)

Références (3)• Sites web

– http://www.editeurjavascript.com/cours/– Tutorials d’algorithmique

• Cours de Robert Cori et Jean-Jacques Lévy– Serveur Spédago de Spécif

• Cours / TD sur l'algorithmique• Cours / TD sur la programmation

Références (4)

• Livres– Brondeau J. Introduction à la

programmation objet en Java, Dunod,1999.

– Eckel B. Thinking in Java, Mind View Inc.– Bob Sedgewick, Algorithms, 2nd edition,

Addison-Wesley, 1988. En français:Algorithmes en langage C, trad. par Jean-MichelMoreau, InterEditions, 1991.

Architecture d’un ordinateur(1)

Architecture d’un ordinateur(2)

• Toutes les opérations effectuées enmachine sont exécutées par leprocesseur

• Aucune opération n’est faite enmémoire principale

• Le processeur opère sur des donnéespréalablement stockée en mémoire

Architecture d’un ordinateur(3)

Processeur MIPS 32 4kP

Architecture d’un ordinateur(4)

• La mémoire est une composanteconstituée de circuits spécialisés dansla localisation de mots mémoire à partird’une adresse

• Une adresse = un nombre = un endroitoù se trouve une donnée

Architecture d’un ordinateur(5)

Architecture d’un ordinateur(6)

• Le processeur sait faire un nombre finid’opérations

• Tout programme doit être traduit en unesuite d’opérations qu’il sait exécuter

• Ces opérations sont souvent appeléesinstructions machines

Architecture d’un ordinateur(7)

• Pour additionner deux nombres m et n.– Amener l’adresse de m dans un registre– Amener dans un second registre le contenu de la mémoire

vive à cette adresse– Idem pour le second nombre n– Exécuter l’addition (module arithmétique)– Amener dans un registre l’adresse où stocker le résultat– Le stocker dans la mémoire vive

Architecture d’un ordinateur(8)

Architecture d’un ordinateur(8)

• Un processeur est composé de plusieurs modulesspécialisés– Module arithmétique– Contrôle de flux– Calcul d’adresse– Traitement des interactions avec les périphériques

• Deux processeurs diffèrent par l’ensemble desinstructions machine dont il dispose

Compilation (1)

• Les langages de programmation dehaut niveau permettent de s’abstrairedu matériel

class Hello { public static void main ( String[] args ) { System.out.println("Hello World!"); }}

top related