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