Contenu du cours. Informatique de l Internet. Plan du cours (1) Organisation du cours. Plan du cours (2) Plan du cours (3)

Documents pareils
INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Cours 1 : Qu est-ce que la programmation?

TP1. Outils Java Eléments de correction

Traitement de données

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Chapitre I Notions de base et outils de travail

Plan du cours. Historique du langage Nouveautés de Java 7

Mise en œuvre des serveurs d application

Initiation à JAVA et à la programmation objet.

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Évaluation et implémentation des langages

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Éléments de programmation et introduction à Java

Programmation Orientée Objet

Architectures web/bases de données

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

UE 8 Systèmes d information de gestion Le programme

Remote Method Invocation Les classes implémentant Serializable

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

ACTIVITÉ DE PROGRAMMATION

Cours 1 : La compilation

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Annexe : La Programmation Informatique

Cours 1: Java et les objets

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Intergiciel - concepts de base

Vulgarisation Java EE Java EE, c est quoi?

Généralités sur le Langage Java et éléments syntaxiques.

BES WEBDEVELOPER ACTIVITÉ RÔLE

Module BD et sites WEB

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Calcul Parallèle. Cours 5 - JAVA RMI

Programmation Internet Cours 4

Java Licence Professionnelle CISII,

Rebol, un langage «différent»

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

RMI le langage Java XII-1 JMF

La carte à puce. Jean-Philippe Babau

Développement des Systèmes d Information

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

CH.3 SYSTÈMES D'EXPLOITATION

Machines virtuelles Cours 1 : Introduction

Programmeur Java 1.4 et 5.0

Étude de l interopérabilité de deux langages de programmation basée sur la machine virtuelle de Java

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

TP1 : Initiation à Java et Eclipse

Remote Method Invocation (RMI)

as Architecture des Systèmes d Information

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

java : Langage et Environnement

Programmation Web. Madalina Croitoru IUT Montpellier

CQP Développeur Nouvelles Technologies (DNT)

Programmation Objet Java Correction

Idéalement, une mission alliant XML ou base de données SQL avec des technologies internet et/ou logiciels libres.

Formation Webmaster : Création de site Web Initiation + Approfondissement

Conservation des documents numériques

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Java - la plateforme

Services Réseaux - Couche Application. TODARO Cédric

Serveurs de noms Protocoles HTTP et FTP

Programmation Web. Introduction

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

CAHIER DES CHARGES D IMPLANTATION

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Introduction à Java. Philippe Genoud.

INITIATION AU LANGAGE JAVA

Remote Method Invocation en Java (RMI)

Cours Bases de données

18 TCP Les protocoles de domaines d applications

Cisco Certified Network Associate

Devenez un véritable développeur web en 3 mois!

Programmation C. Apprendre à développer des programmes simples dans le langage C

Formation : WEbMaster

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Le réseau Internet.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Architecture Orientée Service, JSON et API REST

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Programmes des classes préparatoires aux Grandes Ecoles

LEA.C5. Développement de sites Web transactionnels

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Programmer en JAVA. par Tama

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Hébergement de site web Damien Nouvel

Systèmes d'informations historique et mutations

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

SP1 : Intégration d'une vidéo dans une mardi 21/01/2014. page web, fonction du format vidéo et 3 mercredi 22/01/2014

Transcription:

Contenu du cours Informatique de l Internet Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Les compétences visées : Programmer en ré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, script, Organisation du cours Notions sur les systèmes et les réseaux TDs en, PHP, script Notions élémentaires de programmation par objets en Notions de pages web dynamiques avec PHP Modification d une page par elle même avec script Généralités Plan du cours (1) Infrastructures physique, protocoles bas niveaux 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 (, servlets, scripts ) 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 Visualisation de réseaux d information: problématique, applications, aspects génie logiciel, format d échange de données, 1

Bibliographie Nombreux sites contenant des tutoriaux sur, PHP, script Site de Sun Divers cours, exercices, trouvés sur Internet Le site du cours: www.univ-montp3.fr/miap/ens/mass/xlin401 TD/TP Evaluation Expérimentation sur machine des protocoles Programmation réseau javascript, php, Éventuellement: Perl, XML, XSL Projet personnel: réalisation d un joueur automatique au go-moku (morpion) Tournoi à travers le réseau Programmation Architecture «Client-Serveur» Vous naviguez sur le web: vous êtes le client et vous passez d un serveur à un autre Programmation réseau Programmer sur le client Programmer sur le serveur Architecture client-serveur Répartition de la charge de travail entre un serveur et un poste distant (le client). Par exemple: Lancement d une application stockée sur un disque distant (l application tourne sur le poste client) Accès à vos comptes et fichiers (l application «entrée», ou «login») Architecture client-serveur: exemple Lancement d une application stockée sur 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) 2

Informatique et programmation Applets ou servlets: langage Langage de programmation Compilé () Interprété (PHP ou script) L informatique (1) 10% des investissements des sociétés (hors bâtiments) Croissance très rapide du nombre de cadres et techniciens informaticiens [1982-1991] Science encore jeune (30 ans) Gigantesque cathédrale de constructions matérielles et intellectuelles Cori, Levy L informatique (2) Il existe une science de l informatique Plusieurs théories imbriquées logique et calculabilité, algorithmique et analyse d'algorithmes, conception et sémantique des langages de programmation, bases de données, principes des systèmes d'exploitation, architectures des ordinateurs et évaluation de leurs performances, réseaux et protocoles, 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 et logiques temporelles, traitement d'images et vision, synthèse d'image, robotique,... L informatique (3) La jeunesse de l'informatique permet à certains de nier son aspect scientifique Mythe du hacker («fous de la programmation») hacker [...] n. 2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming. L informatique (4) La jeunesse de l'informatique permet à certains de nier son aspect scientifique Mythes du hacker («fous de la programmation») Programmeur préférant ignorer toute considération théorique qui puisse l aider dans ses constructions souvent très habiles L informatique (5) Une autre caractéristique de l'informatique est le côté instable des programmes Les phénomènes continus sont rares en informatique Une panne n'est en général pas le résultat d'une dégradation perceptible. Elle arrive simplement brutalement. 3

L informatique (6) Une autre caractéristique de l'informatique est le côté instable des programmes 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 Initiation à la programmation objet Initiation à la programmation impérative Initiation à l approche objet avec Rudiments d algorithmique Conception et analyse des algorithmes Implémentations des structures de données Plan (1) Plan (2) Architecture machine Types de base, affectation Instructions conditionnelles Tris simples (bulles, par insertion) Tris récursifs (Quicksort, fusion) Recherche dans des tables Objets Champs et Méthodes Références et valeurs, test d égalité Méthodes: valeur de retour visibilité classe vs instance La jdk (AWT, java.util, ) Boucles Références (1) Références (2) Une seule http://ead.univ-montp3.fr:8900 http://www.univ-montp3.fr/miap/ens 4

Références (3) Sites web Tutorials Kjell, CCSU (USA) Brandeis University (USA) Campione and Walrath, Addison Wesley 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, Dunod, 1999. Eckel B. Thinking in, Mind View Inc. Bob Sedgewick, Algorithms, 2nd edition, Addison-Wesley, 1988. En français: Algorithmes en langage C, trad. par Jean-Michel Moreau, InterEditions, 1991. (1) (2) Toutes les opérations effectuées en machine sont exécutées par le processeur Aucune opération n est faite en mémoire principale Le processeur opère sur des données préalablement stockée en mémoire (3) (4) La mémoire est une composante constituée de circuits spécialisés dans la localisation de mots mémoire à partir d une adresse Une adresse = un nombre = un endroit où se trouve une donnée Processeur MIPS 32 4kP 5

(5) (6) Le processeur sait faire un nombre fini d opérations Tout programme doit être traduit en une suite d opérations qu il sait exécuter Ces opérations sont souvent appelées instructions machines (7) (8) 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 (8) Un processeur est composé de plusieurs modules spé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 des instructions machine dont il dispose Compilation (1) Les langages de programmation de haut niveau permettent de s abstraire du matériel class Hello { public static void main ( String[] args ) { System.out.println("Hello World!"); } } 6

Compilation (2) La compilation consiste à traduire un langage de haut niveau en langage machine System.out.println("Hello World!"); 00011011011010010100 000110110101 11011010010010010100 001110110110 00110011011010010100 000110110111 Compilation (3) Le résultat d une compilation dépend de la plate-forme (type d ordinateur) sur lequel elle est effectuée Un programme compilé sur Mac ne tourne pas sur un PC, un programme compilé sur PC ne tourne pas sous Linux, etc. (1) est un langage portable Le même programme, compilé une seule fois, peut-être exécuté sur n importe quelle plate-forme (2) La compilation produit le même fichier de bytecodes, quel que soit la plateforme Salut.java javac Salut.class Hello.java javac Hello.class Compilation Compilation Bytecodes Compilation Compilation Bytecodes (3) Le même programme, compilé une seule fois, peut-être exécuté sur n importe quelle plate-forme Heuh? La Machine Virtuelle (JVM) Les bytecodes sont interprétées différemment selon la plate-forme sur laquelle ils sont exécutés Hello.class Interpréteur Le processeur Bytecodes Machine Virtuelle 7

Avantages / Inconvénients Algorithmique (1) Portabilité Génération automatique de la documentation des programmes Rapide dissémination via Internet Très grande compatibilité http Performances amoindries par l interpréteur Gestion de la mémoire via le «garbage collector» Un programme présente deux aspects un contenu et une forme un sens et une grammaire Pour l'ordinateur, il suffit que le programme soit correct au niveau de la forme (la syntaxe) Darmont Algorithmique (2) L ordinateur effectuera toujours les manipulations commandées par un programme syntaxiquement correct La première étape de la compilation consiste à vérifier que le programme écrit est syntaxiquement correct Si l'on fait une erreur de syntaxe, le compilateur affiche un message d'erreur Algorithmique (3) La cohérence du programme (du contenu) n'est pas examinée ou évaluée par le compilateur L'analyse du problème à traiter, la preuve de la cohérence et de la pertinence de sa solution sont préalable à l écriture du programme On doit Algorithmique (4) fixer l'objectif du programme établir la liste des données à manipuler et des opérations à exécuter, et les ordonner. La description de la suite des opérations élémentaires ordonnées capables de résoudre le problème posé constitue un algorithme Premier programme Algorithme: Imprimer(«bonjour tout le monde») Programme: public class BonjourApplet extends Applet { public void init() { System.out.println("Bonjour tout le monde"); } } 8