SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Contenu du cours
                                                • Les compétences visées : Programmer
                                                  en réseau
   Informatique de l’Internet
                                                • Programme :
                                                  – Notion de Système informatique
   Joël Quinqueton                                – Réseaux informatiques
   Dépt MIAp, UFR IV                              – L’internet : définition, réalisation de site,
                                                    utilisation
   UPV − Université Montpellier III               – Langages de l’internet : SGML, HTML,
                                                    XML , PHP, Javascript, Java




     Organisation du cours                                Plan du cours (1)
                                                 • Généralités
• Notions sur les systèmes et les réseaux
                                                    – Infrastructures physique, protocoles bas
• TDs en Java, PHP, Javascript                        niveaux
  – Notions élémentaires de programmation           – Organisation physique
    par objets en Java
                                                    – TCP/IP
  – Notions de pages web dynamiques avec
                                                    – Internet
    PHP
  – Modification d’une page par elle même
    avec Javascript




         Plan du cours (2)                                Plan du cours (3)
  • Couches de niveaux supérieurs                • Concepts réseaux et conceptions des
    (logicielles)                                  applications
    – Protocoles haut niveau: DNS, Mail, ftp,       – Agents logiciels, objets distribués
      HTTP, HTML                                    – Echange de données: XML, DTD,
                                                      schémas, XSL
    – Programmation réseau (Java, servlets,
      scripts …)                                    – Visualisation de réseaux d’information:
                                                      problématique, applications, aspects
                                                      génie logiciel, format d’échange de
                                                      données, …
                                                    –…




                                                                                                    1
Bibliographie                                         Evaluation
                                                 • TD/TP
• Nombreux sites contenant des tutoriaux            – Expérimentation sur machine des protocoles
  sur Java, PHP, Javascript                         – Programmation réseau
• Site de Sun                                           • Java
                                                        • javascript, php,
• Divers cours, exercices, trouvés sur                  • Éventuellement: Perl, XML, XSL
  Internet                                       • Projet personnel: réalisation d’un joueur
• Le site du cours:                                automatique au go-moku (morpion)
www.univ-montp3.fr/miap/ens/MASS/XLIN401            – Tournoi à travers le réseau




           Programmation                          Architecture client-serveur
• Architecture « Client-Serveur »              • Répartition de la charge de travail entre
  – Vous naviguez sur le web: vous êtes le       un serveur et un poste distant (le client).
    client et vous passez d’un serveur à un      Par exemple:
    autre                                        – Lancement d’une application stockée sur
                                                   un disque distant (l’application tourne sur le
• Programmation réseau                             poste client)
  – Programmer sur le client                     – Accès à vos comptes et fichiers
  – Programmer sur le serveur                      (l’application « entrée », ou « login »)




            Architecture
                                                     Programmation réseau
     client-serveur: exemple
                                                 • Exécution client
• Lancement d’une application stockée               – Le navigateur prend en charge l’exécution du code
  sur un disque distant                               (applets)
                                                    – Le code a un accès limité aux ressources côté client
  – L’application tourne sur le poste client     • Exécution serveur
  – L’application demande périodiquement un         – Envoi d’un requête au serveur commandant l’exécution
    accès à vos fichiers                              d’un programme
                                                    – Scripts embarqués
                                                    – Application (servlets)




                                                                                                             2
Informatique et
                                                                                                               L’informatique (1)
                      programmation
 • Applets ou servlets: langage Java                                                                  • 10% des investissements des sociétés
 • Langage de programmation                                                                             (hors bâtiments)
    – Compilé (Java)
                                                                                                      • Croissance très rapide du nombre de
                                                                                                        cadres et techniciens informaticiens
    – Interprété (PHP ou Javascript)
                                                                                                        [1982-1991]
                                                                                                      • Science encore jeune (30 ans)
                                                                                                      • Gigantesque cathédrale de
                                                                                                        constructions matérielles et
                                                                                                        intellectuelles
                                                                                                                                                Cori, Levy




                  L’informatique (2)                                                                           L’informatique (3)
• Il existe une science de l’informatique
• Plusieurs théories imbriquées                                                                       • La jeunesse de l'informatique permet à
  – logique et calculabilité, algorithmique et analyse                                                  certains de nier son aspect scientifique
    d'algorithmes, conception et sémantique des                                                       • Mythe du hacker («fous de la
    langages de programmation, bases de données,
    principes des systèmes d'exploitation, architectures des                                            programmation»)
    ordinateurs et évaluation de leurs performances, réseaux et
    protocoles, langages formels et compilation, codes et cryptographie,                                – hacker [...] n. 2. One who programs
    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, ...
                                                                                                          enthusiastically (even obsessively) or who
                                                                                                          enjoys programming rather than just
                                                                                                          theorizing about programming.




                  L’informatique (4)                                                                           L’informatique (5)
 • La jeunesse de l'informatique permet à                                                             • Une autre caractéristique de
   certains de nier son aspect scientifique                                                             l'informatique est le côté instable des
 • Mythes du hacker («fous de la                                                                        programmes
   programmation»)                                                                                    • Les phénomènes continus sont rares en
    – Programmeur préférant ignorer toute
      considération théorique qui puisse l’aider
                                                                                                        informatique
      dans ses constructions souvent très                                                               – Une panne n'est en général pas le résultat
      habiles                                                                                             d'une dégradation perceptible. Elle arrive
                                                                                                          simplement brutalement.




                                                                                                                                                             3
L’informatique (6)                                                 Objectifs
• Une autre caractéristique de                       • Initiation à la programmation objet
  l'informatique est le côté instable des                – Initiation à la programmation impérative
  programmes                                             – Initiation à l’approche objet avec Java
  – C'est ce côté exact de l'informatique qui est
    très attrayant                                   • Rudiments d’algorithmique
  – En informatique, il y a peu de solutions             – Conception et analyse des algorithmes
    approchées                                           – Implémentations des structures de
  – En informatique, il y a une certaine notion            données
    de l'exactitude




                    Plan (1)                                                 Plan (2)
• Architecture           • Tris simples (bulles,    Objets                        • Méthodes:
                                                    Champs et Méthodes
  machine                  par insertion)           Références et valeurs, test     – valeur de retour
• Types de base,         • Tris récursifs           d’égalité                       – visibilité
  affectation              (Quicksort, fusion)                                      – classe vs instance
• Instructions           • Recherche dans des                                     • La jdk (AWT,
  conditionnelles          tables                                                   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)                                    Références (4)
• Sites web                                         • Livres
  –   Tutorials Java                                  – Brondeau J. Introduction à la
      • Kjell , CCSU (USA)
                                                        programmation objet en Java, Dunod,
      • Brandeis University (USA)
      • Campione and Walrath, Addison Wesley
                                                        1999.
  – Tutorials d’algorithmique                         – Eckel B. Thinking in Java, Mind View Inc.
      • Cours de Robert Cori et Jean-Jacques Lévy     – Bob Sedgewick, Algorithms, 2nd edition,
  – Serveur Spédago de Spécif                           Addison-Wesley, 1988. En français:
      • Cours / TD sur l'algorithmique                  Algorithmes en langage C, trad. par Jean-Michel
      • Cours / TD sur la programmation                 Moreau, InterEditions, 1991.




  Architecture d’un ordinateur                        Architecture d’un ordinateur
               (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




  Architecture d’un ordinateur                        Architecture d’un ordinateur
               (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
Architecture d’un ordinateur                                    Architecture d’un ordinateur
               (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




  Architecture d’un ordinateur                                    Architecture d’un ordinateur
               (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




  Architecture d’un ordinateur
                                                                           Compilation (1)
               (8)
• Un processeur est composé de plusieurs modules                • Les langages de programmation de
  spécialisés
   –   Module arithmétique
                                                                  haut niveau permettent de s’abstraire
   –   Contrôle de flux                                           du matériel
   –   Calcul d’adresse
                                                                class Hello {
   –   Traitement des interactions avec les périphériques
                                                                  public static void main ( String[] args ) {
• Deux processeurs diffèrent par l’ensemble des                     System.out.println("Hello World!");
  instructions machine dont il dispose                            }
                                                                }




                                                                                                                6
Compilation (2)                                     Compilation (3)
• La compilation consiste à traduire un             • Le résultat d’une compilation dépend de
  langage de haut niveau en langage                   la plate-forme (type d’ordinateur) sur
  machine                                             lequel elle est effectuée
   System.out.println("Hello World!");              • Un programme compilé sur Mac ne
                                                      tourne pas sur un PC, un programme
                                                      compilé sur PC ne tourne pas sous
    00011011011010010100 000110110101
                                                      Linux, etc.
    11011010010010010100 001110110110
    00110011011010010100 000110110111
    …




                 Java (1)                                            Java (2)
• Java est un langage portable                      • La compilation produit le même fichier
• Le même programme, compilé une                      de bytecodes, quel que soit la plate-
  seule fois, peut-être exécuté sur                   forme
  n’importe quelle plate-forme


  Salut.java          javac        Salut.class        Hello.java        javac          Hello.class


   Compilation     Compilation     Bytecodes Java      Compilation    Compilation      Bytecodes Java
      Java            Java                                Java           Java




                                                       La Machine Virtuelle Java
                 Java (3)
                                                                (JVM)
• Le même programme, compilé une                    • Les bytecodes sont interprétées
  seule fois, peut-être exécuté sur                   différemment selon la plate-forme sur
  n’importe quelle plate-forme                        laquelle ils sont exécutés
• Heuh ?
                                                                        Interpréteur
                                                     Hello.class                         Le processeur
                                                                            Java

                                                       Bytecodes
                                                          Java                Machine Virtuelle Java




                                                                                                         7
Java
                                                                  Algorithmique (1)
     Avantages / Inconvénients
•   Portabilité                 • Performances           • Un programme présente deux aspects
•   Génération automatique de
    la documentation des
                                  amoindries par           – un contenu et une forme
    programmes                    l’interpréteur
•   Rapide dissémination via
                                                           – un sens et une grammaire
                                • Gestion de la
    Internet
                                  mémoire via le         • Pour l'ordinateur, il suffit que le
•   Très grande compatibilité
    http                          «garbage collector»      programme soit correct au niveau de la
                                                           forme (la syntaxe)


                                                                                                  Darmont




               Algorithmique (2)                                  Algorithmique (3)
• L’ordinateur effectuera toujours les                   • La cohérence du programme (du
  manipulations commandées par un                          contenu) n'est pas examinée ou
  programme syntaxiquement correct                         évaluée par le compilateur
     – La première étape de la compilation               • L'analyse du problème à traiter, la
       consiste à vérifier que le programme écrit          preuve de la cohérence et de la
       est syntaxiquement correct
                                                           pertinence de sa solution sont préalable
     – Si l'on fait une erreur de syntaxe, le              à l’écriture du programme
       compilateur affiche un message d'erreur




               Algorithmique (4)                                Premier programme
• On doit                                               • Algorithme:
                                                          – Imprimer(« bonjour tout le monde »)
     – fixer l'objectif du programme
                                                        • Programme:
     – établir la liste des données à manipuler et
                                                          public class BonjourApplet extends Applet
       des opérations à exécuter, et les ordonner.          {
• La description de la suite des                            public void init() {
                                                             System.out.println("Bonjour tout le
  opérations élémentaires ordonnées                         monde");
  capables de résoudre le problème posé                     }
  constitue un algorithme                                 }




                                                                                                            8

Contenu connexe

En vedette

Instruccciones de desempeño y producto
Instruccciones de desempeño y productoInstruccciones de desempeño y producto
Instruccciones de desempeño y productosusilux
 
11 23 session 48
11 23 session 4811 23 session 48
11 23 session 48nblock
 
Curso introducción a la medición de nivel notas
Curso introducción a la medición de nivel notasCurso introducción a la medición de nivel notas
Curso introducción a la medición de nivel notasMauricio Molina Guerra
 
Rol del profesor universitario ante las ntic en la enseñanza presencial
Rol del profesor universitario ante las ntic en la enseñanza presencialRol del profesor universitario ante las ntic en la enseñanza presencial
Rol del profesor universitario ante las ntic en la enseñanza presencialmonica vera
 
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012Daniel Krebser
 
Tecnologìa trabajo de grupo-1
Tecnologìa trabajo de grupo-1Tecnologìa trabajo de grupo-1
Tecnologìa trabajo de grupo-1Kyria Alfaro
 
Fisica abril-2004-profundizacion
Fisica abril-2004-profundizacionFisica abril-2004-profundizacion
Fisica abril-2004-profundizacionwilliam
 
Presentacion inmunologia
Presentacion inmunologiaPresentacion inmunologia
Presentacion inmunologiaArhel
 
Présentation du Centre des Congres
Présentation du Centre des CongresPrésentation du Centre des Congres
Présentation du Centre des CongresOT Massif du Sancy
 
Matematicas septiembre 2003 profundizacion
Matematicas septiembre 2003 profundizacionMatematicas septiembre 2003 profundizacion
Matematicas septiembre 2003 profundizacionwilliam
 
Organizadores visuales
Organizadores visualesOrganizadores visuales
Organizadores visualesromesaweb
 

En vedette (20)

Instruccciones de desempeño y producto
Instruccciones de desempeño y productoInstruccciones de desempeño y producto
Instruccciones de desempeño y producto
 
Trabajo de sistemas
Trabajo de sistemasTrabajo de sistemas
Trabajo de sistemas
 
J'aime...
J'aime...J'aime...
J'aime...
 
11 23 session 48
11 23 session 4811 23 session 48
11 23 session 48
 
Balade au dessus de paris
Balade au dessus de parisBalade au dessus de paris
Balade au dessus de paris
 
Curso introducción a la medición de nivel notas
Curso introducción a la medición de nivel notasCurso introducción a la medición de nivel notas
Curso introducción a la medición de nivel notas
 
Rol del profesor universitario ante las ntic en la enseñanza presencial
Rol del profesor universitario ante las ntic en la enseñanza presencialRol del profesor universitario ante las ntic en la enseñanza presencial
Rol del profesor universitario ante las ntic en la enseñanza presencial
 
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
Social Media Lehrgang, SMI Köniz, Daniel Krebser, April 2012
 
Diaposon 1
Diaposon 1Diaposon 1
Diaposon 1
 
Codigo electoral
Codigo electoralCodigo electoral
Codigo electoral
 
Farinaceos
FarinaceosFarinaceos
Farinaceos
 
Ley de- extranjeria
Ley de- extranjeriaLey de- extranjeria
Ley de- extranjeria
 
Tecnologìa trabajo de grupo-1
Tecnologìa trabajo de grupo-1Tecnologìa trabajo de grupo-1
Tecnologìa trabajo de grupo-1
 
Fisica abril-2004-profundizacion
Fisica abril-2004-profundizacionFisica abril-2004-profundizacion
Fisica abril-2004-profundizacion
 
Presentacion inmunologia
Presentacion inmunologiaPresentacion inmunologia
Presentacion inmunologia
 
Présentation du Centre des Congres
Présentation du Centre des CongresPrésentation du Centre des Congres
Présentation du Centre des Congres
 
Ley de-competencia
Ley de-competenciaLey de-competencia
Ley de-competencia
 
Qué es el dinero
Qué es el dineroQué es el dinero
Qué es el dinero
 
Matematicas septiembre 2003 profundizacion
Matematicas septiembre 2003 profundizacionMatematicas septiembre 2003 profundizacion
Matematicas septiembre 2003 profundizacion
 
Organizadores visuales
Organizadores visualesOrganizadores visuales
Organizadores visuales
 

Similaire à Pres xlin401

0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdfOmbotimbe Salifou
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfGodefroyCheumaniTche1
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessingPierre-Marie Brunet
 
Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01May Saghira
 
E-gouvernance, systèmes d’information, approche réseau
E-gouvernance, systèmes d’information, approche réseauE-gouvernance, systèmes d’information, approche réseau
E-gouvernance, systèmes d’information, approche réseauMission laïque française
 
Inno & Diff
Inno & DiffInno & Diff
Inno & Diffinnodiff
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribuesLê Anh
 
Etude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pEtude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pkamar MEDDAH
 
Semantic Information Systems
Semantic Information SystemsSemantic Information Systems
Semantic Information SystemsSerge Garlatti
 
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvamine17157
 
Presentation mug-data mapper
Presentation mug-data mapperPresentation mug-data mapper
Presentation mug-data mapperFastConnect
 

Similaire à Pres xlin401 (20)

0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdfcours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
cours-ADMINISTRATION DUN RESEAU INFORMATIQUE.pdf
 
Programme 42
Programme 42Programme 42
Programme 42
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
Cours1 1
Cours1 1Cours1 1
Cours1 1
 
IoT Académie
IoT AcadémieIoT Académie
IoT Académie
 
Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01Cvnadirnew 110211085144-phpapp01
Cvnadirnew 110211085144-phpapp01
 
E-gouvernance, systèmes d’information, approche réseau
E-gouvernance, systèmes d’information, approche réseauE-gouvernance, systèmes d’information, approche réseau
E-gouvernance, systèmes d’information, approche réseau
 
Mlf numerique réseau liban
Mlf numerique    réseau libanMlf numerique    réseau liban
Mlf numerique réseau liban
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
Inno & Diff
Inno & DiffInno & Diff
Inno & Diff
 
Curriculum vitae
Curriculum vitaeCurriculum vitae
Curriculum vitae
 
Presentation des outils traitements distribues
Presentation des outils traitements distribuesPresentation des outils traitements distribues
Presentation des outils traitements distribues
 
Cv Alexis Delaporte
Cv Alexis DelaporteCv Alexis Delaporte
Cv Alexis Delaporte
 
Etude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2pEtude comparative entre les grilles, cloud et p2p
Etude comparative entre les grilles, cloud et p2p
 
Semantic Information Systems
Semantic Information SystemsSemantic Information Systems
Semantic Information Systems
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhvSOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
SOA-Partie 2.pdf hvjhvhjvkhvhjvhvhvjhvkhv
 
Presentation mug-data mapper
Presentation mug-data mapperPresentation mug-data mapper
Presentation mug-data mapper
 

Plus de Wael Ismail

Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1 Wael Ismail
 
Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Wael Ismail
 
devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012Wael Ismail
 
Ch5 base de données
Ch5   base de donnéesCh5   base de données
Ch5 base de donnéesWael Ismail
 
Ch3 eléments de présentation
Ch3   eléments de présentationCh3   eléments de présentation
Ch3 eléments de présentationWael Ismail
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texteWael Ismail
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximationWael Ismail
 
Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Wael Ismail
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++Wael Ismail
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)Wael Ismail
 

Plus de Wael Ismail (20)

Dc23 si
Dc23 siDc23 si
Dc23 si
 
Dc13 si
Dc13 siDc13 si
Dc13 si
 
Ds1
Ds1Ds1
Ds1
 
Dc23 si
Dc23 siDc23 si
Dc23 si
 
Dc2cc
Dc2ccDc2cc
Dc2cc
 
Dc2
Dc2Dc2
Dc2
 
Devoir de synthèse N°1
Devoir de synthèse N°1 Devoir de synthèse N°1
Devoir de synthèse N°1
 
Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012Devoir de contrôle N°1 Système et réseaux 2011-2012
Devoir de contrôle N°1 Système et réseaux 2011-2012
 
devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012devoir de contrôle N° 1 TIC 2011-2012
devoir de contrôle N° 1 TIC 2011-2012
 
Ch5 base de données
Ch5   base de donnéesCh5   base de données
Ch5 base de données
 
Ch4 internet
Ch4   internetCh4   internet
Ch4 internet
 
Ch3 eléments de présentation
Ch3   eléments de présentationCh3   eléments de présentation
Ch3 eléments de présentation
 
Ch2 tableur
Ch2  tableurCh2  tableur
Ch2 tableur
 
Ch1 traitement de texte
Ch1   traitement de texteCh1   traitement de texte
Ch1 traitement de texte
 
Les algorithmes d’approximation
Les algorithmes d’approximationLes algorithmes d’approximation
Les algorithmes d’approximation
 
Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)Presentation algo-irem-2x2 (1)
Presentation algo-irem-2x2 (1)
 
Les structures en c++
Les structures en c++Les structures en c++
Les structures en c++
 
Les structures en c++ (1)
Les structures en c++ (1)Les structures en c++ (1)
Les structures en c++ (1)
 
L2006
L2006L2006
L2006
 
Jmc habile
Jmc habileJmc habile
Jmc habile
 

Pres xlin401

  • 1. Contenu du cours • Les compétences visées : Programmer en réseau Informatique de l’Internet • Programme : – Notion de Système informatique Joël Quinqueton – Réseaux informatiques Dépt MIAp, UFR IV – L’internet : définition, réalisation de site, utilisation UPV − Université Montpellier III – Langages de l’internet : SGML, HTML, XML , PHP, Javascript, Java Organisation du cours Plan du cours (1) • Généralités • Notions sur les systèmes et les réseaux – Infrastructures physique, protocoles bas • TDs en Java, PHP, Javascript niveaux – Notions élémentaires de programmation – Organisation physique par objets en Java – TCP/IP – Notions de pages web dynamiques avec – Internet PHP – Modification d’une page par elle même avec Javascript Plan du cours (2) Plan du cours (3) • Couches de niveaux supérieurs • Concepts réseaux et conceptions des (logicielles) applications – Protocoles haut niveau: DNS, Mail, ftp, – Agents logiciels, objets distribués HTTP, HTML – Echange de données: XML, DTD, schémas, XSL – Programmation réseau (Java, servlets, scripts …) – Visualisation de réseaux d’information: problématique, applications, aspects génie logiciel, format d’échange de données, … –… 1
  • 2. Bibliographie Evaluation • TD/TP • Nombreux sites contenant des tutoriaux – Expérimentation sur machine des protocoles sur Java, PHP, Javascript – Programmation réseau • Site de Sun • Java • javascript, php, • Divers cours, exercices, trouvés sur • Éventuellement: Perl, XML, XSL Internet • Projet personnel: réalisation d’un joueur • Le site du cours: automatique au go-moku (morpion) www.univ-montp3.fr/miap/ens/MASS/XLIN401 – Tournoi à travers le réseau Programmation Architecture client-serveur • Architecture « Client-Serveur » • Répartition de la charge de travail entre – Vous naviguez sur le web: vous êtes le un serveur et un poste distant (le client). client et vous passez d’un serveur à un Par exemple: autre – Lancement d’une application stockée sur un disque distant (l’application tourne sur le • Programmation réseau poste client) – Programmer sur le client – Accès à vos comptes et fichiers – Programmer sur le serveur (l’application « entrée », ou « login ») Architecture Programmation réseau client-serveur: exemple • Exécution client • Lancement d’une application stockée – Le navigateur prend en charge l’exécution du code sur un disque distant (applets) – Le code a un accès limité aux ressources côté client – L’application tourne sur le poste client • Exécution serveur – L’application demande périodiquement un – Envoi d’un requête au serveur commandant l’exécution accès à vos fichiers d’un programme – Scripts embarqués – Application (servlets) 2
  • 3. Informatique et L’informatique (1) programmation • Applets ou servlets: langage Java • 10% des investissements des sociétés • Langage de programmation (hors bâtiments) – Compilé (Java) • Croissance très rapide du nombre de cadres et techniciens informaticiens – Interprété (PHP ou Javascript) [1982-1991] • Science encore jeune (30 ans) • Gigantesque cathédrale de constructions matérielles et intellectuelles Cori, Levy L’informatique (2) L’informatique (3) • Il existe une science de l’informatique • Plusieurs théories imbriquées • La jeunesse de l'informatique permet à – logique et calculabilité, algorithmique et analyse certains de nier son aspect scientifique d'algorithmes, conception et sémantique des • Mythe du hacker («fous de la langages de programmation, bases de données, principes des systèmes d'exploitation, architectures des programmation») ordinateurs et évaluation de leurs performances, réseaux et protocoles, langages formels et compilation, codes et cryptographie, – hacker [...] n. 2. One who programs 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, ... enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming. L’informatique (4) L’informatique (5) • La jeunesse de l'informatique permet à • Une autre caractéristique de certains de nier son aspect scientifique l'informatique est le côté instable des • Mythes du hacker («fous de la programmes programmation») • Les phénomènes continus sont rares en – Programmeur préférant ignorer toute considération théorique qui puisse l’aider informatique dans ses constructions souvent très – Une panne n'est en général pas le résultat habiles d'une dégradation perceptible. Elle arrive simplement brutalement. 3
  • 4. L’informatique (6) Objectifs • Une autre caractéristique de • Initiation à la programmation objet l'informatique est le côté instable des – Initiation à la programmation impérative programmes – Initiation à l’approche objet avec Java – C'est ce côté exact de l'informatique qui est très attrayant • Rudiments d’algorithmique – En informatique, il y a peu de solutions – Conception et analyse des algorithmes approchées – Implémentations des structures de – En informatique, il y a une certaine notion données de l'exactitude Plan (1) Plan (2) • Architecture • Tris simples (bulles, Objets • Méthodes: Champs et Méthodes machine par insertion) Références et valeurs, test – valeur de retour • Types de base, • Tris récursifs d’égalité – visibilité affectation (Quicksort, fusion) – classe vs instance • Instructions • Recherche dans des • La jdk (AWT, conditionnelles tables 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
  • 5. Références (3) Références (4) • Sites web • Livres – Tutorials Java – Brondeau J. Introduction à la • Kjell , CCSU (USA) programmation objet en Java, Dunod, • Brandeis University (USA) • Campione and Walrath, Addison Wesley 1999. – Tutorials d’algorithmique – Eckel B. Thinking in Java, Mind View Inc. • Cours de Robert Cori et Jean-Jacques Lévy – Bob Sedgewick, Algorithms, 2nd edition, – Serveur Spédago de Spécif Addison-Wesley, 1988. En français: • Cours / TD sur l'algorithmique Algorithmes en langage C, trad. par Jean-Michel • Cours / TD sur la programmation Moreau, InterEditions, 1991. Architecture d’un ordinateur Architecture d’un ordinateur (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 Architecture d’un ordinateur Architecture d’un ordinateur (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
  • 6. Architecture d’un ordinateur Architecture d’un ordinateur (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 Architecture d’un ordinateur Architecture d’un ordinateur (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 Architecture d’un ordinateur Compilation (1) (8) • Un processeur est composé de plusieurs modules • Les langages de programmation de spécialisés – Module arithmétique haut niveau permettent de s’abstraire – Contrôle de flux du matériel – Calcul d’adresse class Hello { – Traitement des interactions avec les périphériques public static void main ( String[] args ) { • Deux processeurs diffèrent par l’ensemble des System.out.println("Hello World!"); instructions machine dont il dispose } } 6
  • 7. Compilation (2) Compilation (3) • La compilation consiste à traduire un • Le résultat d’une compilation dépend de langage de haut niveau en langage la plate-forme (type d’ordinateur) sur machine lequel elle est effectuée System.out.println("Hello World!"); • Un programme compilé sur Mac ne tourne pas sur un PC, un programme compilé sur PC ne tourne pas sous 00011011011010010100 000110110101 Linux, etc. 11011010010010010100 001110110110 00110011011010010100 000110110111 … Java (1) Java (2) • Java est un langage portable • La compilation produit le même fichier • Le même programme, compilé une de bytecodes, quel que soit la plate- seule fois, peut-être exécuté sur forme n’importe quelle plate-forme Salut.java javac Salut.class Hello.java javac Hello.class Compilation Compilation Bytecodes Java Compilation Compilation Bytecodes Java Java Java Java Java La Machine Virtuelle Java Java (3) (JVM) • Le même programme, compilé une • Les bytecodes sont interprétées seule fois, peut-être exécuté sur différemment selon la plate-forme sur n’importe quelle plate-forme laquelle ils sont exécutés • Heuh ? Interpréteur Hello.class Le processeur Java Bytecodes Java Machine Virtuelle Java 7
  • 8. Java Algorithmique (1) Avantages / Inconvénients • Portabilité • Performances • Un programme présente deux aspects • Génération automatique de la documentation des amoindries par – un contenu et une forme programmes l’interpréteur • Rapide dissémination via – un sens et une grammaire • Gestion de la Internet mémoire via le • Pour l'ordinateur, il suffit que le • Très grande compatibilité http «garbage collector» programme soit correct au niveau de la forme (la syntaxe) Darmont Algorithmique (2) Algorithmique (3) • L’ordinateur effectuera toujours les • La cohérence du programme (du manipulations commandées par un contenu) n'est pas examinée ou programme syntaxiquement correct évaluée par le compilateur – La première étape de la compilation • L'analyse du problème à traiter, la consiste à vérifier que le programme écrit preuve de la cohérence et de la est syntaxiquement correct pertinence de sa solution sont préalable – Si l'on fait une erreur de syntaxe, le à l’écriture du programme compilateur affiche un message d'erreur Algorithmique (4) Premier programme • On doit • Algorithme: – Imprimer(« bonjour tout le monde ») – fixer l'objectif du programme • Programme: – établir la liste des données à manipuler et public class BonjourApplet extends Applet des opérations à exécuter, et les ordonner. { • La description de la suite des public void init() { System.out.println("Bonjour tout le opérations élémentaires ordonnées monde"); capables de résoudre le problème posé } constitue un algorithme } 8