Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Technologies W...
Progr. MCI Full Time – 9 h 
1.Fondamentaux de l’informatique (3 h) 
2.Architecture des ordinateurs (1 h 30) 
3.Architectur...
Progr. MCI Part Time – 8 h 
1.Fondamentaux de l’informatique (2 h) 
2.Architecture des ordinateurs (1 h) 
3.Architecture d...
Bibliographie 
[Za-1] P. ZANELLA, Y. LIGIER, Architecture et technologie des ordinateurs, 4e édition, DUNOD, 2011. 
[Ta-1]...
Groupes de travail 
Organisme 
Fonction 
ICANN 
Gestion des DNS et attribution des adresses IP 
IETF 
Spécification des pr...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Partie I Fonda...
Programme sur fondamentaux Principaux composants de l’ordinateur Types d’information/opération Représentation externe vs i...
Principaux composants Processeur, aussi appelé CPU* Espaces** mémoire Unités périphériques Clavier Souris Écran Imprimante...
Fonction du processeur 
Le processeur sert à exécuter les instructions d’un programme. (Un programme en cours d’exécution ...
Fonction de la mémoire 
Les espaces mémoire (mémoire de masse, mémoire centrale et registres) servent à stocker des progra...
Fonction des périphériques 
Les périphériques (clavier, écran, etc.) permettent d’interagir avec l’ordinateur. La communic...
Trois types d’information Instructions Données non numériques Données numériques
Composition d’une instruction 
Les instructions associent un code opération et des opérandes. Ces opérandes désigne l’ense...
Trois types d’opérations Opérations d’écriture et de lecture Opérations logiques Opérations arithmétiques
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Représentation...
Problématique du stockage Fixer la capacité de stockage Fixer la taille des espaces de stockage Adresser les espaces de st...
Parabole du parking 
Dimensionnement et adressage des espaces de stockage
Quatre unités de base Unité de stockage physique Unité élémentaire d’information Unité logique d’information Unité d’infor...
1 
2 
3 
4 
5 
6
Commentaire 
1.Chaque cellule contient un condensateur et un transistor. 
2.Chaque cellule fait l’objet d’une représentati...
Bit (binary digit) 
Le bit est un chiffre binaire qui prend soit la valeur 0, soit la valeur 1 ; il constitue l’unité d’in...
Octet (byte) 
L’octet représente un jeu de huit bits. Ces huit bits constituent l’unité logique d’information « de base » ...
Mot mémoire 
Le mot mémoire constitue l’unité d’information adressable : il associe unité logique d’information, dont la f...
Écriture et lecture 
Les opérations d’écriture et de lecture portent obligatoirement sur un mot mémoire qui associe à chaq...
Exemples de codage Caractère Y : 01011001 Chiffre 1 : 00000001 Instruction addition : 10000001
Taille logique des mots 
Nombre de bits 1 bit 2 bits 3 bits 
… 8 bits =1 octet (byte) 
… n bits 
Nombre d’informations 21 ...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Codage de l’in...
Exemple de codage 
65 en base décimale i.e. 6510 
se traduit par 
01000001 en binaire i.e. 010000012. 
—
Explication 
65 en base décimale i.e. 6510 
est égal à 
6 x 101 + 5 x 100 
donc 65 en notation condensée. 
—
Explication (suite) 
65 en base binaire 
est égal à 
0+(1 x 26)+0+0+0+0+0+(1x20) 
donc 01000001 en notation condensée. 
—
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Codage de l’in...
Standard Unicode 
Le standard Unicode se définit comme un système de codage de caractères universel associant représentati...
Cas de la lettre A Représentation externe : A Point de code (hex.*) : 0041 Représentation interne (bin.) : 01000001 
* Les...
Écran BabelMap (I)
Écran BabelMap (II)
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Encodage de l’...
Problématique de l’ENcodage Sûreté[-intégrité] des données* Sécurité des données Optimisation des ressources 
* NON corrup...
ENcodage - enjeux 
CONTRÔLE DES ERREURS 
SÛRETÉ DES DONNÉES 
COMPRESSION/DÉCOMPRESSION 
OPTIMISATION DES RESSOURCES 
CRYPT...
Ce qu’il faut retenir 
Instructions et données sont nécessairement représentées par une séquence de chiffres binaires (0/1...
Conséquence 
Il faut distinguer les langages de haut niveau*, qui permettent de définir le code source des applications, e...
À savoir 
Le code source est transformé en code machine par des logiciels qu’on appelle des traducteurs ; ces traducteurs ...
Traduction en deux temps 
Première traduction : le compilateur transforme le code source en bytecode en faisant abstractio...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Partie II Arch...
Programme sur architecture Architecture du processeur Hiérarchie des mémoires Rôle du système d’exploitation
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Architecture d...
Unité centrale : RAM + CPU 
[Za-1] : « Présentation générale », p.26.
Unité de commande 
Principaux dispositifs Compteur ordinal [CO] (registre) Registre instruction [RI] (registre) Décodeur (...
Compteur ordinal [CO] 
Le compteur ordinal est un registre (cellule mémoire) dont la fonction est d’enregistrer l’ADRESSE ...
Registre instruction [RI] 
Le registre instruction est un registre (cellule mémoire) dont la fonction est d’enregistrer l’...
Décodeur 
Le décodeur est un automate dont la fonction est de déterminer l’OPÉRATION À EXÉCUTER à partir du code [opératio...
Séquenceur 
Le séquenceur est un automate dont la fonction est de COMMANDER le chargement des opérandes [dans l’accumulate...
Unité arithmétique et logique 
Principaux dispositifs Accumulateur (registre) Unité de calcul (de 50 à 250 opérations) Tra...
Accumulateur 
L’accumulateur est un registre (cellule mémoire) dont la fonction est d’enregistrer les OPÉRANDES des opérat...
Cycle de recherche du CPU 
[Za-1] : « Unité centrale de traitement », p.193. 
Circulation/transfert des informations initi...
Cycle d’exécution du CPU 
[Za-1] : « Unité centrale de traitement », p.194. 
Circulation/transfert des informations initié...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Hiérarchie des...
Typologie des mémoires Registres Mémoire centrale i.e. RAM, mémoire vive Mémoire de masse, de stockage i.e. ROM
Hiérarchie des mémoires 
[Za-1] : « Mémoires », p. 154.
Rapport vitesse/capacité 
[Za-1] : « Mémoires », p. 185.
Parabole du bureau 
Illustration du rapport vitesse/capacité
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Rôle du systèm...
Exploitation des ressources Gestion des processus* Gestion de la mémoire centrale Gestion des entrées/sorties Gestion des ...
Pile OS 
Mémoire 
Entrées/Sorties 
Processus 
Fichiers 
Pile système d’exploitation
Virtualisation 
En introduisant un niveau d’abstraction entre l’utilisateur et la machine (interface graphique ou commande...
Exemples de commandes Linux login logout mkdir (make directory) vi (editor) cp (copy) chmod (change mode)
OS orientés Web Multitâche/transactionnel Multiutilisateur Sûr (conçu pour fonctionner 24h/24h) 
Commentaire. — UNIX, Wind...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Système d’expl...
Gestion des adresses 
Partition : espace mémoire faisant intervenir une borne inférieure et une borne supérieure. 
Réalloc...
Partitions de taille variable 
[Za-1] : « Systèmes d’exploitation », p. 370.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Partie III Arc...
Programme sur réseaux Architecture matérielle Architecture des protocoles Terminologie du protocole HTTP
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Architecture m...
Typologie des réseaux E/S (entrées/sorties) : 1 m PAN (Personal Area Network) : 10 m LAN (Local Area Network) : 1 km WAN (...
Typologie des équipements* Concentrateur (hub) Commutateur (switch) Routeur 
* Ne sont présentés que les équipements les p...
Fonction du concentrateur 
Le concentrateur est un équipement qui sert à interconnecter plusieurs ordinateurs à l’échelle ...
Fonction du commutateur 
Le commutateur est un équipement qui sert à interconnecter plusieurs segments à l’échelle du LAN*...
Fonction du routeur 
Les routeurs sont des équipement qui servent à interconnecter plusieurs LAN à l’échelle du WAN. 
— 
R...
Couplage LAN-WAN 
routeur 
PC 
PC 
hub 
switch 
switch 
hub 
PC 
PC 
switch 
serveur 
serveur 
routeur 
PC 
PC 
hub 
switc...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Architecture d...
Problématique des réseaux Dissocier les données et les entêtes* Structurer les entêtes Encapsuler/désencapsuler les donnée...
Parabole de la lettre 
Encapsulation, routage et désencapsulation de la lettre
Modèle OSI 
Les logiciels de réseaux se réfèrent à un modèle d’architecture qu’on appelle le modèle OSI (Open Systems Inte...
Couches du modèle OSI
Logiciels de réseaux 
À chacune des couches du modèle OSI correspond une couche logicielle constituée de logiciels de rése...
Couche logicielle vs protocole et PDU 
La couche logicielle génère des PDU (messages) en faisant référence à un protocole
Protocole 
Les protocoles désignent un ensemble de règles destinées à standardiser le séquencement et le format des inform...
Parabole de l’enveloppe 
Protocole : nom du destinataire, numéro et nom de rue etc.
Types de PDU* Message : PDU des niveaux 6/7 Segment : PDU des niveaux 4/5 Datagramme : PDU du niveau 3 Frame/paquet : PDU ...
Principe d’encapsulation 
Données 
Entête 
Niveau N+ 1 
Niveau N 
Données 
Entête 
Données 
Entête 
Niveau N-1 
PDU N+ 1 
...
Chemin physique vs logique 
[Za-1] : « Réseaux », p. 326.
Exemples de protocoles HTTP : présentation/appl. (niveaux 6/7) TCP : transport/session (niveaux 4/5) IP : réseau (niveaux ...
Protocoles appl. : niveaux 6/7 
Protocole 
Spécification 
Mise à jour 
FTP 
1971 
1985 
SMTP 
1982 
2008 
HTTP 
1990 
1999
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Partie IV Arch...
Programme arch. et langages Modèle d’architecture client-serveur Modèle d’architecture 3-Tiers Modèles d’architecture du W...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Modèle d’arch....
Architecture client/serveur 
Externalisation des ressources i.e. données/programmes
Message Definition 
“The basic unit of HTTP communication, consisting of a structured sequence of octets.” 
—
Client and User Agent Definition 
Client : “a program that establishes connections for the purpose of sending requests.” 
...
Server Definition 
“An application program that accepts connections in order to service requests by sending back responses...
Format des URL 
"http:" "//" 
host [":" port] 
[abs_path]
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Modèle d’archi...
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8" /> 
<title>CV de M. Dupont</title> 
</head> 
<body> <h1>M. Dupont</...
Architecture 3-Tiers 
1.Couche présentation 
2.Couche application-métier 
3.Couche persistance des données
Couche présentation* : 
Couche logicielle responsable de la mise en page, de la typographie et de la navigation du site. 
...
Couche application* : 
Couche logicielle responsable de la logique métier et des services techniques : gestion des session...
Couche données* : 
Couche logicielle responsable de l’accès aux données et de la persistance des données. 
— 
Exemple de l...
Parabole des couches logicielles 
Prise de commande, préparation et approvisionnement
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Plate-forme vs...
Plate-forme logicielle 
La notion de plate-forme désigne l’ensemble des composants logiciels (système d’exploitation et en...
Ex. : plate-forme Lamp Système d’exploitation Linux Serveur HTTP Apache Serveur de base de données MySQL Composant applica...
Intégration du composant PHP 
Option 1 : le composant PHP est un module, c’est-à-dire une extension du serveur HTTP Apache...
Zend Engine 
Le composant PHP contient un moteur d’exécution (scripting engine) — Zend Engine — dont la fonction est d’int...
Architecture logicielle 
La notion d’architecture logicielle désigne l’ensemble des composants (ou briques logicielles) qu...
Couches logicielles et plate-forme associée 
Couches HTML/CSS, PHP et SQL | Plate-forme LAMP 
Les 3 couches logicielles
Pile application 
Couche Métier 
Couche Données 
Env. d’exécution 
Couche Présentation 
Pile Application
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Modèles d’arch...
Patterns du Web 2.0 Participation Pattern : Wiki, CMS, Blog RIA/MVC Pattern : applications riches SOA Pattern : Web Servic...
Tech. des Wikis/CMS/Blogs Langage de structuration (X)HTML Feuilles de style CSS Langage d’interaction Javascript* Langage...
Tech. des patterns RIA/MVC Framework Flex (Adobe) Framework Silverlight (Microsoft) Technologie(s) AJAX 
Commentaire. — Le...
Tech. du pattern SOA Protocole SOAP Format de description des services WSDL Annuaire de référencement UDDI* Framework .NET...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Partie V Cloud...
Programme cloud computing Principes de la virtualisation Logiciels de virtualisation Avantages de la virtualisation Modèle...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Principes de l...
Base technologique du cloud Multicore computing : plusieurs UAL Clustering : N serveurs — LAN Grid computing : N serveurs ...
VMM* vs machines virtuelles 
* Virtual Machine Monitor. 
[Bu-1] : « Virtual machines provisionning and migration services ...
Workload 
La notion de workload désigne une application et sa plate-forme logicielle hors système d’exploitation. 
—
Exemple de workload CMS WordPress Serveur HTTP Apache Serveur de base de données MySQL Module applicatif PHP (Zend Engine)
Philosophie de l’hypervision* 
Principe 1 : avoir un minimum de code pour réduire le nombre de failles de sécurité. 
Princ...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Logiciels de v...
Logiciels de virtualisation 
Les logiciels de virtualisation sont des hyperviseurs aussi appelés VMM (Virtual Machine Moni...
Logiciels d’administration 
Les logiciels d’administration des machines virtuelles sont des VIM (Virtual Infrastructure Ma...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Avantages de l...
La virtualisation… Plus de rendement Plus de sûreté/sécurité Plus de stabilité Plus d’élasticité 
… en termes de qualité.
Rendement 
Le chargement de plusieurs machines virtuelles sur un même serveur permet de diminuer le nombre de serveurs… et...
Sûreté 
En cas d’accident, le cloud permet de récupérer – sans rupture de service – une machine virtuelle préalablement ré...
Sécurité 
Le plantage d’une machine virtuelle – qui serait dû à une attaque –, n’a pas d’incidence sur le fonctionnement d...
Stabilité 
La mise à jour de l’OS d’une des machines virtuelles, n’aura pas d’incidence sur les machines virtuelles qui ut...
Élasticité 
En cas de besoin – pic de charge (augmentation brutale du trafic) –, le cloud permet de solliciter automatique...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Modèle économi...
Comparaison des modèles 
Ressource as a Service Abonnement Segmentation Mutualisation 
Ressource as a Product Investisseme...
Ressource as a Product 
Stratégie 
de « courte traîne » 
basée sur 
standardisation 
Ressource as a Service 
Stratégie de ...
Mutualisation des services SaaS : mutualisation de logiciels PaaS : mutualisation des plates-formes IaaS : mutualisation d...
Valeur ajoutée du cloud… Réduction des coûts (virtualisation) Flexibilité des coûts (pay-per-use) Contrôle des coûts (long...
Valeur ajoutée du cloud… Accès ATAWAD Fonctions de partage Simplicité des interfaces 
… en termes d’usages.
Valeur ajoutée du cloud… Pas de logiciel/matériel à installer Pas de contrainte de ressources Pas de maintenance 
… en ter...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Classes de ser...
Classes de services IaaS (Infrastructure as a Service) PaaS (Platform as a Service) SaaS (Software as a Service)
Rôle des acteurs du cloud 
Exploitant 
Architecte 
Éditeur 
Architecte 
Éditeur 
Utilisateur 
PaaS 
IaaS 
SaaS 
met en oeu...
Services IaaS côté client Nombre de machines virtuelles Nombre de CPU et espace de stockage Degré d’élasticité (Load Balan...
Services PaaS côté client Sélection du langage de développement Synchronisation* des plates-formes Administration des appl...
Déploiement vers Google App Engine 
Déploiement d’une application depuis l’environnement Eclipse
Services Google App Engine 
Main (Instances, Versions etc.), Data, Administration, Billing
Services SaaS côté client Gestion des ressources Partage des ressources Agrégation de flux/données Ouverture/intégration d...
Ce qu’il faut retenir Self-service ATAWAD* Facturation des services à la demande Scalabilité/élasticité des applications 
...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Conclusion 
Or...
Ordres de grandeur 
Processeurs : le Pentium IV compte environ 125 millions de transistors. 
Systèmes d’exploitation : les...
Pile OS 
Mémoire 
Entrées/Sorties 
CPU 
Fichiers 
Pile OS
Pile { OS+réseau } 
Couche 5 
Couche 3 
Couche 1 
Couche 7 
Couche 4 
Couche 2 
Couche 6 
Pile Réseau 
Pile OS
Pile { OS+réseau+applications } 
Couche Métier 
Couche Données 
Env. d’exécution 
Couche Présentation 
Pile Applications 
...
Contexte 
Interface(s) 
MACHINE VIRTUELLE 
Couche virtualisée 
Utilisateur 
Administration d’un ordinateur 
Interfaces gra...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : fonda...
Systèmes de numération 
[Za-1] : « Représentation interne des informations », p. 45.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : fonda...
Types de données 
[Za-1] : « Représentation interne des informations », p. 56.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : fonda...
Définition d’un langage 
[Za-1] : « Langages de programmation », p. 425.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : fonda...
Env. de programmation 
[Za-1] : « Langages de programmation », p. 419.
Edition des Liens 
[Za-1] : « Langages de programmation », p. 421.
Macro vs sous-programme 
[Za-1] : « Langages de programmation », p. 413.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : arch....
Transistors 
[Za-1] : « Présentation générale »; p. 21.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : arch....
Trois scénarios… 
1.Lancement manuel de 3 programmes 
2.Lancement automatisé et séquentiel 
3.Lancement automatisé 
et exé...
Exploitation par lots - batch 
[Za-1] : « Systèmes d’exploitation », p. 355. 
PAS de système d’exploitation
Exploitation par lots - spooling 
[Za-1] : « Systèmes d’exploitation », p. 355.
Multiprogrammation 
[Za-1] : « Systèmes d’exploitation », p. 357.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : arch....
Trois principes… Hiérarchisation - couche logicielle Encapsulation - service Abstraction - machine virtuelle 
…Trois défin...
Principe de hiérarchisation 
Une couche n doit nécessairement faire appel aux services de la couche (n-1) ; la couche n ne...
Principe d’encapsulation 
Une couche n fait appel aux services* de la couche (n-1) sans pouvoir accéder au programme de la...
Principe d’abstraction (I) 
Une couche n fait abstraction des problématiques traitées par la couche de niveau (n-1). Les l...
Principe d’abstraction (II) 
En introduisant un niveau d’abstraction entre l’utilisateur et la machine, le système d’explo...
Rôle de la couche physique 
La couche physique fait intervenir les équipements dont le rôle est de transformer le signal n...
Numérique vs analogique 
[Za-1] : « Réseaux », p. 315
Protocole IP : niveau 3
Protocole TCP : niveau 4/5
Generic HTTP Message 
Request-Line | Status-Line 
Suivi de : 
*(message-header CRLF) 
Suivi de : 
CRLF [ message-body ]
Requête du client 
Request-Line Method (GET, POST, etc.) URI Protocol Version 
Exemple. — GET /rfc.html HTTP/1.1
Réponse du serveur 
Status Line + Header + Body Status Line 
- Success Code | Error Code 
- Protocol Version Message Heade...
Typologie des Status Code Successful : 2xx Redirection : 3xx Client Error : 4xx (404 - Not Found) Server Error : 5xx
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : arch....
Proxy Definition 
“An intermediary program which acts as both a server and a client.” [Les serveurs d’application jouent a...
Cache Definition 
“A program that stores responses in order to reduce the response time and network bandwidth consumption....
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : arch....
Langages orientés Web PHP (Utilisé côté serveur.) Java [utilisé côté serveur : servlets] Java [utilisé côté client : apple...
Indice TIOBE 2013 
Source : « TIOBE programming … October 2013 », tiobe.com.
Indice TIOBE 2012 
Source : tiobe.com.
Indice TIOBE 2011 
Source : tiobe.com.
Objective-C 
Main programming language used by Apple for the OS X and iOS operating systems and their respective APIs. 
—
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : arch....
Zend Engine vs JVM 
* Source : « PHP performance … Opcode Caches », engineyard.com.
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : arch....
Facteurs qualité ISO 9126 Capacité fonctionnelle (Functionnality) Fiabilité (Reliability) Facilité d’utilisation (Usabilit...
Facteurs qualité ISO 9126 Rendement (Efficiency) Maintenabilité (Maintainability) Portabilité (Portability)
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : cloud...
Virtualisation matérielle 
« Pas de modifications de l’OS invité, car le CPU […], fait croire au système invité (la machin...
Paravirtualisation* 
« Modification du noyau de l’OS de la machine virtuelle afin de coopérer avec l’hyperviseur pour l’ac...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : cloud...
Modèles de déploiement Cloud public (mode partagé ou dédié) Cloud privé Cloud hybride (public et privé)
Modèle cloud public partagé 
[Bu-1] : « SLA management », p. 419.
Modèle cloud public dédié 
[Bu-1] : « SLA management », p. 416.
Modèle cloud public : PaaS 
Exploitant 
Architecte 
Éditeur 
Architecte 
Éditeur 
Utilisateur 
PaaS 
IaaS 
SaaS 
met en oe...
Modèle cloud public : IaaS 
Exploitant 
Architecte 
Architecte 
Utilisateur 
PaaS 
IaaS 
SaaS 
met en oeuvre 
met en oeuvr...
Modèle cloud privé 
Exploitant 
Architecte 
Architecte 
Utilisateur 
PaaS 
IaaS 
SaaS 
met en oeuvre 
met en oeuvre 
dével...
Frédéric Simonet 
Formateur Entreprise 2.0 
Email : frederic.simonet@yourwebsite.fr 
Tél. : 06 62 63 94 49 
Annexe : créat...
Stratégies d’acquisition* Achat de licence (Buy) Location de service (Lease) Développement Build on Services Build on Open...
Stratégies de vente* Modèle propriétaire Modèle « as a Service » Modèle open source 
* Motivées par la création de valeur.
Prochain SlideShare
Chargement dans…5
×

Technologies du Web - Architectures matérielles et logicielles

835 vues

Publié le

Support de formation

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
835
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
64
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Technologies du Web - Architectures matérielles et logicielles

  1. 1. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Technologies Web Architectures matérielle/logicielle — 9 heures Pôle universitaire Léonard de Vinci ILV : MBA MCI Full/Part Time Année 2013/2014
  2. 2. Progr. MCI Full Time – 9 h 1.Fondamentaux de l’informatique (3 h) 2.Architecture des ordinateurs (1 h 30) 3.Architecture des réseaux (1 h 30) 4.Architecture des applications (1 h) 5.Cloud computing (1 h) 6.Évaluation (questionnaire) (1 h)
  3. 3. Progr. MCI Part Time – 8 h 1.Fondamentaux de l’informatique (2 h) 2.Architecture des ordinateurs (1 h) 3.Architecture des réseaux (1 h) 4.Architecture des applications (2 h) 5.Cloud computing (1 h) 6.Évaluation (questionnaire) (1 h)
  4. 4. Bibliographie [Za-1] P. ZANELLA, Y. LIGIER, Architecture et technologie des ordinateurs, 4e édition, DUNOD, 2011. [Ta-1] A. TANENBAUM, D. WETHERALL, Réseaux, 5e édition, PEARSON, 2011. [Ro-1] , P. ROQUES, UML par la pratique, 2e édition, EYROLLES, 2011. [Bu-1] R. BUYYA, J. BROBERG, A. GOSCINSKI, CLOUD COMPUTING (Principles and Paradigms), WILEY, 2011.
  5. 5. Groupes de travail Organisme Fonction ICANN Gestion des DNS et attribution des adresses IP IETF Spécification des protocoles (rédaction des RFCs) IRTF Spécification des protocoles (rédaction des RFCs) W3C Spécification des standards du web (patterns et langages) WHATWG Spécification du langage HTML
  6. 6. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Partie I Fondamentaux Informa[tion] + [robo]tique = Informatique 1.Fondamentaux de l’informatique 2.Architecture des ordinateurs 3.Architecture des réseaux 4.Architecture des applications 5.Cloud computing
  7. 7. Programme sur fondamentaux Principaux composants de l’ordinateur Types d’information/opération Représentation externe vs interne Encodage vs codage
  8. 8. Principaux composants Processeur, aussi appelé CPU* Espaces** mémoire Unités périphériques Clavier Souris Écran Imprimante, etc. * Central Processing Unit. ** Plusieurs types d’espace mémoire.
  9. 9. Fonction du processeur Le processeur sert à exécuter les instructions d’un programme. (Un programme en cours d’exécution s’appelle un processus.) —
  10. 10. Fonction de la mémoire Les espaces mémoire (mémoire de masse, mémoire centrale et registres) servent à stocker des programmes, des instructions ou des données. —
  11. 11. Fonction des périphériques Les périphériques (clavier, écran, etc.) permettent d’interagir avec l’ordinateur. La communication périphériques-ordinateur est assurée par le système d’exploitation. —
  12. 12. Trois types d’information Instructions Données non numériques Données numériques
  13. 13. Composition d’une instruction Les instructions associent un code opération et des opérandes. Ces opérandes désigne l’ensemble des paramètres impliqués dans l’exécution d’une opération. Illustration. — L’addition de deux nombres fait intervenir une opération – l’addition – et deux opérandes.
  14. 14. Trois types d’opérations Opérations d’écriture et de lecture Opérations logiques Opérations arithmétiques
  15. 15. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Représentation externe/interne Codage et adressage de l’information
  16. 16. Problématique du stockage Fixer la capacité de stockage Fixer la taille des espaces de stockage Adresser les espaces de stockage
  17. 17. Parabole du parking Dimensionnement et adressage des espaces de stockage
  18. 18. Quatre unités de base Unité de stockage physique Unité élémentaire d’information Unité logique d’information Unité d’information adressable
  19. 19. 1 2 3 4 5 6
  20. 20. Commentaire 1.Chaque cellule contient un condensateur et un transistor. 2.Chaque cellule fait l’objet d’une représentation logique (chiffre binaire). 3.Ce chiffre binaire (bit) constitue l’unité d’information la plus élémentaire. 4.L’unité d’information élémentaire sert à former l’unité logique d’information*. 5.L’unité logique d’information est couplée à une adresse. 6.L’unité d’information adressable associe adresse et unité logique. * L’unité logique porte sur un ou plusieurs octets.
  21. 21. Bit (binary digit) Le bit est un chiffre binaire qui prend soit la valeur 0, soit la valeur 1 ; il constitue l’unité d’information la plus élémentaire : toute information fait l’objet d’un codage faisant appel au bit. —
  22. 22. Octet (byte) L’octet représente un jeu de huit bits. Ces huit bits constituent l’unité logique d’information « de base » : toute information fait l’objet d’un codage sur un ou plusieurs octets. —
  23. 23. Mot mémoire Le mot mémoire constitue l’unité d’information adressable : il associe unité logique d’information, dont la fonction est d’« héberger » une information codée en binaire, et une adresse. —
  24. 24. Écriture et lecture Les opérations d’écriture et de lecture portent obligatoirement sur un mot mémoire qui associe à chaque unité logique d’information une adresse, facilitant ainsi l’accès aux informations enregistrées. —
  25. 25. Exemples de codage Caractère Y : 01011001 Chiffre 1 : 00000001 Instruction addition : 10000001
  26. 26. Taille logique des mots Nombre de bits 1 bit 2 bits 3 bits … 8 bits =1 octet (byte) … n bits Nombre d’informations 21 informations 22 informations 23 informations … 28 informations … 2n informations
  27. 27. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Codage de l’information Cas des entiers
  28. 28. Exemple de codage 65 en base décimale i.e. 6510 se traduit par 01000001 en binaire i.e. 010000012. —
  29. 29. Explication 65 en base décimale i.e. 6510 est égal à 6 x 101 + 5 x 100 donc 65 en notation condensée. —
  30. 30. Explication (suite) 65 en base binaire est égal à 0+(1 x 26)+0+0+0+0+0+(1x20) donc 01000001 en notation condensée. —
  31. 31. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Codage de l’information Cas des caractères
  32. 32. Standard Unicode Le standard Unicode se définit comme un système de codage de caractères universel associant représentation externe, point de code et représentation interne. —
  33. 33. Cas de la lettre A Représentation externe : A Point de code (hex.*) : 0041 Représentation interne (bin.) : 01000001 * Les points de code sont représentés en base hexadécimale (base 16).
  34. 34. Écran BabelMap (I)
  35. 35. Écran BabelMap (II)
  36. 36. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Encodage de l’information Contrôle des erreurs, cryptage et compression
  37. 37. Problématique de l’ENcodage Sûreté[-intégrité] des données* Sécurité des données Optimisation des ressources * NON corruption des données.
  38. 38. ENcodage - enjeux CONTRÔLE DES ERREURS SÛRETÉ DES DONNÉES COMPRESSION/DÉCOMPRESSION OPTIMISATION DES RESSOURCES CRYPTAGE/DÉCRYPTAGE SÉCURITÉ DES DONNÉES
  39. 39. Ce qu’il faut retenir Instructions et données sont nécessairement représentées par une séquence de chiffres binaires (0/1). —
  40. 40. Conséquence Il faut distinguer les langages de haut niveau*, qui permettent de définir le code source des applications, et les langages de bas niveau, utilisés pour définir le code machine*. — * PHP, Java, C++, C, etc. ** Code soumis au processeur avant exécution.
  41. 41. À savoir Le code source est transformé en code machine par des logiciels qu’on appelle des traducteurs ; ces traducteurs font appel à des langages de haut niveau* et des langages de bas niveau**. — * Langage C le plus souvent. ** Langage d’assemblage aussi appelé assembleur.
  42. 42. Traduction en deux temps Première traduction : le compilateur transforme le code source en bytecode en faisant abstraction des attentes du processeur. Deuxième temps : l’assembleur, aussi appelé machine virtuelle, traduit le bytecode en code machine*. * Le code machine dépend spécifiquement du processeur cible.
  43. 43. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Partie II Architecture des ordinateurs CPU, mémoires et OS 1.Fondamentaux de l’informatique 2.Architecture des ordinateurs 3.Architecture des réseaux 4.Architecture des applications 5.Cloud computing
  44. 44. Programme sur architecture Architecture du processeur Hiérarchie des mémoires Rôle du système d’exploitation
  45. 45. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Architecture du processeur Unité de commande et unité arithm. et logique
  46. 46. Unité centrale : RAM + CPU [Za-1] : « Présentation générale », p.26.
  47. 47. Unité de commande Principaux dispositifs Compteur ordinal [CO] (registre) Registre instruction [RI] (registre) Décodeur (automate) Séquenceur (automate)
  48. 48. Compteur ordinal [CO] Le compteur ordinal est un registre (cellule mémoire) dont la fonction est d’enregistrer l’ADRESSE de la prochaine instruction à exécuter. —
  49. 49. Registre instruction [RI] Le registre instruction est un registre (cellule mémoire) dont la fonction est d’enregistrer l’INSTRUCTION à exécuter. —
  50. 50. Décodeur Le décodeur est un automate dont la fonction est de déterminer l’OPÉRATION À EXÉCUTER à partir du code [opération] fournie par le registre instruction. — Illustration. — Le code 101 active la sortie n°5 (8 sorties possibles en tout). * Rappel. — Les instructions associent code opération et opérandes.
  51. 51. Séquenceur Le séquenceur est un automate dont la fonction est de COMMANDER le chargement des opérandes [dans l’accumulateur] et l’exécution de l’opération. — Remarque. — Les opérandes sont d’abord chargées dans le registre mot.
  52. 52. Unité arithmétique et logique Principaux dispositifs Accumulateur (registre) Unité de calcul (de 50 à 250 opérations) Transferts des données Opérations logiques Opérations arithmétiques Etc.
  53. 53. Accumulateur L’accumulateur est un registre (cellule mémoire) dont la fonction est d’enregistrer les OPÉRANDES des opérations à exécuter. —
  54. 54. Cycle de recherche du CPU [Za-1] : « Unité centrale de traitement », p.193. Circulation/transfert des informations initié par le CPU
  55. 55. Cycle d’exécution du CPU [Za-1] : « Unité centrale de traitement », p.194. Circulation/transfert des informations initié par le CPU
  56. 56. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Hiérarchie des mémoires Typologie ; rapport vitesse/capacité associé
  57. 57. Typologie des mémoires Registres Mémoire centrale i.e. RAM, mémoire vive Mémoire de masse, de stockage i.e. ROM
  58. 58. Hiérarchie des mémoires [Za-1] : « Mémoires », p. 154.
  59. 59. Rapport vitesse/capacité [Za-1] : « Mémoires », p. 185.
  60. 60. Parabole du bureau Illustration du rapport vitesse/capacité
  61. 61. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Rôle du système d’exploitation Exploitation des ressources et virtualisation
  62. 62. Exploitation des ressources Gestion des processus* Gestion de la mémoire centrale Gestion des entrées/sorties Gestion des fichiers * Allocation du CPU, planification et interruption.
  63. 63. Pile OS Mémoire Entrées/Sorties Processus Fichiers Pile système d’exploitation
  64. 64. Virtualisation En introduisant un niveau d’abstraction entre l’utilisateur et la machine (interface graphique ou commande en ligne), le système d’exploitation est devenu une machine virtuelle. —
  65. 65. Exemples de commandes Linux login logout mkdir (make directory) vi (editor) cp (copy) chmod (change mode)
  66. 66. OS orientés Web Multitâche/transactionnel Multiutilisateur Sûr (conçu pour fonctionner 24h/24h) Commentaire. — UNIX, Windows Server et Linux sont les trois systèmes d’exploitation les plus utilisés*. * Source : « Usage share of operating systems », wiikipedia.org.
  67. 67. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Système d’exploitation Gestion de la mémoire
  68. 68. Gestion des adresses Partition : espace mémoire faisant intervenir une borne inférieure et une borne supérieure. Réallocation dynamique : l’adresse effective des instructions est recalculée par addition de l’adresse de base* et du déplacement. * Borne inférieure de la partition allouée au programme.
  69. 69. Partitions de taille variable [Za-1] : « Systèmes d’exploitation », p. 370.
  70. 70. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Partie III Architecture des réseaux Architecture matérielle et protocolaire 1.Fondamentaux de l’informatique 2.Architecture des ordinateurs 3.Architecture des réseaux 4.Architecture des applications 5.Cloud computing
  71. 71. Programme sur réseaux Architecture matérielle Architecture des protocoles Terminologie du protocole HTTP
  72. 72. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Architecture matérielle Typologie des réseaux et des équipements
  73. 73. Typologie des réseaux E/S (entrées/sorties) : 1 m PAN (Personal Area Network) : 10 m LAN (Local Area Network) : 1 km WAN (Wide Area Network)
  74. 74. Typologie des équipements* Concentrateur (hub) Commutateur (switch) Routeur * Ne sont présentés que les équipements les plus communs.
  75. 75. Fonction du concentrateur Le concentrateur est un équipement qui sert à interconnecter plusieurs ordinateurs à l’échelle du LAN*. — Exemple. — 50 PC sur un même étage. * Les ordinateurs ainsi connectés forment un « segment ».
  76. 76. Fonction du commutateur Le commutateur est un équipement qui sert à interconnecter plusieurs segments à l’échelle du LAN*. — Exemple. — 150 PC répartis sur trois étages-: les trois concentrateurs sont connectés au commutateur. * Le commutateur permet d’optimiser la gestion des flux d’information.
  77. 77. Fonction du routeur Les routeurs sont des équipement qui servent à interconnecter plusieurs LAN à l’échelle du WAN. — Remarque. — Internet : association de « inter » et « network » (le réseau des réseaux) puis troncation.
  78. 78. Couplage LAN-WAN routeur PC PC hub switch switch hub PC PC switch serveur serveur routeur PC PC hub switch switch hub PC PC switch serveur serveur sous-réseau de communication
  79. 79. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Architecture des protocoles Principes de fonctionnement
  80. 80. Problématique des réseaux Dissocier les données et les entêtes* Structurer les entêtes Encapsuler/désencapsuler les données * Informations utilisées par le réseau pour acheminer les données.
  81. 81. Parabole de la lettre Encapsulation, routage et désencapsulation de la lettre
  82. 82. Modèle OSI Les logiciels de réseaux se réfèrent à un modèle d’architecture qu’on appelle le modèle OSI (Open Systems Interconnection). Ce modèle fait intervenir sept couches/strates/niveaux. —
  83. 83. Couches du modèle OSI
  84. 84. Logiciels de réseaux À chacune des couches du modèle OSI correspond une couche logicielle constituée de logiciels de réseaux spécialisés. —
  85. 85. Couche logicielle vs protocole et PDU La couche logicielle génère des PDU (messages) en faisant référence à un protocole
  86. 86. Protocole Les protocoles désignent un ensemble de règles destinées à standardiser le séquencement et le format des informations contenues dans les « messages » générés par les logiciels de réseaux. —
  87. 87. Parabole de l’enveloppe Protocole : nom du destinataire, numéro et nom de rue etc.
  88. 88. Types de PDU* Message : PDU des niveaux 6/7 Segment : PDU des niveaux 4/5 Datagramme : PDU du niveau 3 Frame/paquet : PDU du niveau 2 * Protocol Data Unit.
  89. 89. Principe d’encapsulation Données Entête Niveau N+ 1 Niveau N Données Entête Données Entête Niveau N-1 PDU N+ 1 PDU N PDU N-1
  90. 90. Chemin physique vs logique [Za-1] : « Réseaux », p. 326.
  91. 91. Exemples de protocoles HTTP : présentation/appl. (niveaux 6/7) TCP : transport/session (niveaux 4/5) IP : réseau (niveaux 3) Ethernet : liaison (niveau 2)
  92. 92. Protocoles appl. : niveaux 6/7 Protocole Spécification Mise à jour FTP 1971 1985 SMTP 1982 2008 HTTP 1990 1999
  93. 93. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Partie IV Architecture des applications Typologie des architectures et langages 1.Fondamentaux de l’informatique 2.Architecture des ordinateurs 3.Architecture des réseaux 4.Architecture des applications 5.Cloud computing
  94. 94. Programme arch. et langages Modèle d’architecture client-serveur Modèle d’architecture 3-Tiers Modèles d’architecture du Web 2.0
  95. 95. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Modèle d’arch. client-serveur Externalisation/distribution des ressources
  96. 96. Architecture client/serveur Externalisation des ressources i.e. données/programmes
  97. 97. Message Definition “The basic unit of HTTP communication, consisting of a structured sequence of octets.” —
  98. 98. Client and User Agent Definition Client : “a program that establishes connections for the purpose of sending requests.” User agent : “the client which initiates a request. These are often browsers, spiders (web-traversing robots).”
  99. 99. Server Definition “An application program that accepts connections in order to service requests by sending back responses.” —
  100. 100. Format des URL "http:" "//" host [":" port] [abs_path]
  101. 101. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Modèle d’architecture 3-Tiers Éclatement des couches logicielles
  102. 102. <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>CV de M. Dupont</title> </head> <body> <h1>M. Dupont</h1> <h2>Expérience</h2><p>[…]</p> <h2>Compétences</h2><p>[…]</p> <h2>Diplômes</h2><p>[…]</p> </body> </html> App. statique CV-dupont.html
  103. 103. Architecture 3-Tiers 1.Couche présentation 2.Couche application-métier 3.Couche persistance des données
  104. 104. Couche présentation* : Couche logicielle responsable de la mise en page, de la typographie et de la navigation du site. — Exemples de langages : (X)HTML et CSS notamment, mais aussi, Javascript. * Les scripts sont exécutés par le poste client.
  105. 105. Couche application* : Couche logicielle responsable de la logique métier et des services techniques : gestion des sessions et sécurité notamment. — Exemples de langages applicatifs : PHP, Java, etc. * Les scripts sont exécutés par le serveur.
  106. 106. Couche données* : Couche logicielle responsable de l’accès aux données et de la persistance des données. — Exemple de langage de requête : SQL. * Les requêtes sont exécutées par le serveur.
  107. 107. Parabole des couches logicielles Prise de commande, préparation et approvisionnement
  108. 108. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Plate-forme vs arch. logicielle Plate-forme Lamp
  109. 109. Plate-forme logicielle La notion de plate-forme désigne l’ensemble des composants logiciels (système d’exploitation et environnement d’exécution) qui supportent le fonctionnement d’une application. —
  110. 110. Ex. : plate-forme Lamp Système d’exploitation Linux Serveur HTTP Apache Serveur de base de données MySQL Composant applicatif PHP (Zend Engine*) * Moteur d’exécution des scripts codés en PHP.
  111. 111. Intégration du composant PHP Option 1 : le composant PHP est un module, c’est-à-dire une extension du serveur HTTP Apache. Option 2 : le composant PHP n’est pas utilisé comme module du serveur HTTP Apache. Dans ce cas, le couplage Apache- PHP est assuré par une interface*. * Source : « PHP : SAPI et modes de communication », developpez.com.
  112. 112. Zend Engine Le composant PHP contient un moteur d’exécution (scripting engine) — Zend Engine — dont la fonction est d’interpréter les scripts codés en PHP. (Zend Engine transforme le code source en code machine puis exécute le code.)
  113. 113. Architecture logicielle La notion d’architecture logicielle désigne l’ensemble des composants (ou briques logicielles) qui structurent une application. —
  114. 114. Couches logicielles et plate-forme associée Couches HTML/CSS, PHP et SQL | Plate-forme LAMP Les 3 couches logicielles
  115. 115. Pile application Couche Métier Couche Données Env. d’exécution Couche Présentation Pile Application
  116. 116. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Modèles d’arch. du Web 2.0 Participation, RIA, SOA et Web sémantique
  117. 117. Patterns du Web 2.0 Participation Pattern : Wiki, CMS, Blog RIA/MVC Pattern : applications riches SOA Pattern : Web Services Semantic Web Pattern
  118. 118. Tech. des Wikis/CMS/Blogs Langage de structuration (X)HTML Feuilles de style CSS Langage d’interaction Javascript* Langage applicatif PHP Langage de requête SQL * Utilisé pour exécuter des programmes interactifs sur poste client.
  119. 119. Tech. des patterns RIA/MVC Framework Flex (Adobe) Framework Silverlight (Microsoft) Technologie(s) AJAX Commentaire. — Les frameworks sont des espaces de travail qui associent langage, outils de développement et environnement d’exécution.
  120. 120. Tech. du pattern SOA Protocole SOAP Format de description des services WSDL Annuaire de référencement UDDI* Framework .NET (Microsoft) Framework Java/J2EE * Web service dédié à la publication des services disponibles.
  121. 121. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Partie V Cloud computing Virtualisation et classes de services 1.Fondamentaux de l’informatique 2.Architecture des ordinateurs 3.Architecture des réseaux 4.Architecture des applications 5.Cloud computing
  122. 122. Programme cloud computing Principes de la virtualisation Logiciels de virtualisation Avantages de la virtualisation Modèle économique du cloud Classes de services
  123. 123. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Principes de la virtualisation Hyperviseur vs superviseur
  124. 124. Base technologique du cloud Multicore computing : plusieurs UAL Clustering : N serveurs — LAN Grid computing : N serveurs — WAN
  125. 125. VMM* vs machines virtuelles * Virtual Machine Monitor. [Bu-1] : « Virtual machines provisionning and migration services », p. 126. Virtualization Layer (VMM or Hypervisor)
  126. 126. Workload La notion de workload désigne une application et sa plate-forme logicielle hors système d’exploitation. —
  127. 127. Exemple de workload CMS WordPress Serveur HTTP Apache Serveur de base de données MySQL Module applicatif PHP (Zend Engine)
  128. 128. Philosophie de l’hypervision* Principe 1 : avoir un minimum de code pour réduire le nombre de failles de sécurité. Principe 2 : limiter le code partagé entre […] machines virtuelles pour augmenter leur isolation réciproque. * Source : « Présentation des hyperviseurs xen et kvm », octo.com.
  129. 129. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Logiciels de virtualisation VMM vs VIM
  130. 130. Logiciels de virtualisation Les logiciels de virtualisation sont des hyperviseurs aussi appelés VMM (Virtual Machine Monitor). — Hyperviseurs leaders du marché : VMWare, Xen et KVM (hyperviseurs open source). * Hyperviseur [vs superviseur : système d’exploitation].
  131. 131. Logiciels d’administration Les logiciels d’administration des machines virtuelles sont des VIM (Virtual Infrastructure Manager). — Outils leaders du marché : VMWare vCloud, Open Nebula et Apache VCL.
  132. 132. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Avantages de la virtualisation En termes de qualité logicielle
  133. 133. La virtualisation… Plus de rendement Plus de sûreté/sécurité Plus de stabilité Plus d’élasticité … en termes de qualité.
  134. 134. Rendement Le chargement de plusieurs machines virtuelles sur un même serveur permet de diminuer le nombre de serveurs… et la consommation électrique. —
  135. 135. Sûreté En cas d’accident, le cloud permet de récupérer – sans rupture de service – une machine virtuelle préalablement répliquée sur d’autres serveurs. —
  136. 136. Sécurité Le plantage d’une machine virtuelle – qui serait dû à une attaque –, n’a pas d’incidence sur le fonctionnement des autres machines virtuelles. —
  137. 137. Stabilité La mise à jour de l’OS d’une des machines virtuelles, n’aura pas d’incidence sur les machines virtuelles qui utiliseraient une version antérieure. —
  138. 138. Élasticité En cas de besoin – pic de charge (augmentation brutale du trafic) –, le cloud permet de solliciter automatiquement des ressources supplémentaires sur d’autres serveurs… Inversement, le cloud est capable de libérer de ressources. —
  139. 139. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Modèle économique du cloud Ressource as a [Service vs Product]
  140. 140. Comparaison des modèles Ressource as a Service Abonnement Segmentation Mutualisation Ressource as a Product Investissement* Standardisation Logique propriétaire * L’investissement implique un amortissement qui engage dans la durée.
  141. 141. Ressource as a Product Stratégie de « courte traîne » basée sur standardisation Ressource as a Service Stratégie de « longue traîne » basée sur segmentation [personnalisation]
  142. 142. Mutualisation des services SaaS : mutualisation de logiciels PaaS : mutualisation des plates-formes IaaS : mutualisation des infrastructures
  143. 143. Valeur ajoutée du cloud… Réduction des coûts (virtualisation) Flexibilité des coûts (pay-per-use) Contrôle des coûts (longue traîne) … en termes de coûts.
  144. 144. Valeur ajoutée du cloud… Accès ATAWAD Fonctions de partage Simplicité des interfaces … en termes d’usages.
  145. 145. Valeur ajoutée du cloud… Pas de logiciel/matériel à installer Pas de contrainte de ressources Pas de maintenance … en termes d’administration.
  146. 146. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Classes de services du cloud IaaS, PaaS et SaaS
  147. 147. Classes de services IaaS (Infrastructure as a Service) PaaS (Platform as a Service) SaaS (Software as a Service)
  148. 148. Rôle des acteurs du cloud Exploitant Architecte Éditeur Architecte Éditeur Utilisateur PaaS IaaS SaaS met en oeuvre met en oeuvre développe dimensionne déploie utilise
  149. 149. Services IaaS côté client Nombre de machines virtuelles Nombre de CPU et espace de stockage Degré d’élasticité (Load Balancing) Disponibilité (en %)
  150. 150. Services PaaS côté client Sélection du langage de développement Synchronisation* des plates-formes Administration des applications Facturation des applications * Déploiement : migration de l’application vers la plate-forme de production.
  151. 151. Déploiement vers Google App Engine Déploiement d’une application depuis l’environnement Eclipse
  152. 152. Services Google App Engine Main (Instances, Versions etc.), Data, Administration, Billing
  153. 153. Services SaaS côté client Gestion des ressources Partage des ressources Agrégation de flux/données Ouverture/intégration de services* * Web services : API permettant d’accéder à des ressources.
  154. 154. Ce qu’il faut retenir Self-service ATAWAD* Facturation des services à la demande Scalabilité/élasticité des applications * Any Where, Any Time, Any Device.
  155. 155. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Conclusion Ordres de grandeurs et synthèse sur couches logicielles
  156. 156. Ordres de grandeur Processeurs : le Pentium IV compte environ 125 millions de transistors. Systèmes d’exploitation : les systèmes d’eploitation comptent plusieurs millions de LOC*. Centres de données : les centre de données (Data Center) plusieurs milliers de serveurs. Applications : les applications modernes comptent plusieurs dizaines de milliers de LOC*. * Lines of Code.
  157. 157. Pile OS Mémoire Entrées/Sorties CPU Fichiers Pile OS
  158. 158. Pile { OS+réseau } Couche 5 Couche 3 Couche 1 Couche 7 Couche 4 Couche 2 Couche 6 Pile Réseau Pile OS
  159. 159. Pile { OS+réseau+applications } Couche Métier Couche Données Env. d’exécution Couche Présentation Pile Applications Pile Réseau Pile OS
  160. 160. Contexte Interface(s) MACHINE VIRTUELLE Couche virtualisée Utilisateur Administration d’un ordinateur Interfaces graphiques : Windows, MacOs , etc. Logiciel : système d’exploitation Hardware Développeur Développement d’une application Code source de haut niveau : PHP, Python, Java, etc. Composant logiciel de traduction : compilateur Code exécutable de bas niveau : assembleur Éditeur de langage Développement d’un compilateur Code source de haut niveau : Java, C, C++, etc. Composant logiciel de traduction : assembleur (JVM, CLR, AVM) Code machine [soumis au processeur] Exploitant d’un centre de données Administration d’une ferme de serveurs (data center) Interface graphique : VIM ; hyperviseur : VMM Environnement : workload et système d’exploitation Hardware Synonymes. — Code exécutable - bytecode.
  161. 161. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : fondamentaux Systèmes de numération
  162. 162. Systèmes de numération [Za-1] : « Représentation interne des informations », p. 45.
  163. 163. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : fondamentaux Types de données
  164. 164. Types de données [Za-1] : « Représentation interne des informations », p. 56.
  165. 165. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : fondamentaux Langages
  166. 166. Définition d’un langage [Za-1] : « Langages de programmation », p. 425.
  167. 167. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : fondamentaux Programmation
  168. 168. Env. de programmation [Za-1] : « Langages de programmation », p. 419.
  169. 169. Edition des Liens [Za-1] : « Langages de programmation », p. 421.
  170. 170. Macro vs sous-programme [Za-1] : « Langages de programmation », p. 413.
  171. 171. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : arch. des ordinateurs Ordres de grandeur
  172. 172. Transistors [Za-1] : « Présentation générale »; p. 21.
  173. 173. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : arch. des ordinateurs Système d’exploitation
  174. 174. Trois scénarios… 1.Lancement manuel de 3 programmes 2.Lancement automatisé et séquentiel 3.Lancement automatisé et exécution des programmes en parallèle … Trois systèmes.
  175. 175. Exploitation par lots - batch [Za-1] : « Systèmes d’exploitation », p. 355. PAS de système d’exploitation
  176. 176. Exploitation par lots - spooling [Za-1] : « Systèmes d’exploitation », p. 355.
  177. 177. Multiprogrammation [Za-1] : « Systèmes d’exploitation », p. 357.
  178. 178. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : arch. des réseaux Complément sur les protocoles
  179. 179. Trois principes… Hiérarchisation - couche logicielle Encapsulation - service Abstraction - machine virtuelle …Trois définitions
  180. 180. Principe de hiérarchisation Une couche n doit nécessairement faire appel aux services de la couche (n-1) ; la couche n ne peut pas accéder aux services subalternes de niveaux (n-2), (n-3), etc. — * Aussi appelées API (Application Programming Interface).
  181. 181. Principe d’encapsulation Une couche n fait appel aux services* de la couche (n-1) sans pouvoir accéder au programme de la couche (n-1). — * Aussi appelées API (Application Programming Interface).
  182. 182. Principe d’abstraction (I) Une couche n fait abstraction des problématiques traitées par la couche de niveau (n-1). Les logiciels de la couche (n-1) sont des machines virtuelles. —
  183. 183. Principe d’abstraction (II) En introduisant un niveau d’abstraction entre l’utilisateur et la machine, le système d’exploitation apparaît lui aussi comme une machine virtuelle*. — * Voir supra : transparent n°66.
  184. 184. Rôle de la couche physique La couche physique fait intervenir les équipements dont le rôle est de transformer le signal numérique en signal analogique et inversement. — Exemple. — Le modem*. * Modulateur-demodulateur.
  185. 185. Numérique vs analogique [Za-1] : « Réseaux », p. 315
  186. 186. Protocole IP : niveau 3
  187. 187. Protocole TCP : niveau 4/5
  188. 188. Generic HTTP Message Request-Line | Status-Line Suivi de : *(message-header CRLF) Suivi de : CRLF [ message-body ]
  189. 189. Requête du client Request-Line Method (GET, POST, etc.) URI Protocol Version Exemple. — GET /rfc.html HTTP/1.1
  190. 190. Réponse du serveur Status Line + Header + Body Status Line - Success Code | Error Code - Protocol Version Message Header Message Body
  191. 191. Typologie des Status Code Successful : 2xx Redirection : 3xx Client Error : 4xx (404 - Not Found) Server Error : 5xx
  192. 192. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : arch. des applications Définition d’un proxy ; définition d’un cache
  193. 193. Proxy Definition “An intermediary program which acts as both a server and a client.” [Les serveurs d’application jouent aussi le rôle de client en soumettant leurs requêtes à des serveurs de bases de données.] —
  194. 194. Cache Definition “A program that stores responses in order to reduce the response time and network bandwidth consumption.” —
  195. 195. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : arch. des applications Langages incontournables du Web
  196. 196. Langages orientés Web PHP (Utilisé côté serveur.) Java [utilisé côté serveur : servlets] Java [utilisé côté client : applets] Javascript (Utilisé côté client.)
  197. 197. Indice TIOBE 2013 Source : « TIOBE programming … October 2013 », tiobe.com.
  198. 198. Indice TIOBE 2012 Source : tiobe.com.
  199. 199. Indice TIOBE 2011 Source : tiobe.com.
  200. 200. Objective-C Main programming language used by Apple for the OS X and iOS operating systems and their respective APIs. —
  201. 201. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : arch. des applications Zend Engine vs JVM
  202. 202. Zend Engine vs JVM * Source : « PHP performance … Opcode Caches », engineyard.com.
  203. 203. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : arch. des applications Qualité logicielle
  204. 204. Facteurs qualité ISO 9126 Capacité fonctionnelle (Functionnality) Fiabilité (Reliability) Facilité d’utilisation (Usability)
  205. 205. Facteurs qualité ISO 9126 Rendement (Efficiency) Maintenabilité (Maintainability) Portabilité (Portability)
  206. 206. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : cloud computing Modèles de virtualisation
  207. 207. Virtualisation matérielle « Pas de modifications de l’OS invité, car le CPU […], fait croire au système invité (la machine virtuelle) qu’il a un accès direct au matériel. » — Source : « Présentation des hyperviseurs xen et kvm », octo.com.
  208. 208. Paravirtualisation* « Modification du noyau de l’OS de la machine virtuelle afin de coopérer avec l’hyperviseur pour l’accès aux ressources physiques et délégation des opérations d’E/S. » — Source : « Présentation des hyperviseurs xen et kvm », octo.com.
  209. 209. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : cloud computing Modèles de déploiement
  210. 210. Modèles de déploiement Cloud public (mode partagé ou dédié) Cloud privé Cloud hybride (public et privé)
  211. 211. Modèle cloud public partagé [Bu-1] : « SLA management », p. 419.
  212. 212. Modèle cloud public dédié [Bu-1] : « SLA management », p. 416.
  213. 213. Modèle cloud public : PaaS Exploitant Architecte Éditeur Architecte Éditeur Utilisateur PaaS IaaS SaaS met en oeuvre met en oeuvre développe dimensionne déploie utilise
  214. 214. Modèle cloud public : IaaS Exploitant Architecte Architecte Utilisateur PaaS IaaS SaaS met en oeuvre met en oeuvre développe dimensionne déploie utilise Éditeur Éditeur
  215. 215. Modèle cloud privé Exploitant Architecte Architecte Utilisateur PaaS IaaS SaaS met en oeuvre met en oeuvre développe dimensionne déploie utilise Éditeur Éditeur
  216. 216. Frédéric Simonet Formateur Entreprise 2.0 Email : frederic.simonet@yourwebsite.fr Tél. : 06 62 63 94 49 Annexe : création de valeur Stratégie acquisition vs vente
  217. 217. Stratégies d’acquisition* Achat de licence (Buy) Location de service (Lease) Développement Build on Services Build on Open Source * Motivées par réduction des coûts/gains de productivité.
  218. 218. Stratégies de vente* Modèle propriétaire Modèle « as a Service » Modèle open source * Motivées par la création de valeur.

×