DSPP
DSPP
DSPP
Pratique Professionnelle
Ensemble des livres Docbook des ateliers effectués durant l'année 2008
Guillaume BETTAYEB
Copyright © 2008 Guillaume BETTAYEB
Mercredi 16 Juillet 2008
Table des matières
Présentation de projet de stage TSGRI .............................................................................. 1
1. Présentation de l'entreprise Eurazeo/ANF ............................................................... 1
La société ANF/Eurazeo ................................................................................ 1
Le service Informatique d'ANF ....................................................................... 1
2. L'architecture du SI ANF .................................................................................... 2
Le réseau TCP/IP .......................................................................................... 2
Le SI de Marseille ........................................................................................ 3
Les logiciels ......................................................................................... 3
Les Matériels ....................................................................................... 4
Répartition de l'espace disque .................................................................. 6
Le SI de Lyon .............................................................................................. 9
3. Objectif de la proposition de stage ...................................................................... 10
Sauvegardes et restauration de serveurs ........................................................... 10
Installation de GLPI et OCSING .................................................................... 10
Optimisation du processus de sauvegarde de fichiers .......................................... 10
Chronologie du stage ................................................................................... 11
4. Inventaire matériel via une plate-forme d'Asset Management .................................... 13
Déploiement d'OCS Inventory NG ................................................................. 13
Contexte technique .............................................................................. 13
Fichiers requis .................................................................................... 13
Installation du serveur OCSING (et XAMP) ............................................. 14
Installation du client OCSING ............................................................... 16
Déploiement de GLPI .................................................................................. 23
Contexte technique .............................................................................. 23
Fichiers requis .................................................................................... 24
Installation du serveur GLPI .................................................................. 24
Procédure prévisionnelle en vue d'une future mise à jour ou migration de la plate
forme d'Asset Management ........................................................................... 29
5. Préparation du support de sauvegarde .................................................................. 33
Contexte technique ...................................................................................... 33
Fichiers requis ............................................................................................ 36
Pour DriveImageXML .......................................................................... 36
Pour Bart PEBuilder ............................................................................ 36
Installation de PEBuilder .............................................................................. 37
Intégrer le support du clavier en Français à PEBuilder ........................................ 40
Intégrer TestDisk à PEBuilder ....................................................................... 40
Intégrer DriveImageXML à PEBuilder ............................................................ 44
Intégrer Partition-Saving a PEBuilder .............................................................. 50
Intégrer le support RAID et SATA à PEBuilder ............................................... 52
Intégrer les pilotes de cartes réseau et USB à PEBuilder ..................................... 58
Installation du client DriveImageXML ............................................................ 60
Création d'un CD-ROM de boot personnalisé avec PEBuilder .............................. 63
6. Récupération, sauvegarde et restauration des serveurs ............................................. 68
Ordonnance des procédures en cas de panne critique .......................................... 68
Récupération d'une partition endommagée ....................................................... 70
Sauvegarder à chaud, restaurer à froid avec DriveImageXML .............................. 76
Créer un Backup avec DriveImageXML .................................................. 76
Restaurer avec DriveImageXML ............................................................ 78
Sauvegarder à froid, restaurer à froid avec Partition-Saving ................................. 82
Créer un Backup avec Partition-Saving ................................................... 82
Restaurer avec Partition-Saving .............................................................. 86
7. Conclusion ..................................................................................................... 89
Les limites du modèle choisit ........................................................................ 89
La valeur ajoutée sur la sauvegarde et la restauration de serveurs .......................... 89
Optimisation du processus de sauvegarde de fichiers .......................................... 90
2
DSPP
3
DSPP
8. Conclusion ..................................................................................................... 23
9. Liens ............................................................................................................. 24
Sources et annexes ...................................................................................... 24
GLPI ................................................................................................. 24
OCSNG ............................................................................................. 24
UBUNTU LINUX ............................................................................... 24
La technologie RFID ..................................................................................................... 1
1. Présentation de la technologie RFID ..................................................................... 1
Principe des ondes ........................................................................................ 1
Origine et standards de la technologie RFID ...................................................... 2
Origine de la technologie RFID ............................................................... 2
Les standards RFID ............................................................................... 2
Fonctionnement de la technologie RFID ............................................................ 3
Principe de fonctionnement ..................................................................... 3
Les puces RFID .................................................................................... 4
Les radio-étiquettes ............................................................................... 4
Les lecteurs RFID ................................................................................. 4
Schéma d'une plate - forme RFID ............................................................ 5
Les Fréquences RFID .................................................................................... 6
Caractéristiques et applications des basses fréquences .................................. 6
Caractéristiques et applications des hautes fréquences .................................. 6
Caractéristiques et applications des ultra hautes fréquences ........................... 6
Caractéristiques et applications des micro-ondes ......................................... 7
Le rapport entre l'application et le choix des fréquences ............................... 7
La puissance du niveau de transmission .................................................... 7
Croissance de la technologie RFID .................................................................. 7
2. Applications RFID ............................................................................................ 9
La traçabilité industrielle ............................................................................... 9
La logistique : Premier secteur porteur pour le RFID ................................... 9
L'exemple de Walmart ........................................................................... 9
L'exemple de Checkpoint Meto ............................................................... 9
RFID et le marquage de documents .................................................................. 9
L'exemple de Nagoya Bank .................................................................... 9
L'exemple du Vatican .......................................................................... 10
Bibliothèques et Campus universitaires .................................................... 10
Autres domaines d'applications du RFID ......................................................... 10
La géolocalisation ............................................................................... 10
La santé ............................................................................................. 10
Les animaux ....................................................................................... 10
La sécurité ......................................................................................... 11
Le futur de la technologie RFID .................................................................... 11
Un champ de possibilités à peine exploité ................................................ 11
Des objets intelligents .......................................................................... 11
Projets pilotes ..................................................................................... 11
3. Les risques liés au RFID ................................................................................... 13
Problèmes d'éthique : Analyse de la CNIL ....................................................... 13
Contexte des craintes ........................................................................... 13
L'insignifiance des données ................................................................... 13
La priorité des données ........................................................................ 13
La logique de mondialisation ................................................................. 13
Le manque de vigilance ........................................................................ 13
Les failles techniques du RFID ...................................................................... 14
L'interférence ...................................................................................... 14
L'atténuation ....................................................................................... 14
La distortion par chemins multiples ....................................................... 14
Les failles de sécurité du RFID ...................................................................... 15
Une trop grande confiance au modèle ..................................................... 15
Corruption des données via RFID ........................................................... 15
4
DSPP
5
DSPP
4. PHP/MySQL ................................................................................................... 17
Créer une base MySQL pour faire un test ........................................................ 17
Interfacer PHP et MySQL ............................................................................. 17
5. Conclusion ..................................................................................................... 19
6. Références ...................................................................................................... 20
Installation et paramétrage de Windows XP ....................................................................... 1
1. Installation de Microsoft Windows XP .................................................................. 1
Démarrage ................................................................................................... 1
Partitionnement ............................................................................................. 1
Paramètres pour l'installation ........................................................................... 1
2. Paramétrage de Windows .................................................................................... 2
Résolution de l'écran ..................................................................................... 2
Définir le nom d'utilisateur ............................................................................. 2
3. Premier démarrage ............................................................................................. 3
Désactivation des services obsolètes ................................................................. 3
Explications sur la procédure d'installation d'un pilote ......................................... 3
Installer les pilotes spécifiques à la machine TSGRI ............................................ 3
Cas particulier : Installation de l'interface réseau ................................................. 4
Formatage du volume D:\ ............................................................................... 4
4. Configuration du réseau ...................................................................................... 5
Vérifier les paramètres TCP/IP pour DHCP ....................................................... 5
5. Modification des variables d'environnement ........................................................... 6
Redéfinir le chemin de « Mes Documents » ....................................................... 6
Modifier le chemin du profil utilisateur ............................................................. 6
Importer les données .................................................................................... 6
6. Installation et paramétrage de l'imprimante ............................................................. 7
Indiquer le chemin de l'imprimante .................................................................. 7
Spécifiez l'emplacement du pilote pour l'imprimante ............................................ 7
7. Installation des programmes ................................................................................ 8
Récupérer le client Filezilla sur le serveur FTP ................................................... 8
Installer Filezilla ........................................................................................... 8
Se connecter au serveur FTP et récupérer les installateurs ............................. 8
8. Déployer les applications .................................................................................... 9
9. Annexes ......................................................................................................... 10
Guides d'installation des logiciels ................................................................... 10
Interpreter le BIOS ....................................................................................................... 1
1. Signification des bips du bios au démarrage ........................................................... 1
Définition .................................................................................................... 1
BIOS Award (versions actuelles) ..................................................................... 1
BIOS Award (versions plus anciennes) ............................................................. 2
BIOS AMI (versions actuelles) ........................................................................ 2
BIOS AMI (versions plus anciennes) ................................................................ 3
BIOS Phoenix (versions actuelles) ................................................................... 4
BIOS Phoenix (versions plus anciennes) ........................................................... 6
BIOS phoenix V 4.0 release 6 ......................................................................... 6
2. Messages d'erreur au démarrage ........................................................................... 7
Significations des messages ............................................................................ 7
Le CHMOD ................................................................................................................. 1
1. Gestion des droits de fichiers avec CHMOD .......................................................... 1
Notions de base ............................................................................................ 1
Comment affecter les droits au fichiers ? ........................................................... 1
Autres observations à propos du CHMOD ......................................................... 4
LE RAID .................................................................................................................... 1
1. LE RAID ......................................................................................................... 1
Définition du Raid ........................................................................................ 1
2. Les types de RAID ............................................................................................ 2
Le RAID 0 .................................................................................................. 2
Le RAID 1 .................................................................................................. 2
6
DSPP
Le RAID 2 .................................................................................................. 2
Le RAID 3 .................................................................................................. 2
Le RAID 4 .................................................................................................. 3
Le RAID 5 .................................................................................................. 3
Le RAID 6 .................................................................................................. 3
Autres niveaux de RAID ................................................................................ 3
Adressage réseau .......................................................................................................... 1
1. Explications ...................................................................................................... 1
Structure d'un réseau ..................................................................................... 1
ET logique ................................................................................................... 1
Mise en pratique : Découpage du réseau TSGRI ................................................. 2
2. Découpage Réseau ............................................................................................. 4
Les adresses IP ............................................................................................. 4
La norme CIDR ............................................................................................ 4
Les classes de réseau ..................................................................................... 4
Plan d'adressage ............................................................................................ 5
1) Déterminer l'adresse de Broadcast ........................................................ 5
2) Trouver le nombre d'hôtes disponibles .................................................. 6
Récapitulatif pratique ..................................................................................... 6
7
Présentation de
projet de stage TSGRI
i
Table des matières
1. Présentation de l'entreprise Eurazeo/ANF ....................................................................... 1
La société ANF/Eurazeo ........................................................................................ 1
Le service Informatique d'ANF ............................................................................... 1
2. L'architecture du SI ANF ............................................................................................ 2
Le réseau TCP/IP .................................................................................................. 2
Le SI de Marseille ................................................................................................ 3
Les logiciels ................................................................................................. 3
Les Matériels ............................................................................................... 4
Répartition de l'espace disque ......................................................................... 6
Le SI de Lyon ...................................................................................................... 9
3. Objectif de la proposition de stage .............................................................................. 10
Sauvegardes et restauration de serveurs ................................................................... 10
Installation de GLPI et OCSING ............................................................................ 10
Optimisation du processus de sauvegarde de fichiers .................................................. 10
Chronologie du stage ........................................................................................... 11
4. Inventaire matériel via une plate-forme d'Asset Management ........................................... 13
Déploiement d'OCS Inventory NG ......................................................................... 13
Contexte technique ...................................................................................... 13
Fichiers requis ............................................................................................ 13
Installation du serveur OCSING (et XAMP) ..................................................... 14
Installation du client OCSING ....................................................................... 16
Déploiement de GLPI .......................................................................................... 23
Contexte technique ...................................................................................... 23
Fichiers requis ............................................................................................ 24
Installation du serveur GLPI .......................................................................... 24
Procédure prévisionnelle en vue d'une future mise à jour ou migration de la plate forme
d'Asset Management ............................................................................................ 29
5. Préparation du support de sauvegarde .......................................................................... 33
Contexte technique .............................................................................................. 33
Fichiers requis .................................................................................................... 36
Pour DriveImageXML .................................................................................. 36
Pour Bart PEBuilder .................................................................................... 36
Installation de PEBuilder ...................................................................................... 37
Intégrer le support du clavier en Français à PEBuilder ............................................... 40
Intégrer TestDisk à PEBuilder ............................................................................... 40
Intégrer DriveImageXML à PEBuilder .................................................................... 44
Intégrer Partition-Saving a PEBuilder ..................................................................... 50
Intégrer le support RAID et SATA à PEBuilder ....................................................... 52
Intégrer les pilotes de cartes réseau et USB à PEBuilder ............................................. 58
Installation du client DriveImageXML .................................................................... 60
Création d'un CD-ROM de boot personnalisé avec PEBuilder ...................................... 63
6. Récupération, sauvegarde et restauration des serveurs ..................................................... 68
Ordonnance des procédures en cas de panne critique .................................................. 68
Récupération d'une partition endommagée ............................................................... 70
Sauvegarder à chaud, restaurer à froid avec DriveImageXML ...................................... 76
Créer un Backup avec DriveImageXML .......................................................... 76
Restaurer avec DriveImageXML .................................................................... 78
Sauvegarder à froid, restaurer à froid avec Partition-Saving ......................................... 82
Créer un Backup avec Partition-Saving ........................................................... 82
Restaurer avec Partition-Saving ..................................................................... 86
7. Conclusion ............................................................................................................. 89
Les limites du modèle choisit ................................................................................ 89
La valeur ajoutée sur la sauvegarde et la restauration de serveurs .................................. 89
Optimisation du processus de sauvegarde de fichiers .................................................. 90
Installation de GLPI et OCSING ............................................................................ 91
ii
Présentation de projet
de stage TSGRI
iii
Chapitre 1. Présentation de
l'entreprise Eurazeo/ANF
La société ANF/Eurazeo
La société ANF, filiale d'Eurazeo [http://www.anf-immobilier.com/] est une société privée de
l'immobilier locatif résidentiel et tertiaire basée sur Paris, Lyon et Marseille. L'activité sur Marseille
consiste essentiellement, pour cette année, en la revalorisation et la rénovation du patrimoine
immobiler de la rue de la république à Marseille. Cette rénovation passe par la convergence de
différents corps de métiers, de différents secteurs d'activité (salariés du batîments, architectes, cadres,
comptables,juristes..).
1
Chapitre 2. L'architecture du SI ANF
Le réseau TCP/IP
Le réseau de machines d'ANF s'étend sur trois sites : Paris, Lyon et Marseille. Les trois sites sont
reliés entre eux via VPN. Les réseaux locaux des trois sites sont basés sur des adresses de classe A,
réparties ainsi :
Ce choix de découpage réseau fut déterminé par l'administrateur réseau de Paris. Le second octet
désigne le numéro de département, le troisième le "type" de machines (clients, serveurs..) et le
quatrième octet désigne les interfaces ethernet. Chacun de ces trois sites dispose de 65534 adresses
IP attribuables à des hôtes. Le troisième octet de l'adresse, qui définit les "types d'hôtes" selon
ANF, permet de distinguer les stations de travail des serveurs, les routeurs des téléphones, etc.. Par
exemple, l'adresse IP 10.13.1.10 désignera une machine à marseille (13), de type serveur (1). L'adresse
10.69.20.5 désignera un téléphone (20) à Lyon (69). Le tableau suivant résume la répartition des
adresses IP au sein du réseau ANF.
Chacun des réseaux énumérés ci-dessus contient 65534 IPs adressables à des hôtes.
Note
Les imprimantes et autres périphériques de bureautique sont reliés aux stations de travail. Le
troisième octet des imprimantes réseaux est le même que les postes clients (2).
Le schéma ci-dessous représente l'interconnexion entre les segments WAN et LAN de la société. La
même configuration est appliquée sur les trois sites de l'entreprise.
2
L'architecture du SI ANF
Le modem SDSL offre un débit de 4 Mb/s, (garanti 1 Mb/s). Le pare-feu VPN route toutes les
connexions VPN vers le boitier SDSL ainsi que les autres types de requêtes. Cependant, une règle
dans le boitier pare-feu agît de sorte que si les connexions VPN occupent 10% de la bande passante,
le reste du trafic (qui est en grande majorité des requêtes http) est rerouté vers le segment ADSL.
Le SI de Marseille
Les logiciels
Progiciels d'Entreprise spécialisés sur le métier d'ANF
• Altaïx, en production depuis plusieurs années dans la société, est l'un des principaux outils utilisé
chez ANF. C'est une solution de gestion du patrimoine immobilier pour le compte de tiers, de gestion
du patrimoine immobilier de biens détenus. Pour toute entreprise de type Assurances, Banques,
Foncières, Gestionnaires de centres commerciaux, SCPI, Altaix constitue un outil conçu pour la
gestion et la rationalisation du patrimoine immobilier.
• Cegid, produit récent, est un progiciel de comptabilité. Son implémentation fut votée par les
décideurs de l'entreprise il y a plus d'un an. Cette décision relève d'une volonté stratégique
d'implanter un logiciel de comptabilité dedié. Cegid est à l'heure actuelle en phase pilote, hebergé sur
deux serveurs dediés. L'un servant à héberger l'application "en dur",qui fournit les clients desktop,
l'autre servant d'environnement pour la version Web du serveur.
• XRT, un progiciel clé en main de gestion de trésorerie. XRT est exploité en parallèle avec des
logiciels comme Altaïx ou Cegid, mais il est plus spécialisé dans la gestion de trésorerie.
3
L'architecture du SI ANF
Important
ANF développe en interne des scripts interfaçant les fonctionnalités et les bases de données
des différents logiciels utilisés. Tous les types de logiciel communiquent ainsi au travers de
ces fonctionnalités ajoutés à la demande.
• MOOS (Microsoft Office Sharepoint Server), un point d'accès pour partager en réseau les
documents conçus avec Microsoft Office.
Les Matériels
• Trois enregistreurs de bande.
• Un serveur de messagerie.
• Un contrôleur de domaine secondaire faisant aussi office de périphérique de stockage pour les
scanners de documents en réseau présents dans le bâtiment.
• Un serveur HTTP qui héberge une application métier accessible via un simple navigateur.
• Un ordinateur de bureau recyclé en pare-feu et s'appuyant sur un noyau Open-Source. Son rôle est
d'assurer le filtrage Wan/Lan/Dmz de la société.
• Un ordinateur de bureau travaillant de façon autonome, sans intervention humaine, dont la tâche
est d'extraire des données d'une base métier, et de les transmettre aux employés concernés via le
serveur de messagerie interne, en utilisant un client de messagerie. Cette machine stocke également
les documents numérisés depuis un périphérique d'acquisition d'image distant qui requiert une
technologie logicielle spécifique.
• Un serveur de fichiers qui stocke à la fois les données des collaborateurs, les données à sauvegarder
en provenance des autres serveurs, mais aussi la base de données d'une troisième application métier.
4
L'architecture du SI ANF
• Contrôleur
de
domaine
esclave
PAVILLON Quadricore W2K3 10.13.253.205RAID5 Serveur de 4
ML350 Intel Xeon messagerie
3.6Ghz / 2Go Lotus
Ram Domino
Eserver P5 N/A Unix 10.13.1.60 RAID5 Base de 5
IBM données
progiciel
"Altaïx"
Automate de N/A Unix 10 cassettes Sauvegarde 6
sauvegarde DLT de
BULL 40-80 Go
W2K3 10.13.1.70 RAID5 7
5
L'architecture du SI ANF
• Contrôleur
de
domaine
maître
HP Proliant Dualcore W2K3 192.168.1.2 RAID5 SharePoint 8
DL360 G5 Intel Xeon FTP WSS
2Ghz / 2Go 3.0
Ram
HP Proliant Intel Xeon W2K3 10.13.1.90 RAID1 Serveur Web 9
DL360 3.4Ghz / 2Go Progiciel
Ram "Cegid"
HP Proliant Quadricore W2K3 10.13.1.100 RAID5 Serveur 10
DL380G5 Xeon Intel "lourd" Base
2Ghz / 2Go de données
Ram du Progiciel
"Cegid"
HP PRoliant Dualcore W2K3 10.13.1.110 RAID5 SharePoint 11
DL380G5 Xeon Intel MOSS 2007
2,33 Ghz /
4Go Ram
HP Compaq N/A GNU/Linux eth0:10.13.254.253 Pare-Feu / 12
DC7100 DMZ
HP Compaq Dual Intel P4 W2K3 10.13.2.145 IDE Poste 13
DC7100 d'exploitation/
Envoi
d'emails
auto / serveur
de fichier
pour scanner
propriétaire
6
L'architecture du SI ANF
Serveur Cegid(10.13.1.100)
7
L'architecture du SI ANF
Classement des serveurs par ordre croissant d'occupation d'espace disque. Ce classement met l'accent
sur les lecteurs qui atteignent un point critique d'occupation d'espace disque sur certains lecteurs (+
de 90%) même si la somme totale d'occupation d'espace disque sur les serveurs est non critique.
1. Poste d'exploitation
3. Serveur Cegid
8
L'architecture du SI ANF
Note
Les lecteurs "E:" ne sont pas pris en compte dans le classsement puisqu'il s'agît de lecteurs
de CDROM.
Le SI de Lyon
Seules quelques informations brèves sur le système de données de Lyon sont données ici à titre
indicatif. En effet, l'objet du stage concerne d'abord et avant tout une étude dediée au site de Marseille.
Neanmoins, et ce afin de renforcer la disponibilité du site Lyonnais, il est envisageable d'intégrer
les données de Lyon de manière redondantes sur le site de Marseille, en exploitant les ressources
techniques de ce dernier. Un système d'information évolutif est aussi un système d'information sachant
anticiper sa volumétrie de données interne comme externe. Il est conçu pour être capable d'accueillir
les informations provenant de sites distants. A ce titre, une connaissance minimale sur les types de
serveurs et des échanges effectués à Lyon permettent au moins de proposer des solutions d'évolution
dans le cadre du stage qui pourront être mises en place ultérieurement par l'équipe informatique. Le
réseau Lyonnais, comme le révèle le schéma ci-dessous, est bien plus simple, mais surtout moins
tolérant aux pannes. Les données sont sauvées sur bande (SDLT 600), mais les cassettes restent tout de
même sur place, ce qui expose le réseau aux risques physiques (incendies, vols..) de manière critique.
Aucune stratégie n'a encore été mise en oeuvre pour placer les bandes en lieu sûr et assurer leur
rotation. Pour ce qui est des données sauvegardées, seuls les fichiers des utilisateurs sont récupérés
depuis le serveur de fichiers.
9
Chapitre 3. Objectif de la proposition
de stage
Le service IT d'ANF est actuellement en oeuvre sur la définition et la mise en place d'un SLA incluant
une haute disponibilité des flux d'informations. Cette disponibilité passe par une étude de cascade
des sauvegardes, de la répartition des charges d'exploitation de ressources matérielles, mais aussi d'un
temps de réactivité le plus minimal possible en cas de problème critique.
Cassette à placer dans le robot Cassette à placer en lieu sûr Cassette déja présente en lieu
sûr
LUNDI VENDREDI JEUDI
MARDI LUNDI VENDREDI
MERCREDI MARDI LUNDI
JEUDI MERCREDI MARDI
VENDREDI JEUDI MERCREDI
LUNDI VENDREDI JEUDI
MARDI LUNDI VENDREDI
MERCREDI MARDI LUNDI
JEUDI MERCREDI MARDI
VENDREDI JEUDI MERCREDI
10
Objectif de la proposition de stage
Les données enregistrées sur le DLT proviennent d'un serveur de fichiers qui envoie des copies des
fichiers utilisateurs et une copie de chacune des bases SQL tous les soirs. Le schéma ci-dessous
représente le transit des données depuis les serveurs vers les unités de sauvegardes DLT.
Le volume de données à sauvegarder peut varier de l'ordre de 400 Go à environ 1 To. Chacun
des serveurs sur le schéma ci-dessus est équipé en RAID5. Il reste à déterminer s'il est possible de
restaurer une image disque sans causer de perturbations sur les calculs du contrôleur RAID lors de
la reconstruction des sommes.
En résumé, il faut determiner l'indice de performance de chacun de ces serveurs (bande passante,
occupation processeur, capacité de stockage..) pour apporter des éléments de réponses à deux questions
essentielles sur ce projet :
• Comment optimiser les sauvegardes en vue de renforcer la tolérance aux pannes critiques ?
• Quelle technologie sera utilisée pour sauvegarder les OS serveurs, et ou seront stocké les images ?
Chronologie du stage
• Semaine 1 : Mise en forme et validation des objectifs du projet avec le service informatique.
Préparation des supports, organisation.
11
Objectif de la proposition de stage
12
Chapitre 4. Inventaire matériel via une
plate-forme d'Asset Management
Déploiement d'OCS Inventory NG
Contexte technique
Au jour de la rédaction de ce document, l'équipe de développement d'OCSING propose la version
1.02 RC2 DLTant du 01/05/2008 pour les serveurs GNU/Linux, et la version 1.01 pour les serveurs
Microsoft Windows DLTant du 22/02/2007.
Pour les besoins du présent audit qui déterminera la solution finale de backup à mettre en place,
le serveur OCSING sera installé sur le serveur de fichiers (et de contrôleur de domaine) "ANF-
IMMO-FIC", équipé de Windows Server 2003 Entreprise Edition , et ce d'après le souhait du service
informatique d'ANF. Ce serveur effectue déja d'importantes tâches critiques, mais le peu de ressources
requises par un logiciel de type web comme OCSING permet aisément son implémentation sans
affecter l'hôte de manière à mettre en péril la stabilité du système. Pour ce qui est de la plate-forme
web, XAMP, une solution "clés en main" de déploiement pour Apache/Php/Mysql sera installée. Le
choix de cette solution repose sur les dépendances avec Perl, car ce dernier est utilisé par OCSING.
Tous les systèmes d'exploitation sur lesquels seront déployés les versions clients/serveurs d'OCS sont
sous licence Microsoft Windows. La version d'OCSING la plus à jour pour les architectures Microsoft
est la version 1.01. Par conséquent, seul le logiciel "packager" (nécessaire pour l'installation en réseau)
est disponible dans la dernière version d'OCSING compilée pour les systèmes Microsoft, à savoir la
version 1.02 Release CandiDLTe.
Note
Une procédure préparatoire en vue d'une mise à jour vers une version plus récente de OCSING
pour clients/serveurs Microsoft Windows est incluse dans ce document.
Fichiers requis
Le téléchargement d'OCSING pour la version 1.01 peut s'effectuer depuis la page des téléchargements
[http://www.ocsinventory-ng.org/index.php?page=1-01] sur le site officiel du projet OCSING. Cette
page web est à consulter régulièrement pour connaître les publications d'éventuelles mises à jour du
produit.
Nom Description
OCSNG_WIN32_AGENT_1.01_repack.zip Archive de "packaging" contenant les différentes
versions clientes nécessaires à OCS
OCSNG_WIN32_SERVER_1.01.zip La version serveur, qui contient le fichier Setup
serveur
Le constructeur de package pour un déploiement
OCSNG_WINDOWS_PACKAGER_1.02_RC2.zip
client via le réseau. Un fichier intitulé
ocspackage.exe sera produit
13
Inventaire matériel via une plate-
forme d'Asset Management
Ces trois archives ont été mises à disposition des administrateurs sur le serveur ANF-IMMO-FIC
[\\10.13.1.70\informatique\OCSING]. D'autre part, une version du fichier ocspackage.exe déja
compilée pour ANF est disponible à cette URL. Néanmoins, la procédure ci-dessous décrit tout de
même comment générer ce fichier.
Important
Lors de cette installation, vérifiez que XAMP soit bien coché dans la liste des extensions
qui seront installées.
Cliquez sur Suivant après avoir validé tous les choix, puis enfin, validez l'installation du serveur
en cliquant sur le bouton Installer.
Renseignez les champs avec les paramètres SQL correspondants. (Par défaut, le compte
utilisateur est "root", le mot de passe reste vide, et le nom d'hôte est 127.0.0.1 . Validez en
appuyant sur Send...
6. L'écran suivant vous informe de l'étât de l'installation. A la fin, cliquez sur Soumettre la requête
en laissant le champ de TAG vide.
14
Inventaire matériel via une plate-
forme d'Asset Management
7. Poursuivez jusqu'a ce que la page web vous confirme la fin de l'installation. Un message indique
que l'identifiant par défaut pour se connecter à OCS est "admin" pour le compte utilisateur, et
la même chose pour le mot de passe.
Vous pouvez à présent vous connecter à la console d'administration d'OCS en allant à la page
d'accueil d'OCSINV [http://localhost/ocsreports/index.php].
15
Inventaire matériel via une plate-
forme d'Asset Management
Cette étape est maintenant terminée. Effacez l'archive et le répertoire présents sur le
bureau.
Important
Le client OCSINVENTORY NG peut-être installé de plusieurs façons :
• Installation par stratégie GPO (Group Policy Object) en tant que service
• Installation par stratégie GPO (Group Policy Object) en tant que programme individuel
Note
Seules les installations "manuelle en tant que service" et "stratégie GPO en tant que service"
sont couvertes par ce document puisque ce sont les méthodes d'installation retenues pour le
stage. La raison du choix de ces méthodes tient du fait que les développeurs recommandent
ces méthodes dans leur documentation officielle, mais surtout, le choix de faire résider le
programme OCS en tant que service sur les postes clients offre de nombreux avantages:
D'une part, le client n'est lançé qu'une seule fois au démarrage de la machine, et pas à chaque
ouverture de session utilisateur. D'autre part, un logiciel fonctionnant en tant que service ne
nécessite pas d'intervention humaine pour mettre à jour les informations, et se gère de façon
autonome.
16
Inventaire matériel via une plate-
forme d'Asset Management
Vous pouvez éventuellement poursuivre cette procédure sur les autres serveurs présents sur le
réseau et qui doivent être recensés par OCSINVENTORY NG si nécessaire.
Cette étape est maintenant terminée. Effacez l'archive et le répertoire présents sur le
bureau.
Le Lanceur OcsLogon.exe est un petit outil conçu pour être exécuté à l'intérieur d'un script de
démarrage ou d'une GPO Active Directory. Son rôle est de lancer l'agent OCS Inventory NG sur la
machine, et installera l'agent si ce dernier n'est pas présent sur la machine.
17
Inventaire matériel via une plate-
forme d'Asset Management
3. Depuis le bureau Windows du serveur "ANF-IMMO-FIC", cliquez sur l'icône de gestion des
utilisateurs et ordinateurs Active Directory.
Dans la fenêtre qui apparaît, cliquez-droit sur l'entitée "anf-immobilier" (cadre de gauche) et
choisissez "Propriétés".
Double cliquez sur "démarrage", puis cliquez sur "Ajouter" puis sur "Parcourir".
Cette étape est maintenant terminée. Effacez l'archive et le répertoire présents sur le
bureau.
18
Inventaire matériel via une plate-
forme d'Asset Management
19
Inventaire matériel via une plate-
forme d'Asset Management
20
Inventaire matériel via une plate-
forme d'Asset Management
/S /server:10.13.1.70 /np
21
Inventaire matériel via une plate-
forme d'Asset Management
6. Il faut à présent mettre le fichier à disposition au sein de l'application web. Rendez-vous sur
l'interface Web d'OCSING [http://localhost/ocsreports/] puis cliquez sur l'icône des packages.
22
Inventaire matériel via une plate-
forme d'Asset Management
Le fichier ocspackage.exe est désormais prêt à être déployé automatiquement sur le réseau
via le fichier Ocslogon.exe.
Cette étape est maintenant terminée. Effacez l'archive et le répertoire présents sur le
bureau.
Déploiement de GLPI
GLPI est un gestionnaire libre de parc informatique. Son rôle est d'aider les administrateurs IT dans leurs
différentes tâches de gestion d'un parc informatique, de la répartition des tâches, au suivi technique des
équipements, des contrats avec les clients et les prestataires, au suivi de la chaîne d'approvisionnement, des cycles
de fin de vie, etc.. GLPI est un environnement de gestion complet qui assure un audit permanent de l'étât d'un parc
informatique en vue d'une amélioration continuelle.
Contexte technique
Une ancienne version de GLPI existe sur la même machine. Hors, pour les besoins d'OCS
INVENTORY, il à fallu mettre à jour l'environnement Web Apache/Php/ et Mysql vers des versions
23
Inventaire matériel via une plate-
forme d'Asset Management
plus récentes. Une copie de sauvegarde de la base de données GLPI fut effectuée, ainsi qu'une
sauvegarde intégrale de l'environnement Mysql actuel. Enfin, le répertoire Web d'Apache fut
conservé en l'étât, avec les fichiers de la version de GLPI utilisée jusqu'a lors.
Le but de cette tâche est d'assurer la migration vers une nouvelle version de GLPI, et d'interfacer cette
nouvelle version avec la toute dernière version de OCSINVENTORY NG.
Fichiers requis
Les mises à jour de GLPI sont téléchargeables depuis le site officiel [http://glpi-project.org]. La version
0.70.2 est disponible sur le serveur de fichiers ANF-IMMO-FIC [\\10.13.1.70\informatique\GLPI].
Une archive TAR nommée glpi-0.70.2.tar.gz contient les sources de GLPI. La procédure
d'installation de GLPI indique la marche à suivre pour déployer GLPI sur un serveur XAMPP.
2. Il faut ensuite décompresser l'archive TAR GZ. On obtient alors l'arborescence suivante :
24
Inventaire matériel via une plate-
forme d'Asset Management
Choisissez Français (fr_FR) dans la liste qui apparaît alors à l'écran et cliquez sur le bouton
"OK".
25
Inventaire matériel via une plate-
forme d'Asset Management
6. Avant de procéder à l'installation définitive, GLPI teste l'environnement PHP afin de déterminer
si tout est conforme à l'installation
7. Il faut maintenant indiquer à glpi comment se connecter à la base de données Mysql du serveur
de fichier, laquelle fut installée par XAMPP.
Renseignez simplement le nom d'utilisateur et le mot de passe nécessaire. Par défaut, le nom
d'utilisateur Mysql est "root", le mot de passe est vide (pas de mot de passe) et le nom du serveur
est "localhost".
26
Inventaire matériel via une plate-
forme d'Asset Management
Sur l'image ci-dessus, on crée une nouvelle base de données dans le champ de saisie en bas,
laquelle sera nommée glpi2008, puis l'on clique sur "Continuer".
Important
Il ne faut jamais supprimer l'utilisateur "helpdesk". Ce dernier est un utilisateur système
utilisé par GLPI pour gérer les tickets d'incident.
10. Cliquez sur le bouton "Continuer". Le tableau ci-dessous rappelle les identifiants utilisateurs et
mots de passe par défaut pour GLPI.
Login Pass
glpi glpi
tech tech
normal
post-only post-only
11. Cliquez sur le bouton "Utiliser GLPI" pour valider la bonne marche de l'installation. Vous devriez
voir apparaître l'écran suivant :
Cette procédure est terminée. Effacez le fichier glpi-0.70.2.tar.gz s'il est encore présent
dans le répertoire C:\Program Files\OCS Inventory NG\xampp\htdocs du serveur
GLPI
12. Il faut maintenant synchroniser la base de données OCSINVENTORY avec celle de GLPI. Pour
ce faire, il faut cliquer sur le menu "configuration", puis "générale", puis sur l'onglet restriction.
Enfin, positionnez la liste déroulante "Activer le mode OCSNG" sur "Oui", puis "Valider".
13. Dans le menu "configuration" se trouve désormais un élément nommé "Mode OCSNG".
Accédez à ce menu. Vous verrez apparaître un tableau avec différents "sites" à partir desquels
est exécuté OCSNG.
27
Inventaire matériel via une plate-
forme d'Asset Management
15. A l'écran suivant, vérifiez que les paramètres Mysql soient corrects, puis détaillez les options
d'import que vous souhaitez intégrer depuis OCSNG vers GLPI, puis cliquez sur "Valider" en
bas de l'écran.
16. Après une période aléatoire (décidée par le fichier de configuration du client OCS) les machines
doivent apparaître sous GLPI.
28
Inventaire matériel via une plate-
forme d'Asset Management
En attendant, les mises à jour des logiciels se font séparément, ce qui peut compliquer la tâche et poser des
problèmes d'incompatibilité.
1. Il faut tout d'abord exporter les bases de données MySQL et les stocker sur un lecteur réseau. La
plate-forme XAMPP propose le gestionnaire de base de données MySQL phpmyadmin.
2. Ensuite, il faut séléctionner la base de données glpi2008 dans la liste déroulante de gauche
29
Inventaire matériel via une plate-
forme d'Asset Management
30
Inventaire matériel via une plate-
forme d'Asset Management
3. Il faut maintenant déterminer le nom du fichier de sauvegarde. Pour ce faire, nous allons nommer
automatiquement le fichier de sauvegarde suivant la nomenclature suivante :
• L'année en cours
• Le mois en cours
• Le jour
La syntaxe à saisir dans le champ de texte intitulé Modèle de nom de fichier est la suivante :
%y/%m/%d__SERVER__DB__
Note
La chaîne de caractères qui compose le masque du nom de fichier peut-être mémorisée
par phpmyadmin si l'on coche la case "se souvenir du modèle"
Cliquez enfin sur le bouton Transmettre à gauche et choisissez la méthode de compression "zippé"
pour produire le fichier de sauvegarde final.
Le serveur Web Apache transmet un fichier dont le nom est généré dynamiquement. Enregistrez
ce fichier sur un lecteur réseau et conservez le pour une restauration éventuelle de la base en cas
de problème durant la mise à jour.
31
Inventaire matériel via une plate-
forme d'Asset Management
4. Renouvellez cette même opération pour sauvegarder la base de données d'OCSING. Le nom de
la base de données pour ocs se nomme ocsweb.
5. A présent que les bases sont sauvegardées, il faut déplacer les répertoires listés ci-dessous depuis
le serveur Web vers un lecteur réseau disponible.
Enfin, les procédures d'installation (et de mise à jour) de GLPI et OCSING sont décrites sur les
sites officiels des produits. Réferez vous à ces guides d'installation pour connaître les spécificités
des versions.
32
Chapitre 5. Préparation du support de
sauvegarde
Contexte technique
Le service informatique d'ANF a démarché des prestataires offrant des services de sauvegarde de
fichiers. Dans la plupart des devis retournés, le coût de l'obtention des licences d'exploitation des
logiciels était jugé trop élevé. En effet, si beaucoup de compétiteurs existent sur le marché de la
sauvegarde de données, et que les solutions logicielles, gratuites comme payantes font légion, seuls
quelques produits phares proposent aujourd'hui des solutions utilisant les technologies de pointe pour
se différencier du reste du marché : La sauvegarde et la restauration à distance, ou encore la sauvegarde
dîte "à chaud" sans interrompre le fonctionnement du serveur sont les deux fonctionnalités les plus
demandées à l'heure actuelle. Hors, même s'il existe une pléthore de logiciels spécialisés dans la
sauvegarde de données, seuls quelques produits propriétaire implémentent de telles options de manière
fiable.
Les quelques entreprises propriétaires de tels outils et qui dominent le marché, comme Symantec
ou Acronis en ont bien conscience et savent donc qu'en définitive, peu de produits allient une
fiabilité et une éfficacité équivalente dans le domaine des logiciels gratuits ou Open-Source. Nous
avons donc évalué plusieurs solutions, gratuites comme propriétaires. L'évaluation de ces différentes
solutions à permis de mettre en lumière plusieurs choses : Dans la majeur partie des cas, les logiciels
propriétaires sont les plus fiables à la restauration, et possèdent plus de fonctionnalités de pointe que
les logiciels gratuits, ou Open-Source. L'inconvénient des logiciels propriétaires est d'abord le coût de
leur licence qui s'avère vite élevé, en raison du fait qu'il faille posséder une licence par serveur. L'autre
inconvénient est que ces logiciels sont fermés et ignorent donc toute notion d'intéropérabilité, ce qui
limite sévèrement leur emploi. Certains programmes produisent une image disque dans un format
imposé par le propriétaire, et non conforme aux standards ISO, ce qui rend impossible l'exploitation de
l'image disque produite par un logiciel conccurent, voire même l'utilisation de l'image disque à d'autres
fins que la restauration, comme la virtualisation par exemple. Les logiciels gratuits et Open-Source
sont en revanche beaucoup plus ouverts, nativement intéropérables, et produisent dans la plupart des
cas une image disque au format ISO, ce qui autorise la restauration, la virtualisation via des logiciels
tiers. L'inconvénient des outils gratuits ou Open-Source tient du fait que ceux-ci n'offrent pas la même
fiabilité à la restauration.
Un logiciel propriétaire assure une éfficacité globale de 99,9% quelque soit la charge du serveur
au moment de la création de l'image de la partition. Un logiciel gratuit oscillera entre une fiabilité
de 33,3% à environ 90% selon le logiciel choisi (d'après des tests menés durant le stage sur des
machines virtuelles), et la charge de traitement que traite le serveur au moment de la création de
l'image disque. Notre banc de test à révelé qu'au plus la charge de travail sur le serveur est élevée
au moment de la sauvegarde à chaud, au plus il est risqué de s'en remettre à des logiciels gratuits
ou Open-Source à cause du traffic généré par des applications comme Actice Directory ou Microsoft
Mysql Server. C'est la raison pour laquelle certains développeurs de logiciels oeuvrent par exemple
dans la réalisation d'outils de pointe spécialisés dans la sauvegarde de bases de données SQL en
cours d'exploitation. Il est moins risqué d'opérer par sauvegarde "à froid" (OS et services arrêtés) si
l'on souhaite néanmoins utiliser des logiciels Open-Source (par exemple pour des motifs budgétaires)
s'appuyant sur des technologies standard. C'est le talon d'achille de ce modèle : Les logiciels gratuits
et Open-source ont certes démontré leur fiabilité dans la sauvegarde à froid, mais ont encore bien des
progrès à faire avant de rivaliser avec les logiciels propriétaires dans le domaine de la sauvegarde à
chaud.
Evidemment, les entreprises apprécient grandement le confort des sauvegardes à chaud, même si
certaines d'entre elles peuvent s'en passer. Une société comme ANF dont le flux d'information est
essentiellement consituté de données comptables n'a pas à effectuer des opérations d'écriture en
temps réel. Néanmoins, bon nombre de techniciens d'exploitation apprécient la sauvegarde à chaud
simplement parce que celle-ci autorise une extrême souplesse dans la planification des sauvegardes,
33
Préparation du
support de sauvegarde
et évite ainsi l'écriture fastidieuse de scripts d'automatisation pour déclencher la création d'une image
en dehors des heures ou les techniciens supervisent la bonne marche de l'exploitation du SI. Dès
lors que l'on sait que la méthode de sauvegarde à froid, même si elle est considérée comme la plus
fiable, impose une interruption de service pour maintenance, on lui préferera de facto les logiciels
capables de faire des sauvegardes à chaud, et ce "pour le côté pratique", lorsque l'on sait également
que certaines technologies phares de sauvegarde à chaud ont fait leurs preuves dans ce domaine, et
qu'elles sont disponibles aujourd'hui. De tels logiciels utilisent des algorithmes complexes d'accès
en lecture/écriture et de vérouillage des partitions. La plupart de ces technologies de pointe sont par
conséquent brevetés, à l'instar de la technologie Microsoft VSS (Volume Shadow Copy Service). En
conséquence, le coût à supporter pour le client final est si élevé que les entreprises qui n'en ont pas un
besoin impératif finissent en général par y renoncer, et les employés des services informatique de ces
entreprises préfèrent soit négocier un créneau d'interruption de service dans le SLA pour réaliser des
sauvegardes à froid, soit se lancer dans l'élaboration d'une méthode complexe et fastidieuse visant à
mettre en place un système automatisé de backup/restore (toujours à froid) qui sera déclenché la nuit
à travers des fichiers batchs qui appellent des utilitaires de sauvegardes. Dans un tel cas de figure,
une décision est à prendre entre l'investissement coûteux dans une solution professionnelle alliant
souplesse et fiabilité, et l'élaboration d'une procédure "maison" de backup à froid. Le choix réside
entre un investissement financier, ou un investissement en temps et ressources humaines.
Le tableau ci-dessous est le résultat de recherche et de tests comparatifs menés durant le stage. Les
logiciels choisis pour ce banc de test sont issus à la fois de solutions proposées par des prestataires
d'ANF spécialisés dans la sauvegarde de données, et à la fois par une séléction de logiciels conccurents
trouvés après une recherche sur Internet, notamment auprès de sites spécialiés en informatique. Chacun
de ces logiciels furent testés lors du banc d'essai (benchmark) en condition réelle de backup et
restauration. Pour chacun des produits, trois tests de backup/restore furent réalisés.
La prise en compte de différents facteurs, (type de licence, éfficacité lors des tests, type de sauvegarde,
retours d'expérience à l'utilisation, prix) à permis de trouver une solution qui soit fiable lors du
34
Préparation du
support de sauvegarde
processus de restauration des données, garantissant un résultat réel de remise en marche en cas de
perte d'un serveur, et ce pour un coût aussi minimal que possible. Hors, dans ce domaine, les sociétés
qui proposent des solutions logicielles et matérielles de backup proposent en général des produits
dont le coût des licences s'avère être un investissement lourd compte tenu du nombre de serveurs à
prendre en compte (9 serveurs sont concernés pour le cas d'ANF : 7 à Marseille et 2 à Lyon). Un
prestataire externe fut consulté pour répondre à un appel d'offre. Sa solution consiste à mettre en place
le produit Acronis True Image. Si la solution du prestataire est retenue, ANF devra dépenser 9 fois
les 945 Euros de licence pour être en conformité avec les termes du contrat utilisateur final d'Acronis.
Cela représenterait donc pour l'entreprise un coût de 8505 Euros TTC pour l'achat des seules licences.
A cette somme ne s'ajoute aucun support technique, aucune formation au produit, ni même la mise en
place d'un périphérique de stockage pour héberger les images serveurs. ANF devrait en outre financer
l'achat d'un NAS, soit environ 750 Euros TTC pour un NAS d'un Terra-Octet monté en RAID5,
toujours d'après les tarifs conseillés par les divers prestataires d'ANF. Soit un total de 9255 Euros
TTC à investir pour disposer d'une procédure légale et fiable de restauration de serveurs. Toutefois,
la fiabilité de cette solution reste relative et imprécise sur des serveurs hébergeant un annuaire Active
Directory ou des bases de données SQL. Ni les constructeurs de matériel, ni les développeurs de ces
solutions logicielles payantes sont en mesure de communiquer avec précision la probabilité d'erreur de
copie en fonction de la montée en charge des serveurs, ni sur les conséquences des accès multiples en
écriture, au moment ou le processus de backup enregistre la copie d'un fichier ouvert. Par conséquent,
une solution aussi coûteuse qu'Acronis True Image 11 ne garantit pas l'intégrité de la sauvegarde des
données sur une base de données SQL. Hors, les bases de données SQL représentent sans doute le
type de données le plus important à sauvegarder pour une entreprise comme ANF. Au prix demandé,
la solution proposée par Acronis ne répond pas à la demande d'ANF qui aurait souhaité pour ce tarif
un logiciel disposant d'un algorithme capable de prendre en charge une base de données SQL en
production. Cependant, Acronis offre une solution de sauvegarde de base de données pour serveurs
MS SQL Server, mais la licence par serveur coûte environ 320 Euros la licence, par serveur, soit
1280 Euros à rajouter pour les 4 serveurs hébergeant le service MS SQL entre Marseille et Lyon. Au
total, pour sauvegarder les systèmes d'exploitation ainsi que les bases de données, il faudrait prévoir
un investissement de 9255 Euros + 1280 Euros soit un coût total de 10535 Euros, soit le prix d'une
voiture neuve.
La solution décrite ci-dessous, basée sur un Live CD Bart PE Builder et de DriveImageXML offre un
excellent compromis entre coût et fiabilité. En effet, DriveImageXML, qui est véritablement le logiciel
utilisé pour réaliser la sauvegarde, offre de nombreux avantages :
• Possibilité de scinder une image disque en plusieurs fichiers pour accélerer les accès disques
• Possibilité de consulter les fichiers présents dans l'archive sans restaurer grâce à un fichier .xml
contenant l'arborescence.
DriveImageXML semble être le logiciel le mieux adapté au projet : Il permet les backups à chaud,
la planification, et utilise une technologie d'accès aux fichiers présente nativement sur les serveurs
windows... Pourtant, l'inconvénient majeur est que ce programme n'est pas conçu pour restaurer
les partitions système, ce qui est pourtant notre objectif. En effet, DriveImageXML à été fait
pour fonctionner en mode graphique, sous Microsoft Windows. Il n'existe aucun CD-ROM ou
quelquonque dispositif d'amorçage permettant de restaurer une partition système sauvegardée avec
DriveImageXML en bootant dans un environnement particulier. Cependant, Bart Lagerweij [http://
www.nu2.nu/about/bart/], un développeur originaire des Pays-Bas, à eu l'idée de concevoir un utilitaire
35
Préparation du
support de sauvegarde
permettant de créer un Live CD basé sur Microsoft Windows XP, nommé PEBuilder. Grâce à sa
version "Live CD" de Windows, on peut être en mesure de restaurer une partition système créee
avec DriveImageXML. Un plug-in DriveImageXML adapté à PEBuilder existe. Il permet d'intégrer
DriveImageXML dans la compilation d'un CD-ROM réalisé avec PEBuilder.
• Phase Test
• Série de 10 tests sur des machines virtuelles clonées à partir de serveurs réels de production
(serveur d'application progicielle comptable, et serveur Active Directory)
• Série de 10 tests sur un serveur Active Directory (hôte physique) déployé spécifiquement pour
la phase de test, avec un poste client rattaché au domaine effectuant une requête gpudapte /force
vers le serveur chaque minute durant le processus de création de l'image serveur à chaud
• Phase Pilote
• Création d'une image disque du serveur de l'application Web de comptabilité (Cegid) à Marseille
• Création d'une image disque du serveur de l'application Web de comptabilité (Cegid) à Lyon
• Création d'une image disque du contrôleur de domaine Active Directory principal actuellement
en production à Marseille
• Test de restauration par Mr Ballester Olivier des trois images en environnement réel sur un serveur
en production dans les locaux de Lyon, le Mardi 1er Juillet 2008, dans le cadre d'une visite
bimensuelle de maintenance préventive tel que le prévoit le SLA du service informatique.
• Phase Production
• Planification d'un calendrier de sauvegardes périodiques des systèmes d'exploitation des serveurs
Fichiers requis
Pour DriveImageXML
DriveImageXML peut-être téléchargé sur le site runtime.org [http://www.runtime.org/
dixmlsetup.exe].
36
Préparation du
support de sauvegarde
Installation de PEBuilder
Cette section décrit la procédure à suivre pour installer PEBuilder.
Si vous le téléchargez depuis le site, dans la liste des mirroirs, sélectionnez le miroir le plus proche
géographiquement.
37
Préparation du
support de sauvegarde
Laissez le chemin par défaut (à la racine de C:\) car nous nous servirons de ce chemin plus tard
pour installer les modules SATA et driveimageXML.
38
Préparation du
support de sauvegarde
39
Préparation du
support de sauvegarde
Le support du clavier Français (lire section "Création d'un CD-ROM de boot") sera désormais
intégré par défaut lors de la création du CD-ROM de récupération.
40
Préparation du
support de sauvegarde
Important
N'exécutez surtout pas le fichier Get_Files.cmd depuis le serveur de fichiers, sans
quoi il sera incapable d'interpreter les changements de chemin présents dans son script
correctement. Faîtes plutôt une copie sur le bureau du poste qui contient l'installation
de PEBuilder.
3. Après son exécution, le fichier Get_Files.cmd va créer des fichiers dans le répertoire courant.
41
Préparation du
support de sauvegarde
42
Préparation du
support de sauvegarde
Important
Un bug de compilation empêche le plugin de fonctionner correctement dans cette version.
Pour le corriger, il suffit de redéfinir le bon chemin des fichiers du compilateur pour ce plugin.
Une fois le fichier ouvert, modifiez les lignes comme dans l'exemple ci-dessous (les lignes concernées
sont marquées avec les modifications à faire en gras).
Fichier C:\pebuilder3110a\plugin\TestDisk\Testdisk.inf:
; Testdisk.inf
; PE Builder v3 plugin INF file for Testdisk and PhotoRec 6.9
; Plugin by Ahmed Hossam (Xtreme)
; Xtremesony_xp@yahoo.com
; Made For Christophe GRENIER (www.cgsecurity.org)
; © Windows Xpire Tech Center
; Windows Xpire Tech Center is represented by Xtreme
; CodeName: Radw
[Version]
Signature= "$Windows NT$"
[PEBuilder]
Name="(Xtreme) Disk Tools: TestDisk and PhotoRec -Press CONFIG to Enable-"
Enable=1
Help=Help.htm
config=Get_Files.cmd
[WinntDirectories]
a="Programs\testdisk",2
b="Programs\testdisk\c",2
[SourceDisksFiles]
files\testdisk_win.exe=a,,1
files\photorec_win.exe=a,,1
files\cygwin1.dll=a,,1
files\c\cygwin=b,,1
[Software.AddReg]
0x2, "Sherpya\XPEinit\Programs","Disk Tools\TestDisk - Fix MBR
and Recover lost partitions","%systemdrive%\Programs\testdisk\testdisk_win.exe"
43
Préparation du
support de sauvegarde
; Remove the comment ";" from the below lines if you are going to use NU2 menu
[Append]
nu2menu.xml, testdisk_nu2menu.xml
Vous devez modifier la ligne de caractères files\cygwin=b,,1 par files\c\cygwin=b,,1 afin que le
fichier batch Get_Files.cmd puisse trouver le chemin de cygwin pour compiler le plugin, puis
décommenter les deux dernières lignes pour voir apparaître TestDisk dans le menu "GO" du CD-ROM.
44
Préparation du
support de sauvegarde
45
Préparation du
support de sauvegarde
2. Si PEBuilder n'est pas déja lancé, démarrez le en cliquant sur l'icône du bureau :
46
Préparation du
support de sauvegarde
Si PEBuilder est lancé pour la première fois, il vous sera demandé de lire et d'accepter les termes
de la licence pour continuer.
La fenêtre suivante demande s'il faut chercher les fichiers de configuration de Microsoft Windows
sur cet ordinateur. Insérez un disque Microsoft Windows 2003 Server dans le lecteur de CD-
ROM.Validez cette étape en cochant "Oui". PE Builder va trouver les fichiers d'installation de
Windows sur le CD.
47
Préparation du
support de sauvegarde
La lettre du chemin ou se trouve les fichiers présents sur le CD-ROM doit s'afficher :
Choisissez également "Créer l'image ISO" si vous souhaitez conserver une image disque.
48
Préparation du
support de sauvegarde
3. Il faut maintenant ajouter le module DriveImageXML au cd. Cliquez sur le bouton "Plugins"
pour accéder à la fenêtre de gestion des plugins, puis cliquez sur "Ajouter".
Note
Assurez vous que le plugin DriveImageXML soit positionné sur "Oui" dans la colonne
"Activer" dans la fenetre des plugins :
49
Préparation du
support de sauvegarde
1. Démarrez PEBuilder depuis l'icône du Bureau ou le menu démarrer si celui-ci n'est pas déja lancé.
2. Depuis la fenêtre principale, cliquez sur le bouton "Plugins" pour afficher la liste des plugins
disponibles.
50
Préparation du
support de sauvegarde
4. PEBuilder vous demande de saisir le nom du répertoire du plugin. Il affiche "savepart" par défaut.
Cliquez sur OK.
51
Préparation du
support de sauvegarde
5. Vous devez à présent voir le plugin présent dans la liste. Il s'intitule "Partition-Saving", et son
chemin relatif depuis le répertoire des plugins de PEBuilder est situé dans savepart\savepart.inf.
Lors de la prochaine création d'un CD-ROM avec PEBuilder, Partition-Saving sera pris en charge.
1. A présent, et toujours via les plugins, il faut installer un gestionnaire avancé de disques logiques
qui sera compilé avec le reste sur le CD-ROM final. Ce gestionnaire est un package de drivers
prenant en charge les technologies RAID et SATA.
52
Préparation du
support de sauvegarde
Important
A ce stade de la procédure, veillez à fermer complètement l'application PE Builder. En
effet, PEBuilder devra être relancé pour prendre en compte les modifications qui vont
être effectués ci-dessous.
Créez sur votre disque dur la ressource C:\DPsBase\ puis extrayez le contenu du fichier
DPs_BASE_805.exe depuis le serveur de fichier vers l'intérieur de ce répertoire.
Important
Il ne faut surtout pas dézipper l'archive
DP_MassStorage_wnt5_x86-32_805.7z dans le répertoire cible. Laissez le
fichier compressé tel quel. Le programme s'en chargera.
53
Préparation du
support de sauvegarde
Important
Ne changez surtout pas la langue de l'installation. Le programme d'installation est
instable lorsque l'on change de l'Anglais vers le Français.
Cliquez sur le bouton Suivant (flèche vers la droite) et poursuivez jusqu'a arriver ici :
54
Préparation du
support de sauvegarde
A cet écran, choisissez "Bart PE" puis cliquez sur le bouton "Browse".
Note
Dans le chemin à indiquer, naviguez jusqu'a C:\pebuilder3110a\plugin et assurez vous
ensuite que la partie "Select location platform" sur la photographie ci-dessus pointent
bien vers C:\pebuilder3110a\plugin et que l'OS detecté soit bien Bart PE (mention juste
en dessous). Si cela ne fonctionne pas, recommencez en indiquant le bon chemin pour
aller chercher les plugins. Vous devez voir apparaitre "DriverPacks" en dessous de
Location. Cliquez sur "DriverPacks" pour poursuivre.
A l'écran suivant, assurez vous d'avoir bien copié le fichier depuis le serveur [\
\10.13.1.70\informatique\BackupISO\DP_MassStorage_wnt5_x86-32_805.7z] vers le chemin
local [C:\DPBase\DriverPacks\DP_MassStorage_wnt5_x86-32_805.7z] et assurez vous
également que la case "DriverPack Mass Storage text mode" soit cochée.
55
Préparation du
support de sauvegarde
56
Préparation du
support de sauvegarde
Un message indique qu'il faut appuyer sur le bouton "refresh" pour voir le plugin DriverPacks
dans la liste des plugins.
3. A présent, il faut lancer PE Builder depuis l'icône du bureau, puis cliquer sur le bouton "Plugins".
57
Préparation du
support de sauvegarde
Vous devez ensuite pouvoir visualiser la même chose que l'image ci-dessous dans la liste des
plugins. Si ce n'est pas le cas, appuyez sur le bouton "Refresh".
Important
Assurez vous que le premier fichier "BASE.inf" soit bien positionné sur "Non" dans la
colonne "Activer". Ce fichier n'est inclus que pour configurer le plugin et ne doit pas
être inclus dans la compilation finale. En revanche, le second, "MassStorage.inf" fera
partie de la compilation finale et doit par conséquent être positionné sur "Oui" dans la
colonne "Activer".
Cliquez sur le bouton "Fermer" pour retourner sous la fenêtre principale de PE Builder.
• Cette étape décrit la marche à suivre pour installer les pilotes des cartes réseaux et périphériques
USB sur le CD-ROM PeBuilder avant sa compilation, ceci afin que le LiveCD PEBuilder puisse
prendre en charge les interfaces réseau, ainsi que les périphériques de stockage USB 2.0.
58
Préparation du
support de sauvegarde
Le tableau ci dessous indique la liste des pilotes à ajouter au CD . Le nom de fichier indiqué
pour chaque ligne dans la colonne "Fichier" correspond aux fichiers stockés à la ressource \
\10.13.1.70\informatique\BackupISO\
Important
Les périphériques réseau et stockage qui correspondent à la machine sur laquelle l'on
souhaite exécuter BartPE doivent impérativement être compilés sur le CD-ROM, sans
quoi les périphériques de stockage et les interfaces réseau ne seront pas reconnus.
Pour que vos pilotes soient pris en charge par PEBuilder, vous devez les placer dans :
L'image ci-dessous illustre un exemple d'organisation des répertoires des fichiers de pilote au
sein de l'arborescence C:\pebuilder3110a\drivers\ :
59
Préparation du
support de sauvegarde
Après que les fichiers soient copiés dans les répertoires adéquats, PEBuilder les utilisera dans la
prochaine création de votre CD-ROM personnalisé. Vous bénéficierez ainsi du support réseau
et USB.
1. Vous êtes à présent connecté au serveur sur lequel vous souhaitez installer la solution
de sauvegarde. Naviguez jusqu'au serveur de fichiers, à l'adresse \\10.13.1.70\informatique
\BackupISO.
Copiez le fichier dixmlsetup.exe vers le bureau de votre serveur et lancez le fichier d'installation
60
Préparation du
support de sauvegarde
61
Préparation du
support de sauvegarde
Enfin, l'installateur vous informe qu'il est prêt à déployer DriveimageXML sur le serveur. Cliquez
sur "Next" pour continuer.
62
Préparation du
support de sauvegarde
Cette procédure est maintenant terminée, cliquez sur "Finish" pour fermer le programme
d'installation.
2. Vérifiez les champs. La source doit être l'emplacement à partir duquel PEBuilder trouvera les
fichiers de Windows. Insérez un CD-ROM de Windows 2003 Server dans le lecteur de CD-ROM,
et assurez vous que le chemin définit dans la source pointe bien vers le lecteur de CD-ROM.
Ensuite, dans la partie "Format de sortie", cliquez sur le bouton "Créer l'image ISO", puis
inscrivez le chemin absolu du fichier .iso qui sera généré.
Note
Vous pouvez également choisir de graver directement le CD-ROM si vous cochez le
bouton "Graver CD-DVD", en spécifiant le logiciel à utiliser et le périphérique de
gravure.
63
Préparation du
support de sauvegarde
3. Pour rappel, si vous souhaitez un CD-ROM prenant en charge les disques RAID et SATA, la
présence des logiciels DriveImageXML et Partition-Saving, vous devez avoir les plugins suivants
actifs :
Si l'un des plugins dans le tableau ci-dessus est manquant, réferez-vous aux autres sections de ce
chapitre pour savoir comment les intégrer.
4. N'oubliez pas non plus le support matériel (RAID, SATA, USB et Réseau).
Voici, pour indication, ce que vous devez avoir dans le répertoire des pilotes réseau :
64
Préparation du
support de sauvegarde
Si l'un de ces éléments manque, réferez vous aux sections indiquées plus haut dans ce même
chapitre pour savoir comment les installer (sections SATA et RAID, ou réseau et USB).
5. Après avoir fait les vérifications nécessaires et vous être assuré que les pilotes et plugins dont
vous avez besoin sont présents, cliquez enfin sur "Compiler".
65
Préparation du
support de sauvegarde
66
Préparation du
support de sauvegarde
Cliquez sur sortir à la fin pour terminer. Vous disposez d'une image ISO ou d'un CD-ROM
personnel fait avec PEBuilder.
67
Chapitre 6. Récupération, sauvegarde
et restauration des serveurs
Ordonnance des procédures en cas de panne
critique
Cette section décrit l'ensemble des procédures à suivre en cas de perte d'un serveur et l'ordre dans
lequel les différentes procédures doivent se succéder pour remettre un serveur en production.
Les pannes de niveau logique représentent toutes les pannes d'origine logicielle. Ces pannes d'origine
multiples peuvent être causées par une mauvaise synchronisation d'opérations de lecture écriture
(erreurs CRC) sur un disque, par l'installation d'un logiciel écrasant ou modifiant des librairies de
liaison dynamiques ou des pilotes de périphériques matériels partagés avec d'autres logiciels, mais
aussi par des défauts de sécurité, par exemple en cas d'intrusion d'un virus, d'un cheval de troie, d'un
ver .... Il se peut également que l'amorçage du serveur soient défaillant (échec au niveau MBR, BIOS
corrompu suite à un problème de mise à jour Firmware...)
Les pannes de niveau physique représentent toutes les pannes d'origine matérielle. Ces pannes
d'origines multiples peuvent être causées par la défaillance d'un périphérique quelquonque directement
ou indirectement sur l'ensemble des éléments qui constituent un serveur, comme un contrôleur RAID,
un disque dur, une barette de mémoire.. A un niveau encore inférieur, ces défaillances peuvent avoir
pour origine la source d'énergie qui alimente un serveur. Ainsi, le déchargement d'une pile, une
surtension électrique, une mauvaise isolation éléctrique peuvent être autant de facteurs à risques
qui augmentent les probabilités de défaillance. A cela doivent être ajoutés les facteurs extérieurs
comme les catastrophes naturelles (inonDLTion, incendie) et les délits (vol, sabotage, dégraDLTion
volontaire).
68
Récupération, sauvegarde
et restauration des serveurs
69
Récupération, sauvegarde
et restauration des serveurs
Une fois le bureau chargé, cliquez sur "GO / Programs / Testdisk - Fix MBR and Recover lost
partitions".
On peut choisir de créer un fichier log à cette étape ou non. Choisissez "No Log" pour passer
cette étape sans créer de fichier log.
70
Récupération, sauvegarde
et restauration des serveurs
Toutes les tables partitions des systèmes ANF sont de type INTEL IBM/PC. Appuyez sur
ENTREE.
4. L'écrans suivant affiche les opérations possibles sur les étâts des tables de partitions.
71
Récupération, sauvegarde
et restauration des serveurs
Dans l'exemple ci-dessus, la première partition est listée deux fois ce qui indique que le système
de fichier est corrompu ou que l'entrée de table de partition est invalide. Le texte "Invalid NTFS
boot" indique plus clairement que le secteur de boot NTFS est défectueux, il s'agit donc d'un
système de fichier corrompu. Seule une partition logique nommé Partition 2 est présente dans
la partition étendue, une partition logique est donc manquante. Choisissez "Quick Search" pour
poursuivre.
Si des partitions ont été créés sous Windows Vista ou en cas de doute, répondez par "Y" pour
confirmer. TestDisk affiche les premiers résultats en temps réél.
Dans l'exemple ci-dessous, TestDisk retrouve deux partitions dont la partition manquante nommé
"Partition 3".
72
Récupération, sauvegarde
et restauration des serveurs
7. Cette étape propose de choisir de réécrire la table des partitions, ou de chercher de manière plus
approfondie et déterminer l'existence d'autres partitions
Vous pouvez choisir ici de forcer la détection d'autres partitions en choisissant "Deeper Search"
ou écrire directement la table des partitions en choisissant "Write".
Note
Si vous souhaitez savoir en détail comment procéder
pour mener une recherche approfondie de partition,
veuillez consulter le site officiel [http://www.cgsecurity.org/wiki/
TestDisk_Etape_par_Etape#Une_partition_est_toujours_manquante:_Recherche_approfondie].
73
Récupération, sauvegarde
et restauration des serveurs
9. Le secteur de boot de la première partition nommé Partition 1 est encore endommagé. Il est temps
de le réparer. Le statut du secteur de boot NTFS est incorrect (bad) mais sa sauvegarde (backup
boot sector) est valide. Ces secteurs ne sont pas identiques.
10. Le secteur de boot et sa sauvegarde sont tout deux valides et identiques l'un à l'autre: le secteur
de boot NTFS a été récupéré avec succès.
74
Récupération, sauvegarde
et restauration des serveurs
Laissez le disque de sauvegarde dans le lecteur de CD-ROM, rebootez, attendez que le bureau
soit chargé. Tentez alors d'accéder à la partition restaurée via l'utilitaire A43 File Management
Utility (GO / Programs / A43 File Management Utility) ou bien la ligne de commande MS-DOS
pour confirmer la réussite ou l'échec de la récupération.
75
Récupération, sauvegarde
et restauration des serveurs
• Double cliquez sur l'icône "DriveImage XML" du bureau depuis le serveur à partir duquel vous
souhaitez faire une sauvegarde. Lorsque le logiciel de sauvegarde se lance, cliquez sur "Backup".
Sélectionnez ensuite le disque vous souhaitez sauvegarder. Identifiez le disque contenant les
données systèmes (C:\) et cliquez ensuite sur "Next".
L'assistant de création de sauvegarde vous confirme les partitions sélectionnées pour effectuer
la sauvegarde.
76
Récupération, sauvegarde
et restauration des serveurs
Cliquez sur "Next" pour continuer. L'écran suivant vous demande de sélectionner un chemin de
destination pour créer l'image ISO de sauvegarde. ANF ne disposant pas encore du NAS prévu
à l'heure actuelle, nous utiliserons un répertoire partagé sur une machine distante.
Spécifiez le chemin du NAS, assurez vous que la case "Split large files" soit cochée (cela optimise
le traitement de la tâche et produit des fichiers plus petits). Cliquez sur l'option "Try Volume
Shadow Services First". Enfin, cliquez sur "Next".
77
Récupération, sauvegarde
et restauration des serveurs
La sauvegarde démarre au bout de quelques instants. La durée totale de cette étape est en fonction
de la quantité de données à sauvegarder, du débit et de la disponibilité de la bande passante sur
le réseau.
Important
ATTENTION! La restauration sur des disques RAID ne fonctionne pas avec
DriveImageXML [http://www.runtime.org/driveimage_faq.htm#raid].
1. Assurez vous que le serveur soit branché sur un onduleur, et que ce dernier soit chargé.
78
Récupération, sauvegarde
et restauration des serveurs
Une fois le CD-ROM de sauvegarde chargé, lancez DriveImageXML depuis le menu "GO /
Programs / DriveImageXML".
2.
A l'étape suivante, une fenêtre vous affiche un simple résumé des partitions présentes sur la
machine. Cliquez sur "Next".
Important
Il ne s'agît pas ici de choisir la partition sur laquelle effectuer la restauration, mais
simplement de disposer d'un aperçu technique détaillé sur les partitions.
3.
Sur l'image ci-dessus, DriveImageXML vous demande de spécifier le nom du fichier XML qui
contient les informations sur l'arborescence des fichiers de la sauvegarde. Cliquez sur la petite
icône en forme de dossier à droite de la barre de saisie pour aller spécifier l'emplacement du
fichier XML.
79
Récupération, sauvegarde
et restauration des serveurs
4.
Allez chercher le fichier sur le disque dur USB [\\10.13.1.70\nas\[dossier du backup]] puis cliquez
sur Ouvrir.
5.
A l'étape suivante, on vous demande de choisir la partition sur laquelle les données vont être
réstaurées. Cliquez maintenant sur "Next".
6.
La fenêtre ci-dessus vous résume les choix que vous avez fait concernant le fichier source XML
pour la sauvegarde à restaurer, et la partition cible sur laquelle cette partition va être restaurée.
Cliquez maintenant sur "Next".
80
Récupération, sauvegarde
et restauration des serveurs
7.
Enfin, par mesure de sécurité, il vous est demandé de saisir manuellement l'adresse (Nappe +
numéro de port) du disque sur lequel vous souhaitez écrire. Cette confirmation évite de confondre
les partitions et de restaurer les données sur la mauvaise partition par accident. La syntaxe est de
type DISK<Position sur la nappe>#<Partition>. Pour le cas d'une restauration sur une partition
système, on souhaite en général restaurer sur la première partition du disque primaire, sur la
première nappe. La syntaxe à indiquer est donc DISK0#1. Appuyez ensuite sur "OK".
8.
Une fenêtre affiche la progression du processus de restauration des données. A la fin de cette
étape, quittez l'environnement du CD-ROM de sauvegarde en cliquant sur le bouton "Finish",
puis quittez DriveImageXML en fermant le logiciel.
9. Quittez à présent l'environnement du CD-ROM en cliquant sur le bouton "Go" puis "Shut Down"
et enfin "Restart". Retirez le CD-ROM du lecteur, attendez que l'OS boote. Validez la restauration
de l'image en effectuant les points de contrôle suivants :
81
Récupération, sauvegarde
et restauration des serveurs
Indiquez la lettre de votre choix à attribuer au point de montage réseau que vous êtes en train
de créer.
Dans le deuxième champ, spécifiez l'adresse de la ressource réseau ou sont stockés les backups
[\\10.13.1.70\nas].
Note
Ce répertoire distant n'est pas le répertoire dans lequel vous devrez enregistrer l'image.
En effet, ce point de montage est le répertoire racine à partir duquel sont stockés les
sous-répertoires contenant les sauvegardes de l'ensemble des serveurs ANF. Si aucun
répertoire ne correspond à la machine que vous souhaitez sauvegarder, créez vous
même le répertoire portant le même nom que cette machine. Vous copierez alors tous
vos fichiers de sauvegarde à l'intérieur de ce sous-répertoire, lorsque vous utiliserez
Partition-Saving .
2. Toujours dans la même fenêtre, cliquez sur "Se connecter sous un nom d'utilisateur différent".
82
Récupération, sauvegarde
et restauration des serveurs
3. A présent que le point de montage réseau est opérationnel, cliquez sur GO / Programs / partition
saving / partition saving pour lancer le logiciel de sauvegarde à froid.
poursuivez.
5. Pour accélerer cette procédure mais aussi économiser de l'espace disque, indiquez à cette étape
que vous ne souhaitez sauvegarder que les secteurs occupés.
Cliquez sur la lettre qui correspond au dossier d'enregistrement des backups que vous avez mappé
au début de cette procédure, et naviguez jusqu'au sous répertoire contenant votre sauvegarde.
83
Récupération, sauvegarde
et restauration des serveurs
Important
Assurez-vous bien d'avoir coché cette case, sans quoi vous serez constamment invité à
nommer manuellement tous les fichiers générés durant cette procédure de sauvegarde.
Bien entendu, la procédure s'arrête à chaque fois que le logiciel vous demande de
spécifier le nom d'un fichier. Mieux vaut donc automatiser le nommage des différents
fichiers qui seront crées durant cette procédure (le nombre de fichiers générés dépend
de la quantité de données à sauvegarder).
8. A présent, dans le cadre supérieur gauche, nommez le premier fichier (format 8.3) comme bon
vous semble. Les trois lettres que vous mettez pour l'extension sont sans importance. Vous pouvez
par exemple nommer ce fichier backup.bak.
Si vous avez bien coché la case "Nommage automatique des fichiers" en haut à droite, le logiciel
se basera sur le nom que vous êtes en train d'inscrire en haut à gauche. Ainsi, si vous nommez
votre premier fichier backup.bak, le logiciel nommera le second fichier backup.b01, le
troisième backup.b02 et ainsi de suite.... Si en revanche vous ne cochez pas la case "Nommage
automatique des fichiers", vous serez alors contraint de nommer chaque fichier à la main et
individuellement avant de poursuivre la copie. La raison pour laquelle le programme crée
plusieurs fichiers tient du fait que la taille maximale d'un fichier de sauvegarde ne doit pas
dépasser 2047 Mo. Si la partition que vous souhaitez sauvegarder dépasse cette taille, alors le
programme créera plusieurs fichiers de sauvegardes pour votre partition.
9. Cette étape vous demande de choisir la taille maximale par fichier de sauvegarde qui sera crée.
La taille maximale est proposée par défaut.
Puisque l'on s'apprête à sauvegarder les données sur un disque dur distant via le réseau, il n'y
a aucune raison de baisser la taille des fichiers. La taille par défaut qu'indique le logiciel est de
2047 Mo. Si en revanche vous souhaitez par exemple avoir la possibilité de graver plus tard les
données sur un CD-ROM, vous devez indiquer au logiciel de ne pas dépasser la tranche des 680
Mo par fichier.
84
Récupération, sauvegarde
et restauration des serveurs
Séléctionnez la taille que vous souhaitez (laissez par défaut si la sauvegarde reste sur le disque
dur distant, ou moins de 700 Mo si elle sera gravée sur des CD-ROMs ..) et poursuivez en cliquant
sur "OK".
10. A présent, il faut choisir un niveau de compression des données. Il existe 10 niveaux de
compression différents. Le niveau 0 enregistre la sauvegarde de la partition telle quelle sans
aucune compression. C'est la méthode la plus rapide pour créer un fichier de sauvegarde, mais
aussi celle qui nécessite le plus d'espace disque.
Une compression de niveau 9, à l'inverse, assure une compression des données à un taux maximal
et permet d'économiser l'espace disque nécessaire. Toutefois, le revers de la médaille est que ce
niveau de sauvegarde exige beaucoup plus de temps pour sauvegarder et compresser la partition.
Après avoir choisi le taux de compression que vous souhaitez (une compression de niveau 7
donne un bon rapport compression/temps) cliquez sur "OK" pour poursuivre.
11. Le programme démarre la copie. La barre horizontale du haut définit la progression totale de la
copie. Celle du bas définit la progression du fichier en cours d'écriture.
12. A la fin de la procédure, le texte (Etât : Terminé) au milieu de l'écran vous informera de la réussite
de l'opération.
13. Le programme vous demande à présent si vous souhaitez créer un fichier batch qui permettra
d'automatiser cette procédure à l'avenir. Répondez oui.
85
Récupération, sauvegarde
et restauration des serveurs
14. Vous devez à présent enregistrer le fichier batch dans un répertoire. Il est recommandé de
sauvegarder le fichier dans le répertoire ou se trouve le backup que vous venez d'enregistrer.
1. Assurez vous que le serveur soit branché sur un onduleur, et que ce dernier soit chargé.
Indiquez la lettre de votre choix à attribuer au point de montage réseau que vous êtes en train
de créer.
Dans le deuxième champ, spécifiez l'adresse de la ressource réseau ou sont stockés les backups
[\\10.13.1.70\nas].
2. Toujours dans la même fenêtre, cliquez sur "Se connecter sous un nom d'utilisateur différent".
3. Une fois le lecteur réseau monté, lancez Partition Saving depuis "GO / Programs / Partition
Saving / Partition Saving"
86
Récupération, sauvegarde
et restauration des serveurs
4. A partir de là, il faut accéder au lecteur mappé via le réseau (1) et naviguer jusqu'au répertoire
contenant la sauvegarde (2) puis cocher la case du nommage automatique de nom de fichiers
(3) . Si vous ne cochez pas cette dernière case, alors le logiciel vous demandera à chaque fois
de préciser le nom du fichier suivant pour effectuer la restauration, puisqu'il est possible que
votre sauvegarde soit tranchée en plusieurs fichiers (voir la section dediée à la sauvegarde avec
Partition-Saving pour plus de détails).
Cherchez le premier fichier de votre sauvegarde, (celui qui ne contient pas de chiffres dans son
extension, qui n'est pas un fichier .DLT) puis double cliquez dessus.
5. Après avoir lu votre fichier de sauvegarde, Partition-Saving vous affiche la liste des partitions
locales compatibles avec les données que contient votre sauvegarde. Les informations concernant
les partitions locales sont :
• La taille de la partition
Choisissez la partition sur laquelle souhaitez restaurer dans la liste à l'écran, puis cliquez sur
"OK".
87
Récupération, sauvegarde
et restauration des serveurs
Note
Pour reconnaître la partition que vous souhaitez restaurer, (si votre backup en contient
plusieurs) vous pouvez l'identifier soit grâce à sa taille, soit à la lettre qui est attribuée
à la partition à cette étape.
6. A l'écran suivant, le logiciel vous demande de confirmer votre choix de partition cible. Cette
étape est très importante puisque c'est le dernier point de contrôle avant le déclenchement du
processus de sauvegarde. Assurez vous donc d'avoir séléctionné la bonne partition sur laquelle
vous allez restaurer vos données à l'étape précédente. Si vous poursuivez en ayant choisi la
mauvaise partition, les données présentes sur la partition cible seront perdues.
Après avoir effectué les vérifications et vous être assuré que vous êtes sur le point de restaurer
les bonnes données sur la bonne partition, cliquez sur "OK".
Vous pouvez annuler ce processus à tout moment en cliquant sur le bouton "Annuler". Toutefois,
toutes les données qui étaient présentes sur la partition avant d'entamer la procédure de
restauration sont définitivement perdues à ce stade.
Lorsque l'indicateur "Etât" indique "Terminé", vous pouvez redémarrer le PC, retirer le CD-ROM
et booter sur le disque dur.
88
Chapitre 7. Conclusion
Les limites du modèle choisit
DriveImageXML présente l'avantage d'être automatisé, mais ne prend pas en compte le RAID5,
ce qui proscrit son utilisation pour la plupart des serveurs d'ANF. Partition-Saving est en revanche
automatisable et supporte le RAID5, mais nécessite tout de même de booter sur un CD-ROM et d'être
éxecuté "hors de l'OS" pour pouvoir sauvegarder la partition système (notamment à cause des serveurs
SQL). Hors, même si l'on accepte l'arrêt des services durant le processus de sauvegarde (ce qui réduit
la plage des créneaux horaires disponibles) il est impossible de redémarrer en rebootant sur le système
d'exploitation du serveur à cause de la présence du CD-ROM dans le lecteur. Pourtant, un plug-in
permettant de déclencher manuellement le boot sur le CD-ROM fut inclus sur le CD-ROM final, ce qui
permettrait de rebooter sur le système d'exploitation par défaut du serveur automatiquement après un
procédé de sauvegarde. Mais, le problème se poserait alors du côté inverse, et il serait alors impossible
de déclencher le redémarrage de serveur en dehors des heures de bureau, puisque aucune intervention
humaine serait alors possible pour confirmer manuellement le boot sur CD-ROM pour initialiser la
procédure de sauvegarde.
La solution apportée durant le stage n'est pas étudiée pour faire face aux pannes physiques si ce n'est
la possibilité de réparer et restaurer les secteurs endommagés ou défecteux d'un disque dur, mais un tel
procédé relève toujours du domaine logique, de l'organisation des données sur le média. D'autre part,
les contraintes liées aux pannes physiques sont couvertes par les termes des contrats de maintenance
qui lient ANF et les prestataires qui apportent une réponse en cas de défaillance matérielle reconnue
après expertise.
Les pannes de niveau logique pouvant intervenir "en amont" du chargement du système d'exploitation
(au niveau de la séquence de Boot) ne peuvent être prises en charge par la présente solution.
1. L'impossibilité de faire des backups à chaud à cause des problèmes liés aux serveurs SQL
2. L'impossibilité d'automatiser les backups à froid puisqu'il serait impossible de remettre le serveur
en route automatiquement après la procédure de backup
3. La non prise en charge des problèmes logiques pouvant intervenir en dehors du système
d'exploitation (niveau BIOS)
Le dispositif actuel de protection des données dont dispose ANF assure la sauvegarde et la récupération
des données de l'ensemble des collaborateurs de la société face aux risques énoncés plus haut. En
revanche, il n'existait jusqu'alors aucun dispositif pour la sauvegarde des configurations des systèmes
hôtes.
La solution mise en place durant ce stage permet donc de sauvegarder et de restaurer les systèmes
d'exploitation des serveurs en cas de panne critique. Le dispositif est conçu pour être simple à mettre
89
Conclusion
en oeuvre, afin de remettre les serveurs en phase de production dans un délai de moins d'une heure
au lieu des 16 heures requises auparavant pour réinstaller le système d'exploitation, les logiciels, les
services, et effectuer les mises à jour.
La solution proposée lors du stage couvre quasiment l'ensemble des problèmes possibles qui
peuvent impacter au niveau logique. La solution protège donc l'ensemble du système d'exploitation
(arborescence générale, répertoires et fichiers systèmes, programmes, fichiers de configuration, cache
ROM, base de registre) face aux défaillances logiques. Enfin, le CD-ROM fourni contient tous les
pilotes de stockage et réseau nécessaires aux serveurs comme aux postes clients. Un seul disque suffit
pour sauvegarder et restaurer toutes les machines du SI d'ANF. Il est donc possible, pour les postes
clients comme pour les serveurs non montés en RAID5, et sans base de données SQL, d'automatiser
une sauvegarde à chaud du système intégral.
Le tableau suivant définit l'ordre réactualisé du "turnover" des cassettes des DLT :
Cassette à placer dans le robot Cassette à placer en lieu sûr Cassette déja présente en lieu
sûr
Cassette du jour Cassette de la veille Toutes les autres
Un autre emplacement de stockage fut trouvé pour stocker les cassettes DLT. Dorénavant, l'ensemble
des cassettes sera retiré de la salle des serveurs et seule un exemplaire de la "cassette du jour" sera
présente dans chacun des enregistreurs sur bande. En outre, les données de l'ensemble de l'arborescence
des données des utilisateurs ainsi que les copies des bases de données SQL sont également stockées
sur un disque dur Turbo USB 2.0 externe d'une capacité de stockage d'un terra-octet. En prévision du
"gonflement" des données à sauvegarder (allant de 400 Gigas à 1 Terra-Octet d'ici les deux prochaines
années) un autre disque dur externe de même capacité sera acheté par la société. Son implémentation
en sera facilité puisque ce type de dispositif est déja déployé dans la nouvelle stratégie de sauvegarde.
Le schéma ci-dessous représente la nouvelle cascade de sauvegardes depuis les serveurs vers les unités
de stockage.
90
Conclusion
Propositions d'évolution
Dans un avenir, proche, ANF pourra acquérir un autre dispositif pour stocker les sauvegardes. En
effet, d'une part les fichiers produits par les programmes s'alourdissent de génération en génération
à mesure que les logiciels deviennent de plus en plus performants, mais aussi parce que le nombre
global de fichiers à stocker produits par les collaborateurs de l'entreprise est en croissance permanente.
L'augmentation de la capacité de stockage pour les sauvegardes est donc un acte prévisionel
envers lequel l'entreprise à déja démarché des prestataires spécialisés dans ce domaine comme par
exemple le dossier en annexe concernant la sauvegarde à distance [PRO-OFF-ANF_Immobilier-
Sauvegarde_externalise-JCL20080612-Ns_v1.pdf]. Cette augmentation de l'espace de sauvegarde
pourra dans un premier temps être réalisé par l'achat d'un deuxième disque dur externe Turbo USB2.0
de très grande capacité pour compléter celui déja en place. Puis, si les circonstances futures l'éxigent,
la société pourra acheter un véritable NAS. Le service informatique d'ANF disposera alors de plus
91
Conclusion
de souplesse dans la planification des sauvegardes: A l'heure actuelle, toutes les données transitent
vers le serveur de fichiers (10.13.1.70). En disposant d'un NAS Gigabit Ethernet, chaque serveur sera
directement relié au NAS, et n'aura plus à passer au "tour à tour" par le serveur de fichiers pour ne pas
saturer ce dernier. L'acquisition d'un NAS entrainera une meilleure répartition des flux sur la bande
passante et solicitera les ressources machines de manière plus équilibré, au lieu de concentrer le flux
des données vers un chemin réseau et un ordinateur unique qui effectue tout le travail seul comme c'est
le cas aujourd'hui. Relier chaque serveur au NAS de manière directe plutôt que sur un serveur "maître"
permet donc de gagner du temps, de réduire la charge sur la même machine, d'éviter de prendre un
chemin trop critique en confiant tout le travail à une seule machine.
En ce qui concerne l'outil de sauvegarde, et si l'outil actuel ne permet pas encore une automatisation
complète du processus comme le souhaiterai le planning ci-dessus, ANF peut envisager de tester les
nouvelles version des produits phares du marché dont les coûts de licence restent dans un ordre de prix
correct. Néanmoins, il restera encore à trouver un logiciel de sauvegarde garantissant la sauvegarde
à chaud de bases de données SQL.
Annexes
Les outils du projet :
DriveImageXML [http://www.runtime.org/driveimage-xml.htm]
Clubic.com [http://www.clubic.com/article-83110-1-sauvegarde-restauration-image-ghost.html]
Autres sites :
2Brightsparks.com [http://www.2brightsparks.com/tutorials/thebackupguide.html]
Maraval [http://lionel.maraval.club.fr/blogphoto/index.php?2007/08/27/199-sauvegarde-et-
archivage]
92
Etude de déploiement d'un
système d'information
iv
Chapitre 1. Présentation du cas
d'étude HTINCO
Ce chapitre fait suite à l'étude visant à identifier et relever les éléments clés du document "DESCRIPTION DE
LA SOCIETE HTINCO" afin de mieux comprendre le contexte du cas d'étude. Le présent document synthétise
l'approche du problème.
Introduction
Dans le cadre de l'évolution de la société HTINCO, nous sommes chargés de participer à l'adéquation
de son système informatique à ses besoins, et à son développement.
Pôles d'activité
En dix-huit ans, de 1985 à 2003 HTINCs'est diversifié dans divers domaines. Elle est aujourd'hui
présente dans cinq pôles activités : - L'informatique technique (dans le domaine de l'énergie et de la
défense) - L'électronique et la micro-électronique - Les télécommunications, systèmes et réseaux - Les
systèmes d'information - La gestion industrielle.
Développement
Son essor a eu lieu dans un premier temps principalement en région Rhône-alpes avec des interventions
dans l'est de la France et en Europe. En 1993 elle crée une agence à Strasbourg avec la même spécificité
qu'elle (informatique technique). En 1997, avec l'appui du groupe NNN, elle ouvre une nouvelle
antenne à Grenoble en créant un nouveau pôle d'activité : l'électronique et tout en absorbant le pôle
télécom/systèmes/réseaux crée à Lyon. De 1998 à 2000, elle ouvre successivement des agences à Aix
en Provence travaillant au pôle système d'information, puis a Belfort avec la pôle gestion industrielle
et enfin à Annecy paticipant aux pôles l'informatique technique et télécom/systèmes/réseaux.
1
Présentation du cas d'étude HTINCO
Infrastructure matérielle
Réseau général
2
Présentation du cas d'étude HTINCO
Réseau de Lyon
Réseau de Grenoble
3
Présentation du cas d'étude HTINCO
Réseau d'Aix-en-Provence
Réseau de Annecy
4
Présentation du cas d'étude HTINCO
Réseau de Belfort
Réseau de Strasbourg
5
Présentation du cas d'étude HTINCO
pour les réseaux locaux sont récents et permettent de disposer d'un taux de service adapté à HTINCO.
Il n'y a pas de redondance entre les contrôleurs de domaine ni les serveurs. Pas de plan de reprise en
cas de crash de serveur. Le matériel de communication: le câblage et les équipements d'interconnexion
pour les réseaux locaux sont récents et permettent de disposer d'un taux de service adapté à HTINCO.
Il n'y a pas de dispositions destinées à assurer la sécurité physique des équipements. Il n'y a pas de
dispositions destinées à assurer la sécurité physique. La sécurité logique : aucun firewall n'est présent
Aucun antivirus n'a été installé Pas de plan de reprise en cas de crash de serveur.
Il n'existe pas de procédure à la fois simple et sécurisée permettant aux consultants de transmettre leurs
données. Le support aux utilisateurs des 1er et 2ème niveaux n'est pas assuré.
6
Chapitre 2. Etude du projet
Propositions d'évolution
Développement de la nouvelle application
Il a été décidé de faire développer en externe (par la SSII xxx) une application de gestion et de
facturation des activités. Cette application est destinée à répondre aux besoins d'un logiciel de travail
collaboratif pour les consultants souhaitant travailler en équipe à distance.
Il faut donc rédiger un chapitre détaillant les contraintes informatiques du cahier des charges de
cette future application de suivi de l'activité des consultants et de facturation. Les contraintes devront
aborder tous les aspects énumérés ci-dessous.
Types de sites
Types d'acteurs
Organisation du travail
• facturation
• enregistrement comptable
7
Etude du projet
• Données manipulées
Données à gérer
• Déscription sémantique des données et règles de gestion associées
• Données échangées
• Volumétrie
Interface utilisateur
• Architecture du dialogue homme machine
• Aides
• Editions
• Niveau de performances
• Intégrité
• Disponibilité
• Fonctionnalités critiques
• Evolutivité/ Maintenabilité
• Contrôle interne
8
Etude du projet
Définir un plan de reprise : Estimer le degrés de criticité de chacun des services offerts et prévoir :
Il faut offrir aux utilisateurs un support de 1er et 2ème niveaux satisfaisant. Pour ce faire, il semble
intéressant de choisir une solution d'infogérance comprenant un Help Desk, la maintenance et le
renouvellement du parc des postes de travail, des serveurs et des imprimantes.
Evolution du parc
Le service d'infogérance doit être encadré par un contrat qui définit avec précision le cadre
d'intervention du prestataire extérieur. De ces dispositions dépendront le succès de la collaboration et
notre degré de "dépendance" en cas de changement de prestataire. Il faudra veiller tout particulièrement
à inclure une clause de réversibilité donnant la possibilité de la confier à un autre prestataire. Le but est
ici de se débarrasser de la gestion de tout le matériel incluant postes de travail, imprimante et serveurs.
Grâce à cela il sera possible d'homogénéiser son parc tout en étalant les dépenses. De même tout ce
qui concerne la maintenance et le support seront pris en charge pas la société avec laquelle on établi
le contrat d'infogérance.
Il faudra établir un SLA avec la société d'infogérance. Un SLA (Service Level Agreement) étant un
"contrat" décrivant l'engagement d'une société d'infogérance envers son client. Le SLA intègrera : le
détail des services fournis par le prestataire, les moyens mis en oeuvre pour garantir un niveau et/ou
une qualité de services, les indicateurs permettant de mesurer si les objectifs prévus sont atteints, les
responsabilités de chacun, les limites de validité du SLA, et les actions à mettre en oeuvre au cas où
le SLA ne serait pas respecté.
• Description du Service
• Heures de Service
• Objectifs de disponibilité
• Objectifs de sécurité
• Prix
- La procédure de sauvegarde par le biais des DAT doit être revue. A une rotation hebdomadaire doit
s'ajouter une approche de type "grand-père, père, fils". Autrement dit, une bande par semaine, une par
mois et une par an, doivent être récupérées, stockées pour une durée d'au moins quelques années et
remplacées par des neuves.
9
Etude du projet
Prévoir une procédure et le matériel nécessaire à la récupération de données sur des bandes en cas de
besoin. Intégrer cela dans le plan de reprise.
Proscrire absolument l'apport de données par le biais de support extérieur (type clé usb, par exemple).
Utilisations de VPN/SSL pour l'accès à l'intranet et aux applications en PC portables des consultants.
Matériels
Serveurs
Aucun des serveurs en place ne sont conservés. Les nouveaux serveurs, au nombre de dix sont
loués en passant par un contrat de leasing avec la société YYY comprenant le support matériel et la
maintenance. Ils sont tous rassemblés sur le site de Lyon et sont répartis comme suit :
• Proxy/DNS/DHCP
• Antivirus
* Serveur de rôle Mailbox - le rôle de stockage évolué ; exigeant 70 % moins de débit d'E/S comparé
à Exchange Server 2003 avec une prise en charge intégrée de la réplication en continu pour assurer la
haute disponibilité et l'exécution de la stratégie de rétention du courrier électronique.
*Serveur de rôle Client Access - un rôle fournissant le nouvel Outlook Web Access, la synchronisation
d'Outlook Mobile, Outlook Anywhere (RPC sur HTTP), IMAP4 (Internet Message Access Protocol)
version 4 rev1, POP3 (Post Office Protocol) version 3, services Web du calendrier Outlook et d'autres
services Web programmables.
*Serveur de rôle Unified Messaging - un rôle connectant Exchange au monde de la téléphonie ; fournit
boîte de réception universelle pour les messages vocaux et les fax et permet d'utiliser Outlook Voice
Access comme portail d'accès à Exchange (incluant le calendrier) avec reconnaissance vocale.
*Serveur de rôle Edge Transport - la passerelle sur le réseau de périmètre avec filtrage intégré du
courrier indésirable et des virus.
*Serveur de rôle Hub Transport - routage du courrier dans l'ensemble d'une entreprise, pré-
accréditation des messages IRM (Information Rights Management) et application de la conformité à
chaque étape.
• comptabilité
• fichiers
Imprimantes
Une réduction du nombre d'imprimante est à prévoir. En effet le nombre de personnels sur les sites de
Grenoble et de Lyon ne nécessite pas autant d'imprimantes.
Les imprimantes en place ne sont pas conservées. L'acquisition des nouvelles se fait dans le cadre d'un
contrat leasing incluant maintenance et support.
10
Etude du projet
Le matériel de communication
Important
Pour rappel, le câblage et les équipements d'interconnexion pour les réseaux locaux sont
récents et permettent de disposer d'un taux de service adapté à HTINCO. Il n'est donc pas
nécessaire d'envisager un quelconque changement.
Le réseau WAN
Pour rappel, celui-ci est actuellement basé sur des LS à 128 kbps Tous les sites seront relie par
connexion SDSL. Le modem sera placé à Lyon avec un serveur proxy et un serveur antivirus.
Les agences feront parties de ce réseau. Toutes les connexions devront passer par Lyon comme
actuellement.
Fournisseur SDSL
Le choix du fournisseur SDSL s'est porté sur la solution proposée par Orange Business. Dans le cadre
de son offre multiservice Entreprises, Orange Business Services met à la disposition des entreprises
localisées en France Métropolitaine et dans les DOM (avec spécificités) une gamme complète « cœur
et haut de marché » de solutions Internet haut débit sécurisées : Business Internet
Orange Business Internet offre des supports très hautes performances, assurant des flux symétriques
à des débits garantis de 500 Kbit/s à 30 Mbit/s en offre standard (et jusqu'à 100 Mbit/s en OSM,
voire 1 Gbit/s pour les 20 principales agglomérations françaises). La solution proposée inclus des
engagements de qualité de service et de sécurité de bout en bout, répondant aux différents niveaux de
criticité requis par le projet HTINCO.
Construite sur support SDSL, CN2 ou fibre optique (sur Premier uniquement), Business Internet assure
des débits garantis symétriques (jusqu'à 1 Gbits en offre sur mesure sur Premier), un haut niveau de
qualité de service. Business Internet n'est soumise à aucun critère d'éligibilité jusqu'à 2 Mbit/s (hors
DOM): son accessibilité est donc établie à 100%, quelle que soit votre localisation géographique en
France métropolitaine. Au delà de 2 Mbit/s, une étude d'éligibilité est nécessaire. Sa tarification est
11
Etude du projet
totalement péréquée jusqu'à 2 Mbit/s (hors DOM) : son prix est indépendant du support réseau utilisé,
SDSL (majoritairement), ou CN2 pour le hors zone SDSL. Une remise de 10% est appliquée pour tout
engagement d'une durée minimale de 3 ans, avec les frais de mise en service réduits de 50%.
Les applicatifs incluent un GTR de 24h chrono (espace clients, stats) un GTR S2 pour le support
client, IMS 99.8%, un acceès réseau débit garanti et symétrique, 2 noms de domaine + hébergement,
un filtrage IP.
Le SDSL (Symmetric Digital Subscriber Line) est une technologie de la famille des « xDSL »
permettant l'échange de données avec des flux symétriques et à hauts débits garantis. Elle s'appuie sur
les paires de cuivre du réseau de Orange Business Services, qui peuvent être agrégées (on parle alors
de « multipaire »). Cinq classes de débits symétriques (sens montant et descendant) sont proposés :
500 Kbit/s, 1 Mbit/s, 2 Mbit/s, 4 Mbit/s et 8 Mbit/s (ce dernier débit est disponible exclusivement
sur « Business Internet Classic »). La bande passante est garantie, à x% du temps par période de 24
heures, selon le niveau d'engagement souhaité :
Business Internet Débit de l'accès garanti à 95% du temps / 24h, sens montant & descendant
Business Internet Plus Débit de l'accès garanti à 100% du temps/ 24h, sens montant & descendant
Business Internet Cisco Destinée aux sociétés sensibles aux qualités des routeurs Cisco, elle apporte
des fonctionnalités supplémentaires à la ligne de service Classic comme la priorisation de flux et la
fiabilisation Numéris à haut débit.
Le service Business Internet comprend la possibilité de configurer sur le routeur des Lan secondaires
ou de déports. Le nombre maximum de sous-réseaux autorisés est de 4, en plus du Lan principal. Cette
fonctionnalité permet au routeur de gérer les droits d'accès des sous-réseaux, avec un filtrage selon les
modes suivants : « vers Internet uniquement », ...
La livraison est effectuée dans un délai indicatif de 6 semaines à compter de la réception du bon de
commande. Pour les DOM, un délai additionnel de 14 jours calendaires est à prévoir.
LES GARANTIES
GTR S2 Garantie de rétablissement en moins de 4h, du lundi au samedi, de 8H00 à 18H00 (heures de
la métropole, hors jours fériés), assortie de pénalités en cas de non respect pour des raisons imputables
à Orange Business Services : - 1/4 de l'abonnement mensuel pour un dépassement inférieur ou égal à
2 heures ; - 1/2 de l'abonnement mensuel pour un dépassement supérieur à 2 heures. La GTR concerne
l'accès et les équipements réseau (applicatifs et logiciel Firewall exclus) ; elle est initialisée par la
supervision proactive (disponible en option) ou à partir de la prise en compte par Orange Business
Services de la signalisation du dérangement effectuée par votre administrateur.
Garantie de rétablissement en moins de 24h chrono, du lundi au vendredi, sur les services BAL, FTP,
WEB, Espace Projets, annuaire, Fax in Mail, et Back-up des données, assortie de pénalités en cas de
non respect pour des raisons imputables à Orange Business Services : - 2 jours d'abonnement mensuel
pour tout dépassement, dans la limite d'un mois d'abonnement offert par an.
L'Interruption maximale de service assure une disponibilité globale du service (sur le support et les
équipements réseau) supérieure ou égale à 99.8 %, 24H/24, 7J/7, assortie de pénalités en cas de
non respect pour des raisons imputables à Orange Business Services : -1/4 de l'abonnement mensuel
pour un cumul annuel de délais de rétablissement par accès compris entre 16 et 24 heures ; -1/2 de
l'abonnement mensuel pour un cumul annuel de délais de rétablissement par accès supérieur à 24
heures Notes : -les pénalités sont imputées sur la facture qui suit leur exigibilité. Elles constituent
une indemnisation forfaitaire couvrant le préjudice subi et exclut toute autre demande en dommages
et intérêts. L'ensemble des pénalités versées au titre des GTR et de l'IMS ne pourra excéder par site
et par année contractuelle 2 mois d'abonnement mensuel.
Installation terminale
L'installation terminale correspond à la prolongation sur votre site, en partie privative, du support
réseau fourni, depuis la tête de câble jusqu'au local où se trouve l'équipement à connecter. La prestation
12
Etude du projet
consiste en la pose et le raccordement d'un câble de 40 mètres maximum dans vos locaux sous
réserve d'une hauteur maximale sous plafond de 3 mètres. Elle inclut le matériel, le déplacement et
l'intervention du technicien, du lundi au vendredi de 8h00 à 18h00. Dans le cas où ces conditions ne
seraient pas remplies, une facturation complémentaire sera à prévoir.
Disponible uniquement sur Business Internet Cisco, la priorisation des flux sur une connexion Internet
permet de mieux exploiter la bande passante disponible en privilégiant les flux importants et en
contingentant les ressources pour les autres. Les modalités techniques pour l'application de tels
mécanismes varient en fonction de votre architecture réseau.
La priorisation des flux consiste à gérer les ressources de bande passante en fonction des flux que
l'on considère comme prioritaires. Il faut classer les flux que l'on souhaite traiter parmi l'une des trois
catégories suivantes :
1. Prioritaire
2. Standard
3. Non- prioritaire
A chaque classe de service est attribuée un ratio d'occupation de la bande passante. Par défaut les ratios
suivants sont appliqués par le Centre de Support Internet :
Tarification
Nous avons retenus 1 accès Business Internet Classic 8 Méga, qui comprend tous les services et
conditions explicités ci-dessus. Les frais de mise en service s'élèvent à 3110Euros HT et l'abonnement
mensuel est de 1466Euros HT pour une durée d'un an. Le même contrat peut-être étendu à 3 ans, pour
une facture mensuelle de 1319.40Euros HT.
VPN/SSL
Mettre en place des VPN SSL : Le VPN SSL permet à des utilisateurs mobiles d'accéder à leurs E-
mails, à l'intranet de leur entreprise, ou à toute application IP par l'intermédiaire d'un simple navigateur
Web, sans configuration de matériel ou de logiciel client.
L'étude de cette partie du projet à retenu deux solutions : Un accès sécurisé via une passerelle VPN qui
offre une connexion utilisant le client VPN natif de Microsoft Windows XP, ou une plate-forme dediée,
nommée SSL360 de la société Arkoon. En définitive, la plate-forme dediée d'Arkoon offre, pour un
coût global quasiment identique à l'acquisition d'une passerelle VPN, plus de souplesse d'utilisation
et de configuration pour les collaborateurs itinérants.
Le modèle S100 est parfaitement adapté aux besoins de sécurité et de simplicité des connexions
nomades. Par l'intermédiaire d'un simple navigateur Web, les collaborateurs de l'entreprise, mais
également ses partenaires ou ses clients peuvent accéder à des portails de connexion dédiés. Après
une authentification (sur l'appliance ou sur serveur externe), les utilisateurs et groupes d'utilisateurs
peuvent accéder à des applications internes. A la fin de chaque session VPN SSL, le poste distant est
nettoyé (suppression des cookies, des applets, du contenu du cache du navigateur...). Le S100 peut
supporter plus de 100 utilisateurs connectés simultanément.
Les fonctionnalités qu'apporte la plate-forme par rapport à une solution de tunnelVPN classique sont
les suivantes:
* Un accès simple via un simple navigateur Web avec chiffrement SSL * Des appliances dédiées pour
profiter de toute la puissance d'un serveur SSL sans compromettre la sécurité du réseau * Une base
13
Etude du projet
technologique commune avec les appliances FAST360 pour profiter d'un socle de qualité commun
(système, mises à jour, validation logiciel, etc...)
Réseau VPN/SSL
Logiciels
Système d'exploitation serveurs
Pour rappel celui-ci est Windows 2000. Même si cela marche parfaitement pour l'instant, l'ancienneté
de l'OS risque de poser problème pour la suite. Notamment par rapport à la future application de
gestion et de facturation. Celle-ci devra évidemment pouvoir fonctionner sur les serveurs HTINCO.
Il n'est pas envisageable d'exiger de la SSII XXX qu'elle développe spécifiquement un logiciel pour
un OS aussi ancien.
A contrario, il semble plus pertinent de migrer les serveurs vers un OS plus récent. Le choix s'oriente
vers Windows Server 2003. Cet OS est suffisamment récent pour bénéficier d'un support complet
durant les années à venir, et suffisamment ancien pour être stable et maîtrisé par les développeurs,
contrairement à la version 2008. Il est, de toute façon, nécessaire de rester sur un système Microsoft
pour pouvoir continuer à utiliser les progiciels de comptabilité et de paie fonctionnant avec le SGBD
SQL Server. Une migration vers des systèmes sous licence libre de type Unix impliquerait au final
un coût de migration plus elevé et rallongerait de façon significative le délai de mise en place de la
nouvelle solution. Une migration aussi lourde impliquerait la mise en place d'une plate-forme pilote et
d'une phase de tests dont la portée sur la durée du projet serait considérable et monopoliserait beaucoup
de ressources tant humaines que techniques.
14
Etude du projet
Prtandis que les plus récents doivent avoir été livrés avec Vista pré-installé. Le fait de faire appel à une
solution de leasing, permet de renouveler tout le parc et donc de migrer automatiquement sur Vista
durant les 3 prochaines années.
Applications
Le besoin d'un logiciel collaboratif peut être satisfait par le biais d'Exchange. Celui-ci servant à
la fois de serveur de messagerie et de groupware. Le problème étant de savoir quelle version sera
utilisée. Cependant, il faudra migrer sur la version 2007 d'Exchange afin de profiter des nouvelles
fonctionnalités.
Il est nécessaire de recommander un audit spécifique pour l'ensemble des applications développées en
interne au coup par coup sous Microsoft Access 2000 ou "bricolées".
Antivirus
Il est indispensable de déployer des antivirus. Devront être équipés aussi bien les postes de travail que
les serveurs (messageries, application et fichier). Dans un souçis de qualité de service, il faudra opter
pour un serveur dédié gérant la sécurité antivirus pour l'ensemble du réseau. Quelque soit la solution
retenue, elle devra posséder les caractéristiques suivantes :
* Mise à jour automatique et sécurisée (que ce soit par téléchargement programmé ou alors par mise
à jour "forcée" par un serveur détenant une nouvelle mise à jour).
* Transparence et exhaustivité (analyse SMTP, POP/IMAP, HTTP, FTP, ... sans contrainte)
* Pertinence (éviter la multiplicité des fausses alertes) et Convivialité (ergonomie, rapidité, ...)
* Protection intégrée contre les virus, les logiciels espions, le piratage et le courrier indésirable à tous
les niveaux du réseau de l'entreprise -' des postes de travail aux passerelles Internet
* Montée en charge
15
Etude du projet
* Filtrage du trafic Internet selon des listes de confiance : serveurs, types d'objets et groupes
d'utilisateurs
* La technologie iSwift évite les analyses répétitives ou superflues de données sur le réseau
* Simplifie l'administration à l'aide d'une console à interface Web et d'un agent intégré
* Consolide les mises à jour et les alertes globales pour une meilleure sécurité
* Permet une plus grande évolutivité par le biais d'une gestion multiprocessus en cascade
* Améliore l'intelligence du système grâce à des rapports personnalisables flexibles pour une
interprétation plus facile
* Étend la visibilité aux clients individuels, réduisant ainsi les allers et venues d'un poste de travail
à un autre
* Télécharge et déploie des stratégies proactives adaptées aux menaces à partir de Trend MicrOutbreak
Prevention Service (OPS)
* Menaces Internet
* Virus
* Spam
* Spywares
* Attaques de phishing
* Rootkits
* Bots
* Contenus inappropriés
16
Etude du projet
* Pirates
A noter qu'Exchange 2007 possède des fonctions étendus d'antivirus et d'antispam. Celles-ci devront
prises en compte pour le choix de la solution antivirus si l'on choisit Exchange comme groupware.
Il faut également déployer et configurer Windows Server Update Service afin de systématiser le
déploiement des mises à jours de sécurité sur tous les postes et les serveurs. Ce logiciel est gratuit.
La sécurité
La sécurité physique
Pour rappel, Il n'y a pas de dispositions destinées à assurer la sécurité physique. De nombreuses
mesures doivent donc être prises sur le site de Lyon : - Créer/aménager une salle serveurs sécurisée :
Clim, onduleurs, protections incendies adaptées, contrôles d'accès (badge, biométrie, Rfid, etc...). Afin
d'assurer la sécurité des serveurs, mais aussi des baies de brassages et des routeurs. - Prévoir des
espaces de stockages eux aussi parfaitement sécurisés pour les bandes DAT DDS4.
La sécurité logique
Pour rappel, aucun firewall n'est présent. De même, aucun antivirus n'a été installé. Il est nécessaire
de déployer une triple stratégie de filtrage :
* Un filtrage des flux entrants (non autorisation par défaut, ouverture de certains ports uniquement).
* Un filtrage du port 25 et l'obligation de passer par le serveur de mail de la société ou de son prestataire
de connectivité.
* Une plate-forme anti-virus protégeant le système Client, Serveur, Messagerie. Mettre en place des
firewall matériels. Ceux-ci devront être capable de protéger efficacement des trois grands types de
menaces:
* Les virus (émission de virus de l'intérieur d'une société vers l'extérieur (clients, partenaires,...)
* Les tentatives d'intrusion ciblées. Pour la sécurité externe, il paraît nécessaire de mettre au moins
deux firewall en redondance. Le choix d'un firewall doit prendre en compte les trois couches suivantes :
Un exemple de solutions possible est le modèle A210 de la gamme Fast360 de chez Arkoon: Firewall
(FAST - Fast Applicative Shield Technology)
* Analyse de conformité des protocoles réseau, transport et applicatifs : HTTP, ftp, smtp, pop3, nntp,
dns, dns udp, h323, SQLNet, snmp, flux netbios, imap4, rtsp, ssl, SIP, MGCP, RTP, RTCP Contrôle
ou restriction de l'usage et protection contre les abus : Flux P2P , IM, Skype...
* Technologie brevetée par Arkoon et certifiée Critères Communs EAL2+ IDPS (Intrusion Detection
and Prevention System)
* Extension de la technologie FAST pour la détection des attaques applicatives sans violation
protocolaire
17
Etude du projet
* Analyse contextuelle : Seules les attaques pertinentes sur la connexion analysée sont recherchées
La détection d'une signature est pondérée par le contexte Protection de la VoIP Analyse en temps réel
des protocoles VoIP H.323, SIP, MGCP, SDP, RTP/RTCP :
* Adaptive Filtering : Les modules FAST VoIP communiquent entre eux pour adapter l'analyse du
flux média à celle du flux signalisation.
* Fireconverge : Une interface logicielle intelligente pour synchroniser la politique de sécurité VoIP
et la politique de téléphonie VPN IPSEC
* Mise en oeuvre simplifiée Support des architectures maillées et hiérarchiques Définition des
communautés VPN
* Moteur Antivirus et Antispyware analysant les flux Web (http), transfert de fichier (ftp), messagerie
entrante et sortante (smtp, pop3)
* Technologie fournie et maintenue par SOPHOS (plus grand laboratoire d'Europe dans la lutte contre
les codes malicieux)
* Technologie exclusive de Génotype Viral qui utilise des signatures génériques pour bloquer de façon
proactive les codes malicieux dérivés de familles de virus connue
* Plus de 100 000 signatures mises à jour automatiquement, à distance et de façon centralisée Antispam
Analyse Antispam sur les flux SMTP et POP3.
* En standard : Analyse des adresses sources des mails par rapport à des listes noires fournies par des
serveurs publics (DNS BL)
* En option : Antispam « Temps Réel », cette technologie permet d'analyser le contenu des Emails
entrants et sortants (sur les protocoles SMTP et POP3). En fonction du résultat de l'analyse, le spam
peut être supprimé ou marqué pour mise en quarantaine utilisateur ou centralisée Filtrage d'URL
* En standard : Filtrage d'URL sur la base de 13 listes noires « open source », mises à jour de façon
automatique.
* Contrôle de l'accès aux sites Web en fonction des horaires et des utilisateurs (ou groupes d'uilisateurs)
* Authentification sur une base interne ou externe (LDAP, Active Directory, NT...)
* Gestion des VLAN (support 802.11q) Filtrage et interconnexion Support de 4095 Vlans
18
Etude du projet
* Disponibilité
* QoS Réservation ou limitation de la bande passante par application, utilisateurs, horaires, interfaces
d'accès
* Répartition de charge et fonction de secours sur plusieurs liens Wan Sur les liens Wan et VPN IPSEC
19
Etude du projet
20
Etude du projet
21
Installation de GLPI et OCSNG
sur Ubuntu 7.10 "Gutsy Gibbon"
A propos de ce document
Ce document fut réalisé dans le cadre du projet de synthèse du deuxième semestre de la session TSGRI 2007-2008.
Il décrit la mise en place d'une suite de logiciels dédiés à la gestion des ressources techniques, logistiques,
administratives et humaines d'un service IT. Les technologies utilisées dans la mise en place de ce projet
sont exclusivement Open-Source, et basées sur la technologie LAMP (Linux,Apache,Mysql,Php). Ce document
présente deux outils phares de la gestion de parc informatique issus du monde du logiciel libre : GLPI et OCS
Inventory. Le présent document est placé sous licence GNU/FDL Free Documentation License.
Table des matières
1. Présentation .............................................................................................................. 1
GLPI .................................................................................................................. 1
L'organisation des développeurs de GLPI .......................................................... 1
Licence d'exploitation de GLPI ....................................................................... 1
Présentation de la plate-forme web GLPI .......................................................... 1
Fonctionnalités ............................................................................................. 1
OCS Inventory ..................................................................................................... 5
L'organisation des développeurs de OCSING ..................................................... 5
Licence d'exploitation de OCSING ................................................................... 5
Présentation de la plate-forme web OCSING ...................................................... 5
Fonctionnalités ............................................................................................. 5
2. Pré-requis ................................................................................................................ 7
La plate-forme LAMP ........................................................................................... 7
Détails ................................................................................................................ 7
3. Spécifications client/serveur ........................................................................................ 8
Le serveur GLPI/OCS ........................................................................................... 8
Le client OCS ...................................................................................................... 8
4. Téléchargement ......................................................................................................... 9
Téléchargement de GLPI ........................................................................................ 9
Téléchargement de OCSNG .................................................................................... 9
5. Configuration et installation ....................................................................................... 11
Pour GLPI ......................................................................................................... 11
Pour OCSNG ..................................................................................................... 14
6. Installation du client OCSNG .................................................................................... 18
Installation du client OCSNG pour clients Linux ....................................................... 18
Récuperer les données d'OCS Inventory NG dans GLPI ............................................. 20
7. Supprimer GLPI et/ou OCSING ................................................................................. 21
Supprimer GLPI .................................................................................................. 21
Supprimer OCSNG .............................................................................................. 21
8. Conclusion ............................................................................................................. 23
9. Liens ..................................................................................................................... 24
Sources et annexes .............................................................................................. 24
GLPI ......................................................................................................... 24
OCSNG ..................................................................................................... 24
UBUNTU LINUX ....................................................................................... 24
iv
Chapitre 1. Présentation
Ce chapitre présente les logiciels GLPI et OCS Inventory
GLPI
Résumé
Un gestionnaire libre de parc informatique
Fonctionnalités
Voici les fonctionnalités de GLPI (liste tirée de la page du site officiel de GLPI http://glpi-project.org/
spip.php?article13)
Général
1
Présentation
• - Gestion multi-utilisateurs
• - Système d'authentification multiple (local, LDAP, Active Directory, Pop/Imap, CAS) et multi-
serveurs
• - Interface en UTF-8
Inventaire
• - Inventaire du parc d'ordinateurs avec gestion des périphériques internes et gestion du TCO
• - Inventaire du parc du matériel réseau avec gestion des connexions aux périphériques (IP, adresses
Mac, prises réseaux, VLANs).
• - Inventaire du parc d'imprimantes avec gestion des connexions aux ordinateurs et gestion des
consommables associés avec gestion de la consommation et des seuils d'alerte.
• - Inventaire du parc des périphériques externes (scanners, table graphiques...) avec gestion des
connexions aux ordinateurs
• - Inventaire du parc des téléphones avec gestion des connexions aux ordinateurs
• - Inventaire du parc logiciel avec gestion des licences (acquises, à acquérir, sites, oem..) et des dates
d'expiration
• - Gestion des modèles de saisie pour tous les éléments d'inventaire afin de simplifier l'insertion de
configurations identiques
2
Présentation
• -Tracking-Helpdesk
• - Gestion des demandes d'interventions pour tous les types de matériel de l'inventaire
Utilisateur final
• - Interface utilisateur finale pour demande d'intervention avec possibilité de joindre des documents
(self-service)
• - Interface utilisateur finale pour demande d'intervention avec possibilité de joindre des documents
(self-service)
Techniciens
• - Ouverture/fermeture/réouverture d'interventions
3
Présentation
Statistiques
• - Globales
• - Par utilisateur
• - Par catégorie
• - Par priorité
Gestion
Réservation
Base de connaissances
Rapports
Aspects techniques
• - PHP4 ou PHP5
4
Présentation
OCS Inventory
Résumé
Un outil de supervision du matériel
• une vue d'ensemble PC par PC: IP, processeur, RAM, taille du DD, espace occupé du DD, l'OS, etc.
• pour chaque machine et en détail : le numéro de série du constructeur, l'OS installé, le processeur
et la mémoire, les lecteurs logiques, les caractéristiques des cartes vidéo (avec chipset) et des cartes
réseau (avec adresse MAC), des infos sur l'imprimante et son driver, les logiciels installés, et les
utilisateurs qui se sont connectés à la machine
• une vue de toutes les connexions utilisateurs (logs) de toutes les machines du réseau
Fonctionnalités
OCS Inventory NG est basé sur un concept de client/serveur. Open Computer and Software Inventory
Next Generation est une application déstinée pour aider l'administrateur système ou réseau à superviser
sur la configuration des machines du réseau et les logiciels qui y sont installés. L'application est
composée de trois parties :
5
Présentation
• - le serveur de communication
• - le serveur de déploiement
• - la console d'administration
Le serveur de communication
Le serveur collecte, classe et archive les informations relatives aux postes clients. Il fonctionne sous
Apache/PHP/MySQL et peut donc être installé sous n'importe quel système d'exploitation. Grâce à
sa conception très simple et l'utilisation de mod_perl, les performances du serveur sont excellentes.
Une machine modeste peut ainsi inventorier plusieurs milliers de machines. Les clients sont soumis à
divers paramètres afin d'éviter d'inonder le réseau à chaque allumage des postes. L'inventaire envoyé
au serveur se fait de manière aléatoire et s'étale sur une durée définie par l'administrateur. De ce
fait, l'utilisation d'OCS passe complètement inaperçue pour l'utilisateur. L'agent gère la remontées des
informations concernant l'ordinateur :
• - une vue globale machine par machine : IP, processeur, RAM, taille du DD, espace occupé du DD,
système d'exploitation, etc.
• - une vue de toutes les connexions utilisateurs (logs) de toutes les machines du réseau,
particulièrement utile pour déterminer si le nombre de logiciels installés dépasse le nombre de
licences achetées.
Les agents sont disponibles pour Windows, Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Sun
Solaris, IBM AIX.
Le serveur de déploiement
OCS Inventory NG permet également de déployer des logiciels et mises à jour sur les postes de manière
centralisée. Le téléchargement des paquets à déployer se fait via/sur un serveur HTTPS (apache + ssl).
Cette télédistribution est basée sur une politique de certificats et de serveur web sécurisé.
La console d'administration
• - consultation de l'inventaire
Modularité
Depuis la version 1.0rc3, la majorité des fonctionnalités d'OCS Inventory NG peuvent être adaptées
ou étendues via un système de modules.
6
Chapitre 2. Pré-requis
La plate-forme LAMP
Résumé
Un environnement LAMP opérationnel
GLPI et OCSNG requièrent tous deux un environnement LAMP fonctionnel.LAMP est l'acronyme de
Linux, Apache, Mysql, et PHP.Ce document ne couvre pas l'installation des services qui constituent
la plate-forme LAMP, et se limite à l'installation de GLPI et OCSNG dans un environnement LAMP
opérationnel et convenablement configuré.
Linux est un noyau pour systèmes d'exploitation orientés Unix initialement développé par Linus
Thorvald à l'université d'Helsinki dans les années 90.
Apache est un serveur HTTP, initialement développé par Robert McCool en 1996.
Mysql est un système de base de données orienté multi-tâches et multi-utilisateurs. C'est un produit
né en 1995 et développé par MySQL AB, une filiale de Sun Microsystems.
PHP est un language de scripts appartenant à la famille des "processeurs HyperTextes" à l'instar de
Pearl. Il fut écrit en 1995 par Rasmus Lerdorf.
Enfin, Perl, un langage de programmation crée par Larry Wall en 1987 est aussi une composante
importante de l'implémentation GLPI/OCSING, notamment lors de l'installation du client OCS.
Détails
Résumé
Ce dont GLPI et OCS ont besoin pour fonctionner
7
Chapitre 3. Spécifications client/
serveur
Le serveur GLPI/OCS
Résumé
L'environnement serveur
GLPI et OCSING furent installés sur une machine ayant pour système d'exploitation Ubuntu 7.10
Server Edition "Gutsy Gibbon", laquelle s'appuie sur Debian et sa gestion de dépendances des paquets
via l'outil APT. L'installation fut testée dans un environnement virtualisé et mis en production sur un
hôte physique ultérieurement après validation. GLPI est officiellement implémenté dans les dépôts
des miroirs Ubuntu, ce qui en facilite grandement l'installation et la gestion de ses dépendances.
Le client OCS
Résumé
L'environnement client
Le client OCSING fut installé sur une machine ayant pour système d'exploitation Ubuntu 7.10 Desktop
Edition "Gutsy Gibbon", laquelle s'appuie sur Debian et sa gestion de dépendances des paquets via
l'outil APT. L'installation fut testée sur l'hôte physique qui exécutait la machine virtuelle du serveur
cité ci-dessus.
Les postes clients du réseau ont le "client OCS" installé et actif sur le système d'éxploitation.
Périodiquement, le client OCS envoie au serveur OCS les informations concernant son environnement
tant matériel que logiciel (1) . Ensuite, l'administrateur peut soit accéder à l'interface administrateur
du serveur OCS, et voir les clients mis à jour, soit se connecter au serveur GLPI et synchroniser la
base de données de GLPI avec les informations récemment mises à jour depuis OCS (2). Le serveur
OCS est donc le tronc central de ce système par lequel l'administrateur du serveur GLPI gère les
informations des postes clients en synchronisant GLPI avec OCS. Les postes clients sont configurés
pour communiquer avec OCS de façon périodique.
8
Chapitre 4. Téléchargement
Télécharger GLPI et OCSNG Inventory
Téléchargement de GLPI
Un paquet GLPI est disponible dans les dépôts APT d'Ubuntu 7.10 Gutsy Gibbon, ce qui facilite son
installation, ainsi que la gestion de l'installation de ses dépendances.
Téléchargement de OCSNG
Récupération de l'archive OCSNG chez Sourceforge.net :
Important
Assurez vous de télécharger cette archive dans un répertoire vous appartenant et sur lequel
vous avez les droits d'écriture. Le répertoire conseillé est le répertoire personnel : cd ~
[user@machine]:$wget http://mesh.dl.sourceforge.net/sourceforge/
ocsinventory/OCSNG_LINUX_SERVER_1.01.tar.gz
http://mesh.dl.sourceforge.net/sourceforge/ocsinventory/OCSNG_LINUX_SERVER_1.01
=> `OCSNG_LINUX_SERVER_1.01.tar.gz'
Résolution de mesh.dl.sourceforge.net... 213.203.218.122
Connexion vers mesh.dl.sourceforge.net|213.203.218.122|:80...connecté.
requète HTTP transmise, en attente de la réponse...200 OK
Longueur: 6 631 615 (6.3M) [application/x-tar]
9
Téléchargement
Important
L'archive valide après téléchargement renvoie la somme md5 suivante:
20b2d902e159a62f69a8e9d127160a7b
Le téléchargement, la configuration et l'installation du client OCS feront l'objet d'un chapitre qui sera
abordé ultérieurement dans ce document.
10
Chapitre 5. Configuration et
installation
Ce chapitre décrit la configuration à réaliser sur le serveur avant d'installer GLPI et
OCSINVENTORY. En effet, les outils basés sur LAMP/WAMP nécessitent d'abord qu'on définisse:
• L'existence des utilisateurs et droits Unix requis dans l'arborescence au sein du système de fichiers
de l'hôte qui hébergera les applications
• L'existence des utilisateurs et droits Mysql requis sur le serveur Mysql de l'hôte qui hébergera les
applications
Pour le cas de GLPI, puisque l'on passe par le gestionnaire de paquet APT, tous les points énumérés
ci-dessus seront traités automatiquement. Pour OCS, les modifications à apporter sur le système hôte
seront décrites plus loin. Veillez simplement vérifier dans un premier temps qu'Apache puisse accéder
au répertoire /var/www/ en lecture et écriture.
Important
Puisque OCS Inventory n'est pas (encore) supporté par APT, il vous faudra installer les
librairies suivantes: php5 php5-mysql php5-gd perl libxml-simple-perl libcompress-zlib-perl
libdbi-perl perl libapache2-mod-perl2 libxml-simple-perl libcompress-zlib-perl libdbi-perl
libdbd-mysql-perl libapache-dbi-perl libnet-ip-perl libsoap-lite-perl. L'installation de ces
librairies sera décrite plus loin dans ce chapitre à la partie dedié à l'installation d'OCSNG.
Concernant GLPI, puisqu'il est supporté par apt, les dépendances vont s'installer via l'outil
de gestion de paquets.
Pour GLPI
Important
Cette section décrit la procédure pour installer GLPI. Vous ne devez lire cette section
qu'après avoir effectué les démarches indiquées pour télécharger GLPI dans le chapitre
"Téléchargement".
Libre à vous de déterminer si vous souhaitez utiliser cette option. Elle n'est pas nécessaire pour
le fonctionnement de GLPI. Le script d'installation confirme la réussite de cette étape en vous
invitant à lancer un navigateur web :
11
Configuration et installation
Continuez d'abord l'exécution du script d'installation de GLPI, lequel va vous demander à présent
de saisir le mot de passe de l'administrateur MySQL:
3. Ensuite, le script vous demande d'entrer un mot de passe de connexion MySQL pour le compte
utilisateur glpi :
4. Après ces quelques réglages pour la partie MySQL, le script effectue le dépaquetage et
l'installation de GLPI :
1. A présent, vous pouvez vous rendre à l'adresse http://serveur/glpi pour continuer l'installation.
Choisissez la langue par défaut pour GLPI, et cliquez sur "OK". Lisez et acceptez la licence
d'utilisation, choisissez enfin si vous souhaitez faire une installation ou une mise à jour, et
poursuivez.
2. GLPI procède maintenant à un test global de configuration (droits sur les répertoires, droits mysql
et configuration PHP) et ne confirmera cette étape qu'a partir du moment ou chaque point est
validé. Si ce n'est pas le cas, revérifiez vos droits Unix sur les répertoires spécifiés, assurez vous
que votre configuration PHP/MySQL soit conforme aux exigeances du serveur (si vous utilisez
Ubuntu serveur, il ne devrait pas y avoir de problème particulier). Lorsque GLPI à validé cette
étape, vous pouvez cliquer sur le bouton Continuer.
12
Configuration et installation
3. A présent, vous devez inscrire l'adresse IP du serveur MySQL (saisissez localhost si le serveur
MySQL est sur le même hôte que GLPI), ainsi le nom d'utilisateur et le mot de passe de
l'administrateur de MySQL.
Important
Attention, il s'agît bien du compte de l'administrateur du serveur MySQL (en général
"root" par défaut) et non pas le nom du compte principal de glpi, à savoir l'utilisateur
"glpi".
4.
Après avoir validé les paramètres de MySQL, vous devez spécifier la base de données cible dans
laquelle sera injecté le script qui contient toutes les commandes SQL à exécuter pour installer
la base de données de GLPI. Soit vous disposez d'une base existante dediée à GLPI, et dans ce
cas, vous la sélectionnez ici dans la liste, soit vous pouvez entrer un nom pour créer une nouvelle
base qui servira à GLPI. Après confirmation de cette étape, GLPI vous confirme l'installation et
vous donne quelques indications pour démarrer :
13
Configuration et installation
Cette partie est terminée. Vous pouvez vous connecter à GLPI en vous rendant à l'adresse http://
serveur/glpi en utilisant le login "glpi" et le mot de passe "glpi". Il existe également un utilisateur
HELPDESK qu'il ne faut absolument pas supprimer. Ce compte est utilisé par GLPI pour traiter le
service Helpdesk. A l'écran suivant, GLPI vous fera un récapitulatif des couples login/mot de passe
de chaque utilisateur par défaut:
Pour OCSNG
OCSNG n'est pas inclus dans les dépôts APT. Il faut donc installer ses dépendances avant de procéder
à son installation. La procédure ci-dessous décrit la marche à suivre:
1. L'interface d'OCS est en php et s'appuie sur des scripts perl, nous allons donc installer un serveur
web incluant la prise en charge de perl. OCS inventory utilise une base de données SQL pour
stocker les informations, tout comme GLPI. Il faut donc procéder à l'installation d'un serveur de
base de données, ici MySQL dans sa version 5.0 (version minimale requise). Si ce n'est pas déja
fait, installez les paquets suivants:
14
Configuration et installation
3. Une fois les modifications effectuées et sauvegardées, il faut redémarrer le service Apache :
2. Changement de répertoire :
[user@machine]:$cd OCSNG_LINUX_SERVER_1.01/
[user@machine]:$sudo ./setup.sh
+----------------------------------------------------------+
| |
| Welcome to OCS Inventory NG Management server setup ! |
| |
+----------------------------------------------------------+
Si l'hôte qui exécute OCSNG est aussi l'hôte qui exécute le service MySQL, appuyez sur la touche
ENTREE pour que localhost soit validé comme nom de serveur de la base de données.
A partir de là, à moins que vous ayez des exigeances particulières en termes de paramètrages,
acceptez les valeurs par défaut en appuyant sur ENTREE à chacune des interruptions suivantes:
15
Configuration et installation
Il vous sera demandé de spécifier le répertoire qui définit la variable DocumentRoot d'Apache.
Renseignez en spécifiant: /var/www/. L'installation se termine avec succès par un message
stipulant : "Enjoy OCS Inventory NG ;-)"
1. La configuration d'OCSING se fait via le navigateur Web. Vous y accedez via l'url http://machine/
ocsreports/install.php en remplaçant "machine" par l'IP ou le nom DNS de l'hôte qui hébèrge
OCS.
• A) Le login du compte administrateur de Mysql ("root" par défaut sur Ubuntu serveur)
2. N.B. : Le script créera la base de données "ocsweb", l'utilisateur MySQL "ocs" avec un mot
de passe "ocs". Il donnera aussi à l'utilisateur "ocs" les privilèges "Select | Insert | Update |
Delete | Create | Drop | References | Index | Alter | Create temp | Lock" sur la base de données
"ocsweb". L'utilisateur sera le compte par défaut pour le serveur d'Administration et le serveur de
Communication. Si vous ne voulez pas utiliser l'utilisateur MySQL par défaut "ocs" avec son mot
de passe "ocs", vous devez alors mettre à jour dans le fichier dbconfig.inc.php la constante
COMPTE_BASE, qui définit le login de l'utilisateur, et PSWD_BASE, qui définit le mot de passe
utilisateur. Ne pas oublier de mettre également à jour le fichier de configuration du serveur de
communication, plus spécifiquement son fichier de configuration Apache.
3. Insertion du TAG : Ce champ vous sert a rentrer un texte décrivant le TAG, un caractere affiché au
premier lancement de l'agent demandant a l'utilisateur d'entrer la valeur TAG. C'est une donnée
générique qui vous permet de trier les nouveaux ordinateurs (site géographique , etc ... ). Si vous
ne voulez pas cette fonctionnalité, vous pouvez laisser ce champ vide.
16
Configuration et installation
4. Comme indiqué sur la dernière page, l'installation est terminée. Le login est « admin » et le mot
de passe « admin ». Cliquez ensuite sur "Click here to enter OCS-NG GUI" pour accéder au
serveur. Lors de la connexion, vous pouvez cliquer sur la drapeau qui permettra de mettre le
logiciel en français.
17
Chapitre 6. Installation du client
OCSNG
Installation du client OCSNG pour clients
Linux
Résumé
Installer le client OCSNG Inventory
Pour installer la version de OCS Inventory Client il faut installer les dépendances suivantes :
18
Installation du client OCSNG
[user@machine]:$wget http://ovh.dl.sourceforge.net/sourceforge/
ocsinventory/OCSNG_LINUX_AGENT_1.01_with_require.tar.gz
--09:45:44-- http://ovh.dl.sourceforge.net/sourceforge/
ocsinventory/OCSNG_LINUX_AGENT_1.01_with_require.tar.gz
=> `OCSNG_LINUX_AGENT_1.01_with_require.tar.gz'
Résolution de ovh.dl.sourceforge.net... 213.186.33.91
Connexion vers ovh.dl.sourceforge.net|213.186.33.91|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK
Longueur: 688 312 (672K) [application/x-gzip]
OCSNG_LINUX_AGENT_1.01/
OCSNG_LINUX_AGENT_1.01/changelogs
OCSNG_LINUX_AGENT_1.01/require/
OCSNG_LINUX_AGENT_1.01/require/libwww-perl-5.805.tar.gz
OCSNG_LINUX_AGENT_1.01/require/Compress-Zlib-1.34.tar.gz
OCSNG_LINUX_AGENT_1.01/require/XML-Simple-2.14.tar.gz
OCSNG_LINUX_AGENT_1.01/require/Net_SSLeay.pm-1.25.tar.gz
OCSNG_LINUX_AGENT_1.01/require/Digest-MD5-2.36.tar.gz
OCSNG_LINUX_AGENT_1.01/require/Net-IP-1.24.tar.gz
OCSNG_LINUX_AGENT_1.01/require/dmidecode-2.8.tar.gz
OCSNG_LINUX_AGENT_1.01/ipdiscover.h
OCSNG_LINUX_AGENT_1.01/ipdiscover.c
OCSNG_LINUX_AGENT_1.01/logrotate.ocsinventory-client
OCSNG_LINUX_AGENT_1.01/Ocsinventory/
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Agent.pm
OCSNG_LINUX_AGENT_1.01/Ocsinventory/README
OCSNG_LINUX_AGENT_1.01/Ocsinventory/MANIFEST
OCSNG_LINUX_AGENT_1.01/Ocsinventory/ocsinventory-client.pl
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Makefile.PL
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Agent/
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Agent/Option/
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Agent/Option/Ipdiscover.pm
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Agent/Option/Download.pm
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Agent/Option/Update.pm
OCSNG_LINUX_AGENT_1.01/Ocsinventory/Agent/Common.pm
OCSNG_LINUX_AGENT_1.01/README
OCSNG_LINUX_AGENT_1.01/setup.sh
[user@machine]:$cd OCSNG_LINUX_AGENT_1.01/
[user@machine]:~/OCSNG_LINUX_AGENT_1.01$sudo ./setup.sh
• -Local : l'ordinateur n'est pas connecté au réseau, l'inventaire sera généré dans un fichier qui
sera envoyé manuellement à l'opérateur OSC Inventory NG
19
Installation du client OCSNG
Nous allons choisir la méthode « HTTP » en entrant l'adresse du serveur qui hébèrge le serveur
OCS Inventory NG. Ensuite il faut saisir l'IP du serveur OCS, puis entrer le port (le port HTTP
par défaut étant le port 80). Comme nous l'avions vu précédemment, nous avons ignoré la
configuration du TAG côté serveur, faisons donc de même côté client. Validez l'installation du
client soit en rebootant la machine, soit en exécutant le client manuellement pour forcer une
première détection de la machine client par le serveur OCS (le client ne se lance pas seul après
l'installation). Enfin, vérifiez sur l'interface du serveur OCS que la station sur laquelle vous avez
installé le client soit bien répertoriée.
Pour lancer le client OCSNG manuellement, exécutez dans un terminal la commande suivante :
[user@machine]:$ocsinv
Vous pouvez également ajouter une tâche Cron afin d'automatiser les mises à jour des informations
de la machine. Choisissez la fréquence de mise à jour en fonction du répertoire cron adéquat. On
choisira /etc/cron.weekly/ par exemple si l'on souhaite déclencher la vérification intégrale du
poste client une fois par semaine. L'exemple ci-dessous invoque la programmation de la tâche Cron
de façon hebdomadaire.
20
Chapitre 7. Supprimer GLPI et/ou
OCSING
Supprimer GLPI
Résumé
Cette section décrit comment désinstaller GLPI
GLPI se désinstalle très facilement d'Ubuntu serveur, puisqu'il est géré par APT. La méthode de
désinstallation est la suivante:
Supprimer OCSNG
Résumé
Cette section décrit comment désinstaller OCSNG
Pour OCSNG, c'est un peu moins évident car il n'existe pas de désinstallateur automatisé. Il faut donc
supprimer manuellement chaque fichier relatif à OCS, ainsi que les utilisateurs,tables, et bases de
données MySQL.
Pour la base MySQL, il suffit de jeter la base de données (ocsweb par défaut) et supprimer l'utilisateur
(ocs par défaut) en entrant les commandes MySQL ci-dessous:
21
Supprimer GLPI et/ou OCSING
Enfin, pour supprimer les fichiers sur le montage de fichiers, il suffit de synchroniser la base de données
des fichiers locaux avec la commande "updatedb" puis de taper ensuite "locate ocs" pour
connaître l'arborescence des fichiers à purger.
22
Chapitre 8. Conclusion
OCSING et GLPI fusionnent si bien ensemble car ils ont de nombreux points commmuns. Les deux
logiciels sont publiés sous la licence GNU/GPL v2.0, ce qui représente tout de même un avantage
légal certain dans la mesure ou les logiciels fonctionnant ensemble et provenant d'éditeurs différents
ne sont pas forcément publiés sous la même licence d'exploitation, ce qui peut gêner les évolutions. En
outre, le code des deux logiciels est ouvert et modifiable à souhait. De plus, les deux logiciels sont des
produits mûrs et pérène sur lesquels travaillent de nombreux collaborateurs. Enfin, ils reposent sur la
même technologie, un environnement LAMP, ce qui facilite les transactions (tous deux fonctionnent
avec MySQL) et leur utilisation (on exploite les deux simultanément à partir d'un simple navigateur
web). Ce sont donc deux solutions qui une fois couplées, assurent une gestion efficace d'un parc
informatique. Leur implémentation est aisée à mettre en oeuvre et n'entraîne que peu de modifications
au sein d'une architecture informatique existante. De même qu'ils n'exploitent que des services faibles
en consommation de ressources machines (temps d'utilisation processeur et RAM très faible et aucun
besoin de temps réel, ni de très haute disponibilité) ce qui fait qu'on peut les exploiter en environnement
virtualisé, réduisant ainsi considérablement les coûts de déploiement sur serveur.
23
Chapitre 9. Liens
Sources et annexes
Résumé
Les ressources ayant servies à l'élaboration de ce document
Sources de ce document:
GLPI
GLPI : http://glpi-project.org
FORUM : http://glpi-project.org/spip.php?article76
WIKI : http://glpi-project.org/spip.php?article174
OCSNG
OCSNG : http://www.ocsinventory-ng.org
UBUNTU LINUX
SITE OFFICIEL : http://www.ubuntu-fr.org/
24
La technologie RFID
A propos de ce document
Ce document fut rédigé dans le cadre du projet de synthèse de la formation TSGRI AFPA 2008. Il présente une
synthèse sur la technologie RFID, son mode de fonctionnement, son utilisation et ses enjeux.
Table des matières
1. Présentation de la technologie RFID ............................................................................. 1
Principe des ondes ................................................................................................ 1
Origine et standards de la technologie RFID .............................................................. 2
Origine de la technologie RFID ....................................................................... 2
Les standards RFID ....................................................................................... 2
Fonctionnement de la technologie RFID ................................................................... 3
Principe de fonctionnement ............................................................................. 3
Les puces RFID ............................................................................................ 4
Les radio-étiquettes ....................................................................................... 4
Les lecteurs RFID ......................................................................................... 4
Schéma d'une plate - forme RFID .................................................................... 5
Les Fréquences RFID ............................................................................................ 6
Caractéristiques et applications des basses fréquences .......................................... 6
Caractéristiques et applications des hautes fréquences .......................................... 6
Caractéristiques et applications des ultra hautes fréquences ................................... 6
Caractéristiques et applications des micro-ondes ................................................. 7
Le rapport entre l'application et le choix des fréquences ....................................... 7
La puissance du niveau de transmission ............................................................ 7
Croissance de la technologie RFID .......................................................................... 7
2. Applications RFID .................................................................................................... 9
La traçabilité industrielle ....................................................................................... 9
La logistique : Premier secteur porteur pour le RFID ........................................... 9
L'exemple de Walmart ................................................................................... 9
L'exemple de Checkpoint Meto ....................................................................... 9
RFID et le marquage de documents .......................................................................... 9
L'exemple de Nagoya Bank ............................................................................ 9
L'exemple du Vatican .................................................................................. 10
Bibliothèques et Campus universitaires ............................................................ 10
Autres domaines d'applications du RFID ................................................................. 10
La géolocalisation ....................................................................................... 10
La santé ..................................................................................................... 10
Les animaux ............................................................................................... 10
La sécurité ................................................................................................. 11
Le futur de la technologie RFID ............................................................................ 11
Un champ de possibilités à peine exploité ........................................................ 11
Des objets intelligents .................................................................................. 11
Projets pilotes ............................................................................................. 11
3. Les risques liés au RFID ........................................................................................... 13
Problèmes d'éthique : Analyse de la CNIL ............................................................... 13
Contexte des craintes ................................................................................... 13
L'insignifiance des données ........................................................................... 13
La priorité des données ................................................................................ 13
La logique de mondialisation ......................................................................... 13
Le manque de vigilance ................................................................................ 13
Les failles techniques du RFID .............................................................................. 14
L'interférence .............................................................................................. 14
L'atténuation ............................................................................................... 14
La distortion par chemins multiples ............................................................... 14
Les failles de sécurité du RFID ............................................................................. 15
Une trop grande confiance au modèle ............................................................. 15
Corruption des données via RFID .................................................................. 15
La législation sur le RFID .................................................................................... 15
Une divergence selon les nations .................................................................... 15
4. Pratiques de déploiement et mise en place d'un réseau RFID d'après les recommendations
du Ministère de l'Economie, des Finances et de l'Industrie .................................................. 17
iv
La technologie RFID
v
Liste des tableaux
1.1. Fréquences / longeurs d'ondes ................................................................................... 2
1.2. Croissance des étiquettes RFID ................................................................................. 8
vi
Chapitre 1. Présentation de la
technologie RFID
Principe des ondes
Cette section rappelle brièvement la nature des ondes et leur principe de fonctionnement.
Une onde quelquonque est définie comme une perturbation qui transporte de l'énergie d'un point
à un autre. Une onde radio est créee lorsque les électrons se déplacent à travers un matériau
conducteur, comme un cable électrique. Le courant crée un champ magnétique. Les fluctuations dans
le courant produisent des changements dans le champ magnétique, créant ainsi des ondes d'énergie
électromagnétique. Il existe différents types d'ondes que l'on rencontre autres que les ondes radios,
comme les micro-ondes, les ondes gamma, les rayons X, et la lumière. Les ondes électromagnétiques
oscillent ou vibrent sur une certaine amplitude, en fonction du type d'onde. Les ondes radio sont des
ondes électromagnétiques de basse fréquences, ce qui signifie qu'elles oscillent plus lentement que
les autres types d'ondes électromagnétiques, mais aussi que leur longueur d'onde est plus grande.
Une onde radio oscille. Cela signifie qu'elle s'élève de vers sa crête, puis chute au minimum, puis
remonte vers la crête, et répète ainsi le même cycle. L'intervalle entre deux "crètes" est appellé un
cycle. Le terme "fréquence" se réfère à l'indice d'oscillation de l'onde, c'est à dire le nombre de cycles
effectués en une seconde. La fréquence se mesure en hertz, d'après le nom d eHeinrich Hertz, un
pionnier de la radio-transmission. On les nomme d'ailleurs les ondes Hertziennes (Hz). 1Hz est donc un
cycle par seconde. Ainsi, une onde radio de 458 megahertz (MHz) oscille à 458 cycles par seconde. La
distance entre deux crètes est appelée la "longueur d'onde". La longueur d'onde est mesurée en mètres,
centimètres, etc.. Toute fréquence donnée correspond une longueur d'onde spécifique. Le rapport est
inversement proportionnel : Au plus la fréquence est haute, au plus la longeur d'onde est basse. Par
exemple, une longeur d'onde de 33 centimètres correspond à une fréquence de 915 MHz.
1
Présentation de la technologie RFID
Même si les ondes radio ont des caractéristiques communes avec d'autres types d'ondes, elles sont
très différentes des ondes lumineuses ou gamma par exemple. Bien que les ondes radio et les ondes
lumineuses circulent sans problème dans l'air, les ondes radio peuvent, contrairement aux rayons
lumineuses, traverser des matériaux tels que le plastique, le carton, le bois, les vêtements ... Cependant,
les ondes radio passent difficilement à travers le métal, la graphite, le sodium, et les liquides. On
dit alors que ces matériaux sont "opaques". Les différentes fréquences d'ondes que l'on utilise ont
chacune leurs singularités pour pénétrer et traverser les divers matériaux. Ces singularités sont un
critère technique majeur à prendre en compte lors du déploiement d'une plate-forme RFID.
Les fréquences radio ont trois caractéristiques majeures qui doivent retenir l'attention lorsque l'on
souhaite déployer un réseau RFID : La fréquence, la longueur d'onde, et la puissance. La fréquence et
la longueur d'onde sont étroitement liées, et représentent les critères les plus importants à considérer
dans l'approche technique d'un déploiement d'une solution RFID.
Bien que cette technologie soit exploité depuis quelques années seulement par l'industrie et les
autorités gouvernementales, son origine remonte à la seconde guerre mondiale puisque la Royal Air
Force l'utilisait pour différencier ses avions des avions ennemis.
Avec les années, cette technologie s'est développée sur deux principaux axes : miniaturisation et
normalisation. La normalisation du RFID à ouvert son champ d'utilisation, et si son utilisation de départ
était reservé au domaine militaire, c'est à présent dans le domaine industriel (notamment logistique)
que cette technologie trouve sa place.
2
Présentation de la technologie RFID
l'adoption d'un standard et poussent ainsi les constructeurs à faire disposer de la meilleure technologie
pour un coût raisonnable d'acquisition. Dans le cadre de l'installation d'une plate-forme RFID comme
pour n'importe quelle autre technologie, il est très apprecié que la solution déployée soit respectueuse
des standards et garantisse une compatibilité maximale à long terme avec des produits conccurents,
eux aussi respectueux des mêmes standards. Ainsi, le coût de déploiementet l'acquisition des différents
équipements seront moins élevés, et l'ensemble sera plus facilement interchangeable. De plus, la
formation et la recherche de personnes compétentes pour manier les outils sera plus aisée, puisque une
technologie adoptée en standard est universalement enseignée.
Contrairement aux ondes lumineuses, les ondes radio peuvent pénétrer la plupart des matériaux. Elles
passent facilement à travers le papier, le carton, le bois, les vêtements, le plastique, le cuir ... Cette
particularité est un avantage clé de la technologie RFID par rapport aux codes-barres : Les radio-
étiquettes RFID (TAGS) peuvent êtres lues sans être directement reliées avec l'équipement de lecture
des étiquettes tandis que les codes-barres doivent être scannés individuellement par le lecteur, ce qui
implique souvent une personne employée spécifiquement à la réalisation de cette tâche. Un TAG
RFID dans un système bien conçu permet d'automatiser et accélerer le traitement des enregistrements
sans intervention humaine. En revanche, les matériaux dits "opaques", obstruant la circulation des
ondes rendent difficile la pénétration des ondes sur ces types de matériaux. Les ondes de basses et
3
Présentation de la technologie RFID
hautes fréquences peuvent les pénétrer et même passer autour, mais les TAGS communiquant sur
ces fréquences sont trop encombrants et trop chers pour être mis en oeuvre dans le déploiement d'un
dispositif de traçabilité. Les TAGS utilisant les ondes à ultra hautes fréquences sont biens moins
chers à produire, et sont donc devenus les supports les plus répandus dans le domaine de la traçabilité
industrielle, puisque la quantité de TAGS à produire et le coût à l'unité est un facteur déterminant dans
le choix de l'adoption d'une plate-forme RFID. Cependant, les ultra hautes fréquences sont absorbées
par les liquides, le sodium, le graphite, et sont réflechies par les métaux. Ces contraintes sont à prendre
en compte lors de l'étude d'implantation d'un réseau RFID
Les radio-étiquettes
Les radio étiquettes sont équipées d'une puce et d'une antenne. On les appelle Tags (ces étiquettes
contiennent les puces RFID). Ces radio-étiquettes sont dîtes "passives" car elles ne peuvent fonctionner
sans un lecteur leur fournissant de l'énergie à proximité. Une étiquette RFID est une étiquette adhésive
fine faite de rhodoïd (matière plastique à base d'acétate de cellulose, transparente et incombustible
développée par Rhône-Poulenc en 1936) que l'on fait adhérer sur la surface d'un objet que l'on souhaite
tracer. La masse de l'étiquette est infime, et son coût de production est en baisse constante grâce à
la généralisation de son utilisation. Certaines étiquettes nouvelle génération sont actives, ou semi-
actives. Ces étiquettes, qu'on appelle BAP (Battery Assisted Passive Tags : Tags passifs assistés par
batterie) intègrent une pile d'alimentation leur permettant d'emettre un signal. L'avantage est que
ces étiquettes peuvent être lues à longue distance, et qu'elles peuvent enregistrer des informations à
intervalles réguliers.
4
Présentation de la technologie RFID
5
Présentation de la technologie RFID
Ces fréquences sont utilisées dans l'identification des animaux domestiques et sauvages et du bétail.
Puisque ces fréquences traversent facilement le corps humain, on les utilise par exemple dans le
domaine de la sécurité, par contrôle d'accès par badge, ou encore les clés électroniques sans serrure
dont sont équipées certaines automobiles.
La norme ISO qui définit l'usage de la technologie RFID pour ce type de fréquence est la norme ISO/
IEC 18000 Partie 2.
Les hautes fréquences sont par exemple utilisés dans la traçabilité des livres de bibliothèques, les
bagages d'aéroport. Les zones d'accès contrôlées de certains batiments se font aussi par le biais de
RFID haute fréquence, ce qui permet d'authentifier les personnes sans contact par carte électronique.
Les normes ISO qui définissent l'usage de la technologie RFID pour ce type de fréquence sont les
normes ISO/IEC 18000 Partie 3, ISO 15693, ISO 14443 parties A et B.
Les fréquences UHF sont par exemple utilisées dans les entrepôts pour comptabiliser les palettes, ou
encore pour étiquetter les articles de certains magasins, les bagages d'aéroport... Au cours des dernières
années, les efforts faits en matière de standardisation ont généralisé et favorisé l'utilisation des hautes
fréquences.
6
Présentation de la technologie RFID
Les normes ISO qui définissent l'usage de la technologie RFID pour ce type de fréquence sont les
normes ISO/IEC 18000 parties 6 et 7, EPC Global Gen-1 et Gen-2.
La norme ISO qui définit l'usage de la technologie RFID pour ce type de fréquence est la norme ISO/
IEC 18000-4.
7
Présentation de la technologie RFID
On peut estimer que le rythme de cette croissance sera en hausse à l'avenir puisque l'augmentation
de la fiabilité technique des étiquettes étendra leur usage dans d'autres secteurs, notamment la santé
et la géo-localisation.
8
Chapitre 2. Applications RFID
La traçabilité industrielle
La logistique : Premier secteur porteur pour le RFID
L'essor du RFID ces dernières années s'est surtout fait dans l'industrie logistique. C'est même
aujourd'hui le domaine de priviliégié de la technologie RFID. Certains prétendent même que le RFID
devrait être à plus ou moins long terme le successeur du code à barres de la norme UPC/EAN. En effet,
cette technologie présente un interêt majeur dans la gestion des flux entrée-sortie des marchandises.
La traçabilité en est grandement facilité, bien que le coût et l'efficacité réelle du RFID soit sujet à
contrôverse.
L'exemple de Walmart
Une analyse effectuée chez WallMart (prestataire de grande distribution Américain) indique que
le RFID peut réduire les ruptures d'inventaire d'environ 30% pour les produits ayant un taux de
rotation compris entre 0,1 et 15 unités par jour. Si l'efficacité du RFID dans l'ensemble de la chaîne
logistique est discuté, de nombreux experts s'accordent à dire que le RFID est très avantageux pour "les
produits à forte valeur ajoutée et à forte rotation, c'est à dire à durée de vie limitée" confirme un
représentant de SAP, pour le journal Zdnet. Le système RFID est considéré comme "une technologie
qui permet d'optimiser toute la chaîne d'approvisionnement en offrant une plus grande résistance
aux manipulations, une plus grande vitesse de repérage et une sécurité accrue, car il est possible de
leur intégrer un mot de passe." L'objectif majeur de la technologie RFID dans la logistique est de
permettre d'accélerer l'automatisation de l'enregistrement et du suivi de produits sur une chaîne de
transport. L'avantage de rendre les produits "intelligents" via une puce électronique embarquée permet
une gestion plus souple des processus de provisioning et une meilleure anticipation pour détecter les
ruptures, les quantités et les délais sur l'ensemble d'une chaîne de livraison, de la production à la
consommation. Une étude datant de 2006 menée par l'organisation GS1 France auprès d'une dizaine
d'entreprises à revelé que la fiabilité de la lecture en masse d'étiquettes RFID sur des cartons était
fiable de 92 à 100% sur la bande de fréquence de 865 à 868 MHz. A ces hautes fréquences, certains
produits liquides et métalliques atténuent le signal. Un autre test utilisant la bande de fréquences de
13,56 MHz atteste un taux de fiabilité atteignant 98%.
9
Applications RFID
L'exemple du Vatican
Au vatican, 50 000 des 120 000 ouvrages disponibles à la lecture ont été équipés d'étiquettes RFID.
Les documentalistes peuvent ainsi mieux situer les livres déplacés et peuvent en outre, une fois par
an, procéder à un inventaire de manière beaucoup plus rapide.
Les parcs de vélo Vlib à Paris et à Lyon utilisent également le RFID pour la gestion de l'emprunt
des vélos. Des épreuves sportives comme le marathon de Paris, ou le Tour de France équipent les
participants de puces RFID pour suivre le chronométrage de chacun au passage de la ligne d'arrivée.
La santé
La technologie RFID connaît aussi un essor important dans les milieux hospitaliers. L'industrie
pharmaceutique utilise la bande des ultra haute fréquences (UHF) RFID pour marquer les containers
métalliques, les bacs en plastiques servant aux livraisons quotidiennes. Le RFID ne peut pas encore être
généralisé dans ce domaine dans la mesure ou certains éléments ne sont pas adaptés aux RFID et sont
isolants, comme les boîtes en aluminium contenant des pilules. En revanche, les plate-formes RFID
répondent à une large gamme de besoins dans les hopitaux. Par exemple, la conception de médicaments
sur place dans un hopital pose quelques contraintes au niveau de la traçabilité. Le conditionnement des
matières premières, la préparation chimique des médicaments exigent une supervision accrue. En cas
de problème avec un patient, il faut pouvoir remonter la chaîne et trouver le médicament incriminé.
Dans un hopital, la chaine de production n'est pas automatisée en raison des faibles quantités produites.
La plupart des étapes sont faites manuellement, et la gestion de la traçabilité est sous la résponsabilité
du pharmacien de l'hopital. Une plate-forme RFID peut-être un avantage ici et ainsi assurer le contrôle
du cycle de vie des médicaments, de leur confection à leur préparation pour les patients. En diminuant
les opérations manuelles, on diminue le nombre de saisie et les risques d'erreurs. Les Tags RFID
permettent à la plate-forme de contrôler des informations comme les numéros de lot, les délais de
péremption, où le contrôle des dosages. Dans un autre domaine, les étiquettes RFID plaçées sur les
vêtements des patients permet la géolocalisation de ces derniers, leur permettant de circuler librement
tout en facilitant leur recherche.
Les animaux
La technologie RFID est aussi utilisée sur les animaux, pour surveiller les espèces protégées, mais
aussi dans le secteur de l'élevage. Elle doit théoriquement permettre d'identifier la provenance des
viandes et de suivre celles qui auraient pu être infectées par des virus. Le marquage peut également
10
Applications RFID
être déposé de façon sous-cutanée sur les animaux domestiques pour pouvoir mieux les retrouver s'ils
venaient à se perdre. On utilise une seringue pour inoculer le marqueur sur l'animal. Au Portugal, un
projet de loi prévoit que les chiens doivent être "tagués" RFID d'ici 2007, pour des raisons de santé
publique mais aussi pour favoriser la lutte contre la rage.
La sécurité
Enfin, la sécurité des biens et des personnes est un autre domaine dans lequel le RFID est expérimenté.
Certains laboratoires de recherches en sécurité et lutte contre le terrorisme proposent d'implanter
des puces RFID de manière sous-cutanée sur des personnalités, ceci afin de localiser facilement le
sujet en cas d'enlèvement. L'argument de la sécurité et de la protection du territoire sont d'ailleurs
fortement mis en avant par les promoteurs du RFID. De ce point de vue, certains industriels de l'agro-
alimentaire souhaitent incorporer des capteurs biologiques sur les puces RFID. En les plaçant sur
les aliments, ils souhaitent promouvoir leur technologie comme une mesure anti-terroriste pouvant
empecher l'empoisonement volontaire des denrées alimentaires.
Projets pilotes
A MODIFIER :La Poste Finlandaise veut faire de cette technologie un modèle européen en matière
d'identification automatique par radiofréquence. Une première étape consistera à équiper les 200 000
11
Applications RFID
cages métalliques qui servent au transport du courrier afin de les suivre et de réduire les pertes annuelles
qui concernent une moyenne de 17 000 cages (8,5% du parc) pour un coût de 1,3 million d'euros. Un
premier pilote sur 200 cages a coûté 100 000Euros et a permis de valider la technologie. Les résultats
extrêmement satisfaisants ont conduit à planifier l'extension à toutes les cages métalliques d'ici 2008.
En 2009, les bacs plastiques seront tagués à leur tour avant d'entreprendre au début de la prochaine
décennie la pose de tags sur tous les objets postaux : lettres, colis et magazines.
Siemens Business Services annonçait en 2006 le lancement d'un projet pilote en partenariat avec
MedicAlert aux Etâts-Unis pour tester l'utilisation du RFID dans un contexte d'urgence médicale.
3500 membres de MedicAlert disposèrent de cartes d'identification dans lesquelles une puce RFID
contenait leur dossier médical. Le personnel médical pouvait alors accéder immédiatement aux
informations des membres via des PDAs avec lecteurs RFID pour prévoir les soins nécessaires, puis
accéder à la base de données MedicAlert contenant le dossier détaillé du patient une fois arrivé à
l'hopîtal. Une première phase pilote avait été fut testée fin 2005. Cette deuxième phase se faisait à plus
grande échelle en raccordant une plate-forme RFID au réseau hospitalier.
12
Chapitre 3. Les risques liés au RFID
Problèmes d'éthique : Analyse de la CNIL
Contexte des craintes
L'autre grande polémique sur le RFID pose la question sur le fichage des individus. En effet, avec la
généralisation des puces RFID, on pourrait par exemple être bientôt en mesure de lire les puces RFID
des articles des clients dans les galeries marchandes. et ainsi répertorier n'importe quel comportement,
comme un vol à l'étalage, ou l'achat imprévu en passant à proximité d'une vitrine. A l'heure actuelle, les
tentatives de déploiement d'étiquettes RFID dans les linéaires des supermarchés ont déja fait l'objet de
vives protestations. L'argument majeur de la peur du RFID est que tous les comportements individuels
pourraient être minutieusement analysés et rassemblés dans d'immenses bases de données croisées.
Les puces RFID pourraient être une sorte de cookie matériel pouvant servir à pister les individus,
leurs comportements, leurs habitudes et leurs consommation, le tout à leur insu, puisque la lecture
des puces se fait en aveugle, via des ondes radio. Le professeur Philippe Lemoine, membre de la
CNIL (Comission Nationale Informatique et Libertés) expose dans une interview publiée sur le site
de futura-science une "menace en quatre pièges".
La logique de mondialisation
Le troisième piège selon Philippe Lemoine est "la logique de mondialisation". En effet, si un pays
est considéré comme trop restrictif sur la législation qui régît l'utilisation du RFID dans un pays,
rien n'empêche une firme de délocaliser sa base de données dans un pays comme les Etâts-Unis par
exemple, ou la législation sur la collecte d'informations privées est moins restrictive, et ou il n'existe
pas d'équivalent à la CNIL.
Le manque de vigilance
Enfin, le quatrième piège évoqué est le manque de vigilance individuelle. Le réseau RFID étant basé
sur des radio-transmissions aveugles, le citoyen lambda ne mesure pas vraiment l'impact du RFID
dans sa vie de tous les jours. De plus, aucune autorisation de la part du détenteur d'un TAG RFID
n'est requise pour lire les informations de la puce. Le porteur n'a donc aucun contrôle sur l'accès de
13
Les risques liés au RFID
sa propre puce. la puce emet à la demande, dès qu'un lecteur se trouve à proximité. Le rayonnement
d'un TAG RFID est presque illimité dans le temps.
La plupart des téléphones sans fil aujourd'hui sont réglés autour de 900MHz, ce qui peut causer des
interférences avec des lecteurs RFID prévus pour fonctionner en UHF. D'autres téléphones utilisent
aussi les fréquences à micro-ondes.
L'atténuation
L'atténuation est l'affaiblissement de l'émission d'un signal proportionnel à la longueur de la distance
parcourue. Les objets dîts opaques contribueront au augmenter l'atténuation du signal.
14
Les risques liés au RFID
présentes dans les poches de vêtements, les chariots élévateurs.Tous ces parasites peuvent dupliquer
un signal radio, lesquels seront acheminés de façon hasardeuse aux lecteurs avec un décallage de
temps non maitrisé entre deux copies d'un même signal, ce qui crée des problèmes de réception pour le
lecteur. Dans un autre cas de figure, il est possible que deux Tags RFID transmettent un signal à partir
de la même fréquence source au lecteur, ce qui crée une annulation, et inéluctablement un délai dans la
réception. Cela implique donc la gestion d'un processus de renvoi immédiat du signal en cas d'échec.
Certaines des puces actives UHF et les puces à micro-ondes opèrent à des fréquences suffisament
elevées pour communiquer en utilisant des protocoles assurant le contrôle de la transmission, et
s'assurant de la bonne réception des données.
15
Les risques liés au RFID
La CNIL souhaite officiellement qu'une technologie permettant la désactivation d'une puce (même
passive) soit mise en oeuvre le plus rapidement possible. En marge du cadre juridique, les initiatives
visant à mettre à jour les risques liés au RFID sont surtout entreprises par des associations, des
consultants en sécurité, des communautés d'utilisateurs. Les Allemands de l'association FoeBuD
estiment qu'il est plus efficace de mettre en oeuvre des parades techniques concrètes pour contrer les
"big brother des supermarchés" plutôt que de s'en remettre à un cadre juridique. Ainsi, la fondation
Allemande Bridge, association caritative de défense des citoyens dans la société numérique à financé
à hauteur de 15 000Euros le soutien du développement de DataPrivatizer, un appareil développé par
l'association FoeBuD qui consiste à détecter les puces RFID "dissimulées" dans les articles de grande
consommation afin de pouvoir les éliminer. DataPrivatizer fonctionne comme n'importe quel lecteur
de puce RFID, mais serait beaucoup moins cher : Le prix pour l'acquérir serait, selon l'assocation
FoeBuD de l'ordre d'une dizaine d'euros, contre environ 120Euros pour un lecteur classique.
16
Chapitre 4. Pratiques de déploiement
et mise en place d'un réseau RFID
d'après les recommendations
du Ministère de l'Economie, des
Finances et de l'Industrie
Le succès de la mise en place d'un réseau RFID passe par plusieurs points critiques. Une bonne
analyse en amont des besoins, une sensibilisation des utilisateurs finaux sont les éléments clés de
la conception d'un réseau RFID. Le site du Ministère de l'Economie, des Finances et de l'Industrie
Direction Générale des Entreprises Service des Technologies et de la Société de l'Information propose
un livre blanc pertinent sur la mise en place d'un réseau RFID. Ce document synthétise en 10 étapes
clés la description d'un déploiement.
17
Pratiques de déploiement et
mise en place d'un réseau RFID
d'après les recommendations
prestataires et sous traitants, pouvant utiliser
du Ministère de d'autres technologies de traçabilité. De plus, le RFID
l'Economie,
présente l'avantage d'un accès des
en écriture
Financessuretl'identification
de l'Industrie des objets (par le biais des puces actives).
Cette caractéristique est importante à prendre en compte dès lors que le RFID est la seule technologie
capable de faire évoluer les informations contenues dans les puces au sein des différentes étapes du
cycle logistique.
18
Pratiques de déploiement et
mise en place d'un réseau RFID
d'après les recommendations
même que, le logiciel directement interfacéde
du Ministère avec le réseau RFID sera très souvent un "middleware"
l'Economie,
et devra aussi être adapté pourdes assurer une et
Finances compatibilité
de l'Industriemaximale avec les divers autres progiciels
intégrés à la couche logicielle de l'entreprise. Cette compatibilité définira également les possibilités
d'évolution à long terme. En outre, un respect des standards et des normes facilitera les échanges
de données, que ce soit en boucle ouverte ou fermée, les données pourront circuler entre différentes
plates-formes logicielles, et même circuler par Internet. Les fonctionnalités courantes assurées par un
logiciel de traitement RFID sont l'horodatage des données, l'élimination des doublons, la vérification,
la validation, le cryptage et le décryptage lorsque c'est nécessaire.
1. Un banc de test : Une simulation "grandeur nature" permet de vérifier la viabilité de l'ensemble
de l'étude préliminiaire pour démontrer la possibilité de mise en exploitation.
2. Un pôle pilote : Un premier pôle restreint de la chaîne logistique doit servir de pôle pilote afin de
consolider l'application. Le bilan d'exploitation de ce premier pôle pilote permettra de valider la
fiabilité de la solution à plus grande échelle.
3. Déploiement global : Enfin, en dernier lieu, et après validation des deux étapes suivantes, le
déploiement global peut-être envisagé.
19
Chapitre 5. Conclusion
Des désaccords sur l'efficacité technique
En premier lieu, la contrôverse sur la technologie RFID est d'ordre technique : L'utilisation de
différentes plages de fréquences est inévitable dans la mesure ou les ondes sont sensibles aux matériaux
environnants, comme les métaux et les liquides. Il est donc impossibe d'unifier les différentes plates-
formes RFID au sein d'une seule et même fréquence ou bande de fréquences qui pourrait résoudre
tous les problèmes de traçabilité. Chaque domaine ou est exploité la RFID (commercial, médical..)
possède donc ses propres bandes de fréquences. En même temps, certaines applications différentes
peuvent aussi bien êtres gérées dans une seule bande de fréquence RFID (c'est le cas en logistique,
au sein des divers processus de la chaîne, ou l'on utilise principalement les canaux UHF). L'autre
problème technique dont souffre la RFID à l'heure actuelle est le manque de standardisation, bien que
des organismes comme l'ISO et EPCGlobal travaillent sur l'élaboration de normes internationales. La
standardisation permettra une meilleure compatibilité et plus de souplesses dans l'intégration d'une
plate-forme RFID en entreprise. A l'heure actuelle, il reste encore beaucoup de points à éclaircir
puisque aucun organisme n'est en mesure d'imposer des décisions sur une utilisation globale de la
RFID. En effet, l'attribution des canaux de fréquences radio relève de l'autorité de chaque nation. Il
est donc indispensable que les intégrateurs de solutions RFID portent à leur connaissances les lois en
vigeur dans leur pays conçernant les ondes radios.
20
Conclusion
connaissances des réels besoins, mais ausi d'une sous-estimation de l'impact du RFID sur l'ensemble
du système d'information, voire même sur l'ensemble de l'entreprise. Il est fréquent que les besoins
ne sont pas formulés correctement, surtout en ce qui concerne le volume et la sécurité des échanges.
Ces contraintes peuvent avoir été sous-estimées (environnement, sécurité, ...) ou au contraire, sur-
estimées là où elles n'ont pas lieu d'être (taux de lecture, vitesse de défilement, emplacement des
interrogateurs, ...). En définitive, tous les cas de figure font apparaître deux principaux défauts :
un manque d'ouverture et de flexibilité par rapport aux technologies conccurentes, lié aux lacunes
de standardisation. le deuxième point, plus d'ordre organisationnel, est généralement une mauvaise
évaluation de l'impact du projet sur l'ensemble de l'entreprise. La RFID n'est pas qu'une simple
technologie de remplaçement dans le domaine de la traçabilité industrielle. Les conséquences de sa
mise en place sont donc souvent mal évaluées. Dans ce cas, on peut même constater que la RFID n'est
pas plus économique, ni en argent, ni en temps de traitement.
La RFID et l'éthique
Les projets d'implantation de tags RFID sur les objets et les animaux sont déjà nombreux. Mais
qu'en est-il de l'être humain ? L'implantation sous-cutanée des TAGS est une étape qui fait parler
et couler beaucoup d'encre dans la presse. D'ailleurs, l'individu Lambda associe souvent (pour ne
pas dire systématiquement) la RFID à un système de surveillance accru des individus, et pose donc
des problèmes d'éthique, de nature à exposer de façon parfois exagérée, l'intrusion de la RFID dans
la confidentialité et la vie privée. Les exemples de projets "experimentaux" sont de plus en plus
nombreux. Certains hommes de loi mexicains se sont fait implanter sous la peau une puce destinée
à aider la police à les retrouver en cas d'enlèvement. Le fournisseur des puces sous cutanée s'appelle
VeriChip (filiale d'Applied Digital) et, d'après l'un de ses porte-parole, la société en aurait déjà vendu
1 000 à destination des êtres humains. Les associations et organismes de défense de la vie privée et
du consommateur font souvent entendre leur opinion dans la presse, et cela se traduit en général des
débats passionés, et de prises de positions qui, même si elles sont discutables quant aux réel danger
qu'elles dénonçent, sont à prendre en compte par un décideur qui supervise un projet RFID. En effet, si
les mass-médias reflètent une opinion hostile du grand public, il faut s'attendre à ce que les utlisateurs
de la technologie se montrent réfractaires à son implentation en entreprise. Il convient donc de faire
la lumière et de sensibiliser le personnel de l'entreprise sur la nature des données collectées et l'usage
qu'il sera fait de ces données. Le flou "technico-juridique" actuel qui règne dans le domaine de la
technologie RFID n'est pas à l'avantage de ses partisans. Il faut donc savoir convaincre, et sensibiliser
les utilisateurs finaux. Toutefois, derrière cette "phobie dogmatique" de la RFID se cachent des craintes
justifiées. Comme le souligne la CNIL, ce ne sont pas les données récoltées qui peuvent constituer
une entrave à la vie privée, mais leur croisement dans le but d'établir des profils personnalisés en tout
genre (profil médical, profil client...) et établir des stratégies marketing dans le but d'augmenter le
potentiel de vente en se basant sur des informations récoltées à l'insu du client. Quoi qu'il en soit, la
communication de nature invisible de la RFID effraie et est peut-être la source de la phobie dogmatique
envers la RFID. C'est la raison pour laquelle les associations de défense des consommateurs souhaitent
vivement qu'un dispositif visant à neutraliser les puces sur les articles lorsque ceux-ci sont achetés
soient mis en oeuvre.
21
Conclusion
d'applications autres que la traçabilité industrielle, ce qui va contribuer à dynamiser son marché. Si la
technologie RFID est en plein essor (avec notamment l'emergence de solutions conccurentes comme
le protocole RuBee, développé par l'IEEE sous la référence P1902.1 utilisant la fréquence basse 450
kHz et des TAGS de 1,5 mm d'épaisseur, assurant des débits de l'ordre de 300 à 9200 bits/s avec une
portée de 3 à 15 mètres) et que de plus en plus d'industriels et d'agences gouvernementales l'adoptent,
les principaux freins à l'heure actuelle demeurent un manque de souplesse dans l'intégration d'une
chaine de traçabilité à cause d'un manque de standards, un coût parfois mal estimé, et enfin, une phobie
dogmatique de la part du grand public.
22
Chapitre 6. Ressources
documentaires
Ministère de l'Economie, des Finances et de l'Industrie Direction Générale des Entreprises
Service des Technologies et de la Société de l'Information [http://www.industrie.gouv.fr/pdf/
deploiement_rfid_280206.pdf]
rfidvirus.org [http://www.rfidvirus.org/papers/percom.06.pdf]
Cerig [http://cerig.efpg.inpg.fr/]
Stid [http://www.stid.com/partners.php]
Radiorfid [http://www.radiorfid.com/]
EpcGlobal [http://www.epcglobalinc.org/home]
23
Mini Guide pratique sur MySQL
iv
Chapitre 1. L'environnement serveur
MySQL
Résumé
Chapterinfo
Ce chapitre regroupe un ensemble d'exemples de requêtes que l'on effectue sur un serveur MySQL.
La saisie de requêtes
Résumé
Comment saisir une requête MySQL ?
Voici un exemple de saisie de requête. La requête suivante demande des informations sur
l'environnement MySQL:
+--------------+--------------+
| VERSION() | CURRENT_DATE |
+--------------+--------------+
| 3.22.20a-log | 1999-03-19 |
+--------------+--------------+
1 row in set (0.01 sec)
La requête suivante demande à MySQL d'afficher les bases de données présentes sur le serveur:
mysql>SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| tmp |
+----------+
Important
La base intitulée "mysql" ne doit pas être effacée car elle est utilisée par MySQL pour gérer
les accès et les droits des utilisateurs. Il en va de même pour la base intitulée "test" qui sert
de base d'essai dans laquelle les utilisateurs peuvent tester leurs scripts et commandes sans
risques. Enfin, la table "tmp" est aussi indispensable puisqu'elle gère les données de cache de
MySQL. Ces trois bases sont créees à l'installation de MySQL.
1
L'environnement serveur MySQL
Enfin, on peut enchaîner les commandes à la suite. Le point virgule sert de séparateur. Une même
commande peut nécessiter plusieurs lignes de saisies sans que cela pose problème. Chaque ligne sera
considérée comme faisant partie de la même commande jusqu'a ce que le caractère point virgule soit
rencontré.
+--------------+
| VERSION() |
+--------------+
| 3.22.20a-log |
+--------------+
+---------------------+
| NOW() |
+---------------------+
| 1999-03-19 00:15:33 |
+---------------------+
+-------------+---------+
| SIN(PI()/4) | (4+1)*5 |
+-------------+---------+
| 0.707107 | 25 |
+-------------+---------+
Cette section résume les principales requêtes nécessaires lors de l'exploitation de base de données
MySQL. Il est décrit ici comment créer une base de données, créer des tables dans la base, insérer des
informations dans une table, et enfin interroger une table pour y lire les informations stockées.
mysql>use test
Database changed
2
L'environnement serveur MySQL
Important
Sous Unix, Mysql est sensible à la casse. Ainsi, MENAGERIE et menagerie seraient deux
noms de table différents.
Enfin, créer une base ne permet pas instantanément son exploitation. Il faut pour cela spécifier qu'on
souhaite l'utiliser en tapant: USE menagerie
On peut à tout moment consulter les propriétés d'une table (pour vérifier que sa création s'est bien
déroulée par exemple) avec la commande DESCRIBE:
mysql>DESCRIBE animal;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| nom | varchar(20) | YES | | NULL | |
| maitre | varchar(20) | YES | | NULL | |
| espece | varchar(20) | YES | | NULL | |
| sexe | char(1) | YES | | NULL | |
| naissance | date | YES | | NULL | |
| mort | date | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
3
L'environnement serveur MySQL
Observez que pour injecter un fichier texte dans une table MySQL, il faut que les valeurs soient
séparées par des tabulations, et qu'elles se suivent dans le même ordre que les champs qui leur
correspondent dans la table. Les valeurs ignorées ou non renseignables doivent être indiquées par le
mot clé \N pour indiquer à MySQL que la valeur de ce champ est nulle (NULL). Enfin, chaque ligne
du fichier texte représente un enregistrement dans la table.
Important
Les dates sont stockées au format "année-mois-jour" : YYYY-MM-DD.
Pour envoyer le contenu du fichier texte dans MySQL, il faut utiliser LOAD DATA:
Important
Si aucun chemin vers le fichier texte qui contient les données n'est spécifié en invoquant la
commande LOAD DATA, alors MySQL suivra le chemin par défaut : /var/lib/mysql/
[NOM DE LA BASE]/ et assumera que le fichier texte se situe à cet emplacement.
Important
Avec INSERT, on utilise le mot clé NULL pour indiquer l'abscence de données,
contrairement à LOAD DATA qui utilise \N. D'autre part, procéder avec INSERT est bien
plus long qu'avec LOAD DATA lorsque l'on souhaite ajouter plusieurs enregistrements.
4
L'environnement serveur MySQL
+----------+--------+---------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+----------+--------+---------+------+------------+------------+
| titi | bob | chat | m | 2008-01-12 | 0000-00-00 |
| gaia | louis | chien | f | 2002-10-05 | 0000-00-00 |
| black | paul | cheval | m | 1999-05-07 | 2008-05-04 |
| doudou | anne | furet | m | 2003-06-03 | 0000-00-00 |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+--------+---------+------+------------+------------+
5 rows in set (0.00 sec)
La requête ci-dessus ne donne pas de condition particulière. Elle séléctionne simplement chaque
champ de la table et demande de retourner tous les résultats. Si l'on souhaite en revanche ajouter
comme condition la séléction de tous les animaux de sexe masculin, il faut utiliser la clause WHERE.
La commande sera alors:
+--------+--------+--------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+--------+--------+--------+------+------------+------------+
| titi | bob | chat | m | 2008-01-12 | 0000-00-00 |
| black | paul | cheval | m | 1999-05-07 | 2008-05-04 |
| doudou | anne | furet | m | 2003-06-03 | 0000-00-00 |
+--------+--------+--------+------+------------+------------+
3 rows in set (0.01 sec)
Pour les valeurs numériques (telle que la date dans cet exemple) on peut utiliser les opérateurs pour
faire un tri. Si par exemple, on souhaite savoir quels animaux ont une date de naissance supérieure ou
égale au premier Janvier de l'an deux mille, on écrira:
+--------+--------+--------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+--------+--------+--------+------+------------+------------+
| titi | bob | chat | m | 2008-01-12 | 0000-00-00 |
| gaia | jean | chien | f | 2002-10-05 | 0000-00-00 |
| doudou | anne | furet | m | 2003-06-03 | 0000-00-00 |
+--------+--------+--------+------+------------+------------+
On peut aussi évidemment filtrer plusieurs champs en utilisant l'opérateur booléen AND:
5
L'environnement serveur MySQL
+------+--------+--------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+------+--------+--------+------+------------+------------+
| gaia | jean | chien | f | 2002-10-05 | 0000-00-00 |
+------+--------+--------+------+------------+------------+
1 row in set (0.01 sec)
Parfois, on cherche une valeur X ou une valeur Y. Encore une fois, c'est un opérateur Booléen, OR
qui permettra de choisir une valeur ou une autre:
+------+--------+--------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+------+--------+--------+------+------------+------------+
| titi | bob | chat | m | 2008-01-12 | 0000-00-00 |
| gaia | jean | chien | f | 2002-10-05 | 0000-00-00 |
+------+--------+--------+------+------------+------------+
2 rows in set (0.01 sec)
Il arrive aussi que l'on souhaite ne sélectionner que quelques colonnes en particulier dans une table.
Si l'on souhaite par exemple ne consulter que les noms et dates de naissance des animaux, on saisira:
+----------+------------+
| nom | naissance |
+----------+------------+
| titi | 2008-01-12 |
| gaia | 2002-10-05 |
| black | 1999-05-07 |
| doudou | 2003-06-03 |
| Puffball | 1999-03-30 |
+----------+------------+
5 rows in set (0.01 sec)
Admettons qu'un même maitre possède désormais plusieurs animaux, et que notre base de données
fut modifiée ainsi:
+----------+--------+-----------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+----------+--------+-----------+------+------------+------------+
| titi | bob | chat | m | 2008-01-12 | 0000-00-00 |
| gaia | jean | chien | f | 2002-10-05 | 0000-00-00 |
| black | paul | cheval | m | 1999-05-07 | 2008-05-04 |
| doudou | anne | furet | m | 2003-06-03 | 0000-00-00 |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
| coco | Diane | perroquet | m | 2006-01-18 | NULL |
| belka | anne | tortue | f | 1995-03-06 | 2008-02-10 |
6
L'environnement serveur MySQL
...mais la liste retournée contiendra plusieurs fois les même entrées, puisque certains propriétaires
possèdent plusieurs animaux, ce qui fausse le nombre réel de propriétaires retourné par la requête:
+--------+
| maitre |
+--------+
| bob |
| jean |
| paul |
| anne |
| Diane |
| Diane |
| anne |
| paul |
+--------+
8 rows in set (0.00 sec)
Pour éviter de voir apparaître plusieurs fois le nom des propriétaires, il faut utiliser une requête
qui va séléctionner les champs de manière distincte en tenant compte de la relation entre animal et
propriétaire.
+--------+
| maitre |
+--------+
| bob |
| jean |
| paul |
| anne |
| Diane |
+--------+
5 rows in set (0.01 sec)
Avec l'option DISTINCT les enregistrements des maîtres possédant des animaux sont retournés
qu'une seule fois, quel que soit le nombre d'animaux qu'ils possèdent.
Enfin, on peut utiliser la clause WHERE pour définir un filtrage basé sur les lignes et les colonnes de
la base de données, ou plus exactement entre les noms de champs et les valeurs d'autres:
+------+--------+------------+
| nom | espece | naissance |
7
L'environnement serveur MySQL
+------+--------+------------+
| titi | chat | 2008-01-12 |
| gaia | chien | 2002-10-05 |
+------+--------+------------+
2 rows in set (0.00 sec)
Les possibilités de tri pour retourner les résultats ont pour seule limite le modèle de données de la
table. En d'autres termes, on peut séléctionner les données de toutes les manières possible en fonction
de leur couple type/valeur. Parmi ces possibilités, la clause ORDER BY permet de trier (dans le sens
croissant ou décroissant) selon un ou plusieurs champs de référence.Voici quelques exemples:
+----------+------------+
| nom | naissance |
+----------+------------+
| belka | 1995-03-06 |
| Puffball | 1999-03-30 |
| black | 1999-05-07 |
| gaia | 2002-10-05 |
| doudou | 2003-06-03 |
| gherra | 2005-07-12 |
| coco | 2006-01-18 |
| titi | 2008-01-12 |
+----------+------------+
8 rows in set (0.00 sec)
Important
Ci-dessus, les données sont triés par date de naissance, dans l'ordre croissant. Lorsque l'on
choisit d'appliquer une clause ORDER BY sur un champ de type texte, on peut alors forcer
MySQL à faire un tri sensible à la casse en utilisant ORDER BY BINARY(champ).
Pour trier dans l'ordre décroissant, il faut utiliser ajoutez le mot-clé DESC:
+----------+------------+
| nom | naissance |
+----------+------------+
| titi | 2008-01-12 |
| coco | 2006-01-18 |
| gherra | 2005-07-12 |
| doudou | 2003-06-03 |
| gaia | 2002-10-05 |
| black | 1999-05-07 |
| Puffball | 1999-03-30 |
| belka | 1995-03-06 |
+----------+------------+
8 rows in set (0.00 sec)
Le mot clé DESC est appliqué uniquement au nom de la colonne qui le précède. Dans l'exemple ci-
dessous, le tri inverse indiqué par DESC ne s'appliquera que sur le champ "naissance", et ce malgré
que la requête spécifie un tri tenant compte des champs "espece" et "naissance":
8
L'environnement serveur MySQL
mysql>SELECT nom, espece, naissance FROM animal ORDER BY espece, naissance DESC;
+----------+-----------+------------+
| nom | espece | naissance |
+----------+-----------+------------+
| titi | chat | 2008-01-12 |
| gherra | cheval | 2005-07-12 |
| black | cheval | 1999-05-07 |
| gaia | chien | 2002-10-05 |
| doudou | furet | 2003-06-03 |
| Puffball | hamster | 1999-03-30 |
| coco | perroquet | 2006-01-18 |
| belka | tortue | 1995-03-06 |
+----------+-----------+------------+
8 rows in set (0.01 sec)
Les valeurs NULL et NOT NULL ont une propriété particulière. Elle représentent un champ vide,
ou non vide et définissent donc deux êtats booléens "VRAI" ou " FAUX". Avec MySQL, 0 et NULL
représentent le booléen faux, et tout le reste représente le booléen vrai. La valeur par défaut du booléen
vrai issue d'une comparaison est 1. Lorsque vous utilisez la clause ORDER BY, les valeurs NULL sont
toujours triées en premier, même si vous utilisez l'attribut DESC. Ce traitement particulier de NULL
explique pourquoi, on peut déterminer quel animal ne vit plus en utilisant "mort IS NOT NULL".
+-------+--------+--------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+-------+--------+--------+------+------------+------------+
| black | paul | cheval | m | 1999-05-07 | 2008-05-04 |
| belka | anne | tortue | f | 1995-03-06 | 2008-02-10 |
+-------+--------+--------+------+------------+------------+
2 rows in set (0.00 sec)
Important
Une date qui serait définie à 0000-00-00 ne vaudrait pas NULL! Elle vaudrait NOT NULL
comme n'importe quelle autre date. Les types booléens NULL et NOT NULL définissent
des étâts de valeurs et non pas des valeurs elles même!
MySQL fournit le standard SQL des recherches de modèles, basé sur une extension des expressions
régulières similaires à celles utilisées par les utilitaires Unix comme vi, grep, et sed.
9
L'environnement serveur MySQL
+----------+--------+---------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+----------+--------+---------+------+------------+------------+
| titi | bob | chat | m | 2008-01-12 | 0000-00-00 |
| gaia | jean | chien | f | 2002-10-05 | 0000-00-00 |
| black | paul | cheval | m | 1999-05-07 | 2008-05-04 |
| doudou | anne | furet | m | 2003-06-03 | 0000-00-00 |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+--------+---------+------+------------+------------+
• On utilise LIKE et NOT LIKE pour indiquer que l'on recherche quelque chose "qui ressemble à"
• Une classe de caractères '[...]' trouve n'importe quel caractère contenu entre les crochets. Par
exemple, la classe de caractères '[abc]' trouve le caractère 'a', 'b', ou 'c'. Pour définir un intervalle de
caractères, utilisez un trait d'union. La classe de caractères '[a-z]' trouvera n'importe quel caractère
minuscule, tout comme la classe '[0-9]' trouvera n'importe quel nombre.
• Le caractère '*' trouvera aucune ou plus d'instances du caractère qui le précède. Par exemple, 'x*'
trouvera n'importe quel nombre de fois le caractère 'x', '[0-9]*' trouvera n'importe quel nombre et
'.*' trouvera n'importe quel nombre de fois n'importe quel caractère.
• Pour démontrer comment les expressions régulières fonctionnent, les requêtes LIKE vues
précédemment ont été réécrites pour utiliser REGEXP. Avant la version 3.23.4 de MySQL,
REGEXP était sensible à la casse. Depuis MySQL 3.23.4, pour forcer REGEXP à être sensible à
la casse, utilisez le mot-clé BINARY pour faire de la chaîne, une chaîne binaire.
Un exemple avec LIKE ci-dessous. La requête affiche toutes les valeurs du champ "nom" d'une valeur
de 4 caractères :
+------+--------+-----------+------+------------+------+
| nom | maitre | espece | sexe | naissance | mort |
+------+--------+-----------+------+------------+------+
| titi | bob | chat | m | 2008-01-12 | NULL |
| gaia | jean | chien | f | 2002-10-05 | NULL |
| coco | Diane | perroquet | m | 2006-01-18 | NULL |
+------+--------+-----------+------+------------+------+
3 rows in set (0.00 sec)
Un exemple avec REGEXP ci-dessous. La requête affiche toutes les valeurs du champ "espece"
commençant avec un c :
10
L'environnement serveur MySQL
+--------+--------+--------+------+------------+------------+
| nom | maitre | espece | sexe | naissance | mort |
+--------+--------+--------+------+------------+------------+
| titi | bob | chat | m | 2008-01-12 | NULL |
| gaia | jean | chien | f | 2002-10-05 | NULL |
| black | paul | cheval | m | 1999-05-07 | 2008-05-04 |
| gherra | paul | cheval | f | 2005-07-12 | NULL |
+--------+--------+--------+------+------------+------------+
4 rows in set (0.01 sec)
Vous pouvez consulter la page de documentation de MySQL pour trouver d'autres exemples [http://
dev.mysql.com/doc/refman/5.0/fr/pattern-matching.html]
+----------+
| COUNT(*) |
+----------+
| 8 |
+----------+
1 row in set (0.00 sec)
+--------+----------+
| maitre | COUNT(*) |
+--------+----------+
| anne | 2 |
| bob | 1 |
| Diane | 2 |
| jean | 1 |
| paul | 2 |
+--------+----------+
5 rows in set (0.00 sec)
11
L'environnement serveur MySQL
+-----------+----------+
| espece | COUNT(*) |
+-----------+----------+
| chat | 1 |
| cheval | 2 |
| chien | 1 |
| furet | 1 |
| hamster | 1 |
| perroquet | 1 |
| tortue | 1 |
+-----------+----------+
7 rows in set (0.00 sec)
+------+----------+
| sexe | COUNT(*) |
+------+----------+
| f | 4 |
| m | 4 |
+------+----------+
2 rows in set (0.00 sec)
+--------+------+----------+
| espece | sexe | COUNT(*) |
+--------+------+----------+
| chat | m | 1 |
| chien | f | 1 |
+--------+------+----------+
2 rows in set (0.01 sec)
+-----------+------+----------+
| espece | sexe | COUNT(*) |
+-----------+------+----------+
| chat | m | 1 |
| cheval | f | 1 |
| cheval | m | 1 |
12
L'environnement serveur MySQL
| chien | f | 1 |
| furet | m | 1 |
| hamster | f | 1 |
| perroquet | m | 1 |
| tortue | f | 1 |
+-----------+------+----------+
8 rows in set (0.00 sec)
13
Chapitre 2. Le client MySQL
Connection à un serveur
Résumé
Comment se connecter à un serveur MySQL ?
mysql>
14
Guide de PHP
iv
Chapitre 1. Introduction à PHP
Quelques mots sur la génèse de PHP
Php est à la base un module Perl écrit en 1995 par Rasmus Lerdorf, un ingénieur Danois. A l'époque,
l'Internet était globablement régit par un language de balises rudimentaire, le HTML. Le HTML est un
language dit "statique", léger et rapide, son code est interprété et exécuté à la volée par le navigateur
client (Mozilla Firefox, Internet Explorer...)qui consulte la page web contenant le code source HTML.
Un code HTML est "statique", ou encore "figé" dans la mesure ou le HTML se contente d'afficher des
éléments hypertextes et multimédia à l'écran (texte,lien,bouton,formulaire,vidéo,image,son..) mais ne
peut "intéragir" ni "dialoguer" avec le visiteur d'une page web. Le HTML impose donc que l'on crée
un fichier statique pour chaque élément que l'on souhaite présenter à l'utilisateur final. Bien sûr, on
peut utiliser les feuilles de style CSS et les "frames" pour économiser du code, mais ces solutions
montrent rapidement leurs limites. De plus, le HTML, bien qu'il soit capable "d'embarquer" d'autres
languages de la couche Application du modèle OSI, ne peut être interfacé à une base de données. Le
HTML, language "d'affichage", est donc suffisant à la production de très petits sites personnels dont
la quantité d'informations à diffuser est de l'ordre d'une dizaine de pages.
Si en revanche, on souhaite exploiter un site dont le volume de données est bien plus conséquent,
comme une boutique en ligne par exemple, et que l'on souhaite intéragir et dialoguer avec le visiteur (en
utilisant des outils comme un forum) il est préférable d'utiliser un autre language dit "dynamique", qui
sera exécuté côté serveur, et dont le but sera de "générer" le document HTML final à envoyer au client
en fonction du choix de ses requêtes. C'est précisément le rôle de PHP. A sa première version, PHP se
nommait "PHP/FI" pour Personal Home Page Form Interpretor (ndt:Interpreteur de formulaires pour
pages personnelles) et fur crée dans le but de recueillir, traiter et stockées les informations saisies par
les utilisateurs dans un formulaire web. PHP/FI était une extension Perl, puis est par la suite devenu
un projet autonome, écrit et compilé en language C. Php fut distribué sous diverses licences Open-
Source à mesure de la publication de ses versions (GNU/GPL, Apache Licensing ..)
• La possibilité d'utiliser un language dynamique et orienté objet, capable d'effectuer des calculs,
stocker des variables, créer et réutiliser des fonctions, des classes..
• L'interfaçage avec des systèmes de gestion de bases de données relationnelles (MySQL, Postgresql,
Oracle...) depuis la version 5, php dispose même d'un moteur SQL intégré (SQlite, pour "SQL
léger") et peut donc fonctionner sans base de données tierce partie, mais cela ne se fait pas sans
pertes de performances.
Important
Il existe deux possibilitées pour exécuter du code PHP. On peut soit l'utiliser soit en ligne
de commande, en tapant des commandes ou des scripts que l'on exécute via l'interpreteur
PHP, soit en module CGI au sein du serveur Web Apache. Cette dernière méthode est la plus
fréquemment rencontrée dans la mesure ou PHP est devenu très populaire dans l'exploitation
de sites web, via la plate-forme communément appelée "LAMP" (Linux Apache MySQL
PHP) ou WAMP (Windows Apache MySQL PHP). PHP est donc un language descendant
de Perl, hérité de ce dernier. C'est pourquoi sa syntaxe est très similaire à celle de Perl.
Néanmoins, PHP n'a pas la puissance et l'abstraction de Perl. Perl est surtout utilisé pour
1
Introduction à PHP
l'analyse de texte, tandis que PHP est surtout dedié au Web. On peut dire que PHP, d'un point
de vue de la syntaxe, est un "Perl simplifié". Un jeu de mot de la communauté PHP consiste à
dire que PHP signifie "People Hate Perl" (les gens détestent Perl). Cette moquerie est un clin
d'oeil pour les programmeurs "feignants" recherchant un language plus épuré et plus simple
à mettre en oeuvre que Perl pour l'exploitation d'un site Internet.
2
Chapitre 2. Installation de PHP
Pour Windows
La procédure d'installation de PHP dépend de l'environnement et du type d'installation dans lequel il
sera exécuté. Pour les systèmes Windows, on peut télécharger des binaires compilés pour Windows
[http://www.php.net/downloads.php]ou soit des installateurs automatiques tels que Wamp [http://
www.wampserver.com] qui permettent d'installer Apache, MySQL et PHP en quelques clics pour
mettre en place un serveur Web opérationnel.
Pour Linux
Pour les systèmes Linux, de nombreuses distributions intègrent php dans leur gestionnaires de paquets.
L'exemple ci-dessous montre, à titre indicatif, les paquets pouvant être requis pour installer PHP sur
un serveur Ubuntu 7.10 Gutsy Gibbon:
3
Chapitre 3. Structure du code PHP
Une page PHP
Pour qu'Apache2 interprète le code d'une page avec PHP, il faut que le fichier soit à l'extension ".php",
comme par exemple index.php
Lorsque PHP est exécuté au niveau du serveur web Apache, vous devez placez vos fichiers dans
l'arborescence adéquat. Par défaut, Apache utilise /var/www/ sous GNU/Linux, et C:\wamp\www
sous Windows XP. Pour pouvoir exécuter vos scripts, vous devez leur donner l'extension .php et
les placer dans le répertoire mentionné ci-contre. On appelle ce répertoire la "racine d'Apache".
Le chemin de cette racine est accessible dans une variable d'environnement de PHP nommée
$_SERVER['DOCUMENT_ROOT']. On peut changer ce chemin dans le fichier de configuration
d'Apache [http://httpd.apache.org/docs/1.3/configuring.html].
exemple.php
<?php
// Le code source prend place ici, entre les deux tags "<?php" et "?>"
?>
En php, les ligne contenant un double slash " // " servent à mettre des commentaires. Ces ligne ne sont
pas interprétées par PHP. Les lignes de commentaires permettent au programmeur d'expliquer ce que
le code effectue. Si l'on souhaite faire un commentaire sur plusieurs lignes, on peut utiliser slash-étoile
" /* " pour démarrer le commentaire et étoile-slash " */ " pour indiquer la fin du commentaire:
exemple.php
<?php
/*
Tout ce qui est écrit ici ne sera pas interpreté par PHP.
Si vous copiez l'intégralité de ce code source dans un fichier .php et que vou
navigateur, vous ne verrez rien d'autre qu'une simple page blanche.
*/
?>
exemple.php
4
Structure du code PHP
<?php
define('RAYON_TERRE','6378');
?>
Les variables
Les variables sont des valeurs définies dans un code source et qui seront amenées à changer tout au long
de l'exécution du programme. Les variables peuvent changer de valeur autant de fois que nécessaire
durant l'exécution du programme. Elles sont des zones de stockage en mémoire vive dans lesquelles
on stocke et manipule les données. En réalité, la conception de programmes informatiques consiste
surtout à manipuler les variables. Une variable se définit par la syntaxe suivante:
exemple.php
<?php
$vehicule = voiture;
?>
Dans l'exemple ci-dessus, on crée une variable nommée vehicule (précedée du symbole $) à laquelle
on affecte la valeur voiture. Il existe plusieurs types de variables. Les variables de type text (STRING)
les variables de type entiers, pour les nombre entiers (INTEGER) et les variables pour les nombres
décimaux (FLOAT). Enfin, une variable peut avoir trois états : Vrai (1) Faux (0) et nul (NULL).
Important
Une variable NULL ne vaut pas FAUX.. Il ne faut pas confondre. Dans le cas booléen, le
zéro représente un étât entre VRAI et FAUX, et non pas une valeur algébrique nulle.
PHP est un language dit permissif : Il n'est pas obligatoire, contrairement à d'autres langages, de
typer les variables lorsqu'on les crées. Par défaut, lorsque l'on crée une variable, PHP la typera
automatiquement.Il existe d'autres étâts pour les variables, consultables sur le site de php [http://
www.php.net/manual/fr/function.gettype.php].
On peut également stocker plusieurs informations dans une variable. On parle alors de tableau
(ARRAY). Les variables de type tableau se définissent comme ceci :
exemple.php
<?php
$fruits = array('pomme','poire','tomate','orange');
$legumes = array('courgette','poireau','betterave','celeri');
?>
Une variable peut changer de valeur n'importe quand. Soit cela se passe soit par la transformation de la
valeur ( si par exemple on effectue une opération arithmétique sur une variable contenant un nombre)
soit par la réaffectation d'une nouvelle valeur :
5
Structure du code PHP
Dans l'exemple ci-dessus, on crée deux tableaux $fruits et $legumes, dans lesquels ont stocke plusieurs
valeurs. Un tableau contient obligatoirement une paire clé/valeur pour identifier chaque valeur du
tableau individuellement. Par défaut, PHP crée une clé numérique pour chaque valeur du tableau.
Ainsi, le tableau $fruit possède les clés suivantes:
exemple.php
Array :
[0] => pomme
[1] => poire
[2] => tomate
[3] => orange
)
Remarquez que l'indexation des clés commence à zéro. On peut affecter soit même les clés que l'on
veut à un tableau, en utilisant des valeurs numériques ou littérales:
exemple.php
<?php
$voiture = array('couleur'=>'vert','type'=>'5 portes','carburant'=>'diesel'
?>
Les clés sont attribuées arbitrairement. PHP conservera les paires clés/valeurs dans l'ordre selon lequel
on les à crées.
On peut également affecter une variable à une variable, et on peut aussi affecter un tableau à un autre,
ajouter un tableau dans un autre, et ainsi de suite. Si l'on reprend l'exemple des tableaux fruits et
légumes, on peut regrouper ces deux tableaux dans un autre tableau que l'on appellera vegeteaux:
exemple.php
<?php
$fruits = array('pomme','poire','tomate','orange');
$legumes = array('courgette','poireau','betterave','celeri');
$vegeteaux = array($fruits,$legumes);
?>
exemple.php
6
Structure du code PHP
Remarquez qu'en imbriquant des tableaux dans un tableau, le procédé de création de clés et
d'indexation de PHP reste le même. Le tableau $fruit devient la clé 0 et $legume devient la clé 1. On
pourrait choisir soit même les clés que l'on souhaite pour ces deux tableaux imbriqués en retouchant
la dernière ligne du code ci-dessus par:
$vegeteaux = array('fruits'=>$fruits,'legumes'=>$legumes);
Array
(
[fruits] => Array
(
[0] => pomme
[1] => poire
[2] => tomate
[3] => orange
)
Le tableau $vegeteaux est un tableau à 2 dimensions. On parle de dimensions à chaque fois que,
lorsqu'on parcoure le tableau, on trouve un "niveau" de clés. Si ces clés contiennent d'autres clés
imbriquées, alors on parle de dimension supérieure, et ainsi de suite. Théoriquement, le nombre de
dimensions d'un tableau est illimité, mais au plus il y a de dimensions, au plus les algorithmes de tri
devront être complexes. D'autre part, au plus un tableau à de dimensions, au plus il faut du temps à
PHP pour le parcourir.
Les conditions utilisent la logique formelle pour vérifier une condition (Si VRAI alors fais ceci, si
FAUX alors fais cela..) tandis que les boucles répètent la même opération jusqu'a obtenir un résultat
escompté (ex : A=1 et tant que A est inférieur à 100, augmente A de +1)
7
Structure du code PHP
Le code ci-dessous donne des exemples de syntaxe en utilisant les structures de contrôle de PHP
les plus courantes. Pour un aperçu complet, reportez vous au manuel en ligne [http://www.php.net/
manual/fr/language.control-structures.php].
exemple.php
<?php
/*
Les structures de contrôle suivantes servent à évaluer une condition.
On indique le comportement à adpoter suivant si la condition est
remplie ou non.
On utilise pour cela les éléments de langage if, else, et elseif.
*/
$variable = 30;
/*
La ligne ci-dessus dit à PHP d'évaluer le contenu de $variable en vérifiant
si son contenu est supérieur à 50
*/
if($variable<50){
//Si cette condition est vraie, le code ci-dessous sera exécuté.
echo 'La variable est inférieure à cinquante';
}
/*
elseif signifie "autrement si". Cela veut dire que si l'instruction "if"
ci-dessus n'est pas vraie, alors l'instruction elseif sera évaluée.
*/
elseif($variable>50){
//Si cette condition est vraie, le code ci-dessous sera exécuté.
echo 'La variable est supérieure à cinquante';
}
/*
Le code inclus dans l'élément else sera exécuté si aucune des conditions
ci-dessus n'est vraie.
*/
else{
echo 'La variable n\'est ni inférieure ni supérieure à cinquante.
Soit elle vaut 50, soit elle ne contient pas de nombre.';
}
/*
On peut combiner et imbriquer autant de if et elseif
à la suite que l'on souhaite.
*/
/*
La structure de contrôle switch permet de faire la même chose.
C'est simplement une autre façon de procéder..
*/
switch ($i) {
8
Structure du code PHP
default:
"Je ne sais pas ce qu'est i..";
break;
case "tarte":
echo "i est une tarte";
break;
case "barre":
echo "i est une barre";
break;
case "gateau":
echo "i est un gateau";
break;
}
/*
Les boucles sont des instructions qui se répèteront jusqu'a l'obtention
d'un résultat donné.
Il existe plusieurs méthodes pour créer des boucles. Les boucles
sont des éléments importants à maîtriser puisqu'on les utilise
très souvent.
*/
/*
La boucle for est la plus complexe en PHP.
Elle prend 3 expressions à la suite.
Dans l'exemple ci-dessous, on dit :
1 - Pour i vaut 1; Tant que i est inférieur ou égal à 10; augmente i de +1
2 - Affiche i;
Le résultat de cette boucle sera d'afficher i à l'écran en partant de
i = 1 et d'afficher i tant qu'il sera inférieur à 10.
A chaque "tour" de boucle, i est augmenté de +1.
*/
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
/*
Voici le même exemple, mais avec l'instruction while()
Notez que cette fois-ci, while ne prend qu'une seule expression ($i <= 10)
et que la variable $i est définie en dehors de la boucle.
*/
$i = 1;
while ($i <= 10) {
echo $i++;
}
/*
Et encore un autre exemple, ou l'on utilise do avec while.
Cela ne change rien de particulier, si ce n'est le fait d'employer
une autre syntaxe avec do.
*/
$i = 0;
do {
echo $i;
} while ($i > 0);
/*
9
Structure du code PHP
La boucle foreach est dediée aux traitement des variables de type tableau.
Foreach signifie "pour chacune des occurences de..".
Cette boucle évalue chacune des paires clés/valeurs d'un tableau.
On choisit d'opérer soit sur les clés, les valeurs, ou les deux.
*/
$tableau = array(1, 2, 3, 4);
foreach ($tableau as $cle=>$valeur) {
echo "$cle vaut $valeur";
}
//Autre exemple :
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
/*
L'élément "continue" permet, quand on a plusieurs boucles imbriquées,
de reprendre la boucle en fonction d'un niveau donné de boucles indentées.
Concrètement, l'exemple ci-dessous va reprendre la boucle à trois niveaux
supérieurs (Le niveau 1 étant le niveau dans lequel
est écrite l'instruction "continue").
*/
$i = 0;
while ($i++ < 5) {
echo "Dehors<br />\n";
while (1) {
echo " Milieu<br />\n";
while (1) {
echo " Intérieur<br />\n";
continue 3;
}
echo "Ceci n'est jamais atteint.<br />\n";
}
echo "Ceci non plus.<br />\n";
}
/*
Enfin, si l'on dispose de code source php dans un autre fichier et que
l'on souhaite l'intégrer dans le script courant,
On peut utiliser les instructions require et include.
*/
require('monfichier.php');
include('monfichier.php');
/*
Les commandes ci-dessus vont relire le script monfichier.php à chaque
fois que l'on exécutera le script.
On peut le stocker en mémoire et éviter la relecture en utilisant:
*/
require_once('monfichier.php');
include_once('monfichier.php');
?>
10
Structure du code PHP
Les fonctions
Les fonctions sont les outils avec lesquels on manipule les variables pour traiter leur contenu. Par
exemple, la fonction echo affiche le contenu d'une variable:
Le code ci-dessus affichera la phrase "Je suis le texte contenu dans la variable". la fonction echo prend
pour paramètre la variable $variable. Il en va ainsi pour toutes les fonctions. On dit que les fonctions
prennent des "arguments", ou des "paramètres". Ces derniers peuvent être des variables ou une valeur
codée en brut. Ainsi, on peut obtenir le même résultat en tapant:
Si l'on souhaite passer une variable de type tableau comme argument plutot qu'une variable simple, il
faut spécifier la clé à afficher. Reprenons le tableau vegeteaux. On souhaite afficher la valeur tomate,
qui se trouve dans le tableaux $vegeteaux. La valeur tomate est dans la deuxième dimension du tableau
(la première étant "fruits"). Donc, pour afficher "tomate", il faut parcourir le tableau à la clé fruits, et
ensuite prendre la clé qui correspond à la valeur tomate, soit la clé 2. On tapera donc:
echo $vegeteaux[fruits][2];
Le code ci-dessus renverra à l'écran la valeur tomate. Observez que les noms des clés sont entre
crochets.
Les fonctions peuvent s'imbriquer entre elles comme les tableaux. Chaque fonction à un rôle unique.
echo sert à afficher, sort() sert à trier un tableau, mysql_connect-() sert à se connecter à une base de
données, etc... Il existe des milliers de fonctions pour PHP. Elles peuvent toutes s'imbriquer les unes
avec les autres. Voici un exemple : On va réafficher la valeur tomate, mais en convertissant toutes les
lettres en majuscules. Pour ce faire, on utilise la fonction strtoupper() qui permet d'afficher une chaîne
de caractères en majuscules, puis la fonction print() qui fait exactement la même chose que la fonction
echo (on peut utiliser indifféremment print() ou echo..)
print(strtoupper($vegeteaux[fruits][2]));
Observez bien la façon dont les parenthèses s'imbriquent. De nombreuses erreurs d'exécutions sont
dues à une mauvaise imbrication des parenthèses. Les parenthèses des fonctions servent à définir
qui contient qui. Dans l'exemple ci-dessus, print() contient strtoupper() lequel contient le tableau
$vegeteaux
Il existe deux types de fonctions. Les fonctions de PHP et les fonctions utilisateurs. Les fonctions
de PHP sont propres au langage PHP. Elles sont ce qu'on appelle communément des éléments du
language.Il en existe un très grand nombre. On peut consulter le manuel de PHP à la page de référence
des fonctions [http://www.php.net/manual/fr/funcref.php].
Les autres fonctions sont les fonctions dîtes "utilisateur". On entend par là les fonctions, ou routines,
que le programmeur crée pour les besoins de son programme. Rien dans la syntaxe ne dinstingue
les fonctions de PHP des fonctions utilisateurs. Elles fonctionnent de la même façon, et peuvent
prendre aucun ou plusieurs arguments. Enfin, les fonctions peuvent s'appeller et s'imbriquer entre
elles. Les fonctions utilisateur utilisent les fonctions internes de PHP. Un programmeur nomme sa
fonction comme il le souhaite. Simplement, le nommage est sensible à la casse et ne tolère pas les
espaces.L'exemple suivant montre une fonction Bonjour() qui affichera un message à l'écran en prenant
comme argument un prénom:
exemple.php
11
Structure du code PHP
<?php
function Bonjour($prenom){
//Cette fonction prend la variable $prenom comme argument
echo "Bonjour $prenom !";
}
Important
N'oubliez pas les accolades qui définissent le début et la fin du code appartenant à la fonction.
Ensuite, pour exploiter la fonction, il suffit de l'appeller, et de lui passer une variable en argument:
exemple.php
$prenom = 'Sandra';
Bonjour($prenom);
Bonjour('Sandra');
L'interêt des fonctions réside dans la possibilité de réutiliser le code autant de fois que nécessaire en
faisant un simple appel à la fonction Bonjour(). Il n'est pas nécessaire de resaisir tout le code qui
est écrit à l'intérieur de cette fonction. Ce code sera ré-exécuté implicitement à chaque fois que l'on
appellera la fonction:
Bonjour('Pierre');
Bonjour('Paul');
Bonjour('Jacques');
Important
La portée des variables passées dans une fonction est limitée à l'intérieur de la fonction qui
l'exécute. Ainsi, une variable qui "naît" à l'intérieur d'une fonction ne sera accessible qu'a
l'intérieur de celle ci, entre les accolades. L'exemple ci-dessous montre un code invalide :
exemple.php
function Bonjour2($prenom){
$message = "Bonjour $prenom, comment allez-vous?";
}
echo $message;
Le code ci-dessus ne retournera aucun message d'erreur, car PHP ne retourne pas d'erreur quand on
appelle une variable qui n'existe pas. Et c'est le cas ici, puisque $message est déclarée DANS la
fonction Bonjour2(), mais n'existe pas en dehors. Donc, PHP assume que l'appel via "echo $message"
12
Structure du code PHP
est une variable vide, puisqu'elle n'est pas définie ailleurs. D'ou le fait que l'exemple suivant retournera
"Salut Laurent!" même si l'on appelle Pierre dans la fonction Bonjour2() :
exemple.php
function Bonjour2($prenom){
$message = "Bonjour $prenom, comment allez-vous?";
}
echo $message;
Le code ci-dessus renvoie "Salut Laurent!" puisque la fonction echo étant appellée en dehors de la
fonction utilisateur Bonjour2(), elle ne peut "détecter" ce qui se trouve à l'intérieur de la fonction.
Mais puisque une variable $message est aussi définie avant la déclaration de la fonction Bonjour2(),
la fonction echo en bas du script s'y réfère puisqu'elle peut la détecter. Donc, ce script contient deux
variables nommées $message. Une en dehors et une à l'intérieur de la fonction Bonjour2(). Ce sont
bien deux variables différentes et ne peuvent se "voir" ni s'écraser malgré qu'elles aient le même nom,
puisqu'elles sont définies dans des blocs de code différents.
Les classes
Typiquement, les classes sont des collections de fonctions. Il se peut, lors de la conception d'un
programme, que le niveau d'abstraction atteigne une certaine complexité dès lors que l'on a recours à
l'appel de plusieurs fonctions pour effectuer une tâche. Une ou plusieurs variables peuvent entrer et
sortir et passer d'une fonction à une autre et ainsi de suite jusqu'a obtenir le résultat donné. Ainsi, on
parle de programme informatique, d'algorithme. L'avantage des classes est qu'a partir du moment ou
une classe (donc une collection de fonctions destinées à effectuer un traitement de données) fut écrite
une fois et une seule, on peut la réutiliser autant de fois que nécessaire au sein du même programme,
ou alors d'un autre programme complètement différent. La syntaxe d'une classe se définit ainsi:
exemple.php
<?
class MaClasse {
var $variable_a;
var $variable_b;
13
Structure du code PHP
Important
Observez que le nommage d'un classe est soumis aux mêmes contraintes que le nommage
des fonctions : Choix de nom arbitraire, sensiblité à la casse, et espaces non autorisés. Enfin,
contrairement aux fonctions, une classe n'a pas besoin de parenthèses, mais utilise par contre
les accolades.
Prenons un exemple concret de l'écriture d'un programme en utilisant les classes. Le programme
suivant va chercher à déterminer si un nombre décimal donné est premier ou non. Le code source est
commenté.
prime.php
<?php
//On instancie la classe Recherche_Nombre_Premier
Class Recherche_Nombre_Premier{
//On crée une fonction qui va retourner un tableau $nombres contenant la liste
function Generateur_Premiers($limit){
/*
Pour créer une liste de nombres premiers, on part des entiers naturels en
On crée un tableau $nombres qui contient les valeurs 2 et 3 comme nombres
puisque d'une part la division par 0 est impossible, et d'autre part, 1 es
*/
$nombres=array(2,3);
/*
A présent, on instancie une variable $nb qui part à partir du chiffre suiv
*/
$nb=4;
//On effectue une boucle while tant que $nb (4) est inférieur à $limit, on i
while($nb<=$limit){
/*
A présent, on a besoin d'une variable pour savoir si le nombre traité da
On instancie donc $nbpremier qu'on définit à TRUE. On part du postulat q
*/
$nbpremier=true;
/*
A l'intérieur de la boucle while, on fait une boucle foreach sur le tabl
Chaque valeur de $nombres est injecté dans $val pour traitement.
*/
foreach($nombres as $val){
/*
Si $val (qui vaut 2 et 3 au départ du programme) est différent de 1 (c
14
Structure du code PHP
*/
if($val!=1){
/*
Si la division de $nb (4) par $val (2, puis 3 au départ) produit une
*/
if(gettype($nb/$val) == "integer"){
/*
Alors, $nbpremier vaut FALSE puisque une division donnant un entie
traité est composé.
*/
$nbpremier=false;
/*
$nbpremier est maintenant affecté, on peut sortir de la boucle ave
*/
break;
}
}
}
/*
Maintenant on vérifie l'étât de $nbpremier.
Si $nbpremier est vrai, alors cela signifie que $nb contient un nombre q
précédent aurait échoué et que gettype($nb/$val) == "integer" aurait ret
serait FALSE. Donc, si $nbpremier vaut true, alors $nb est premier, on l
*/
if($nbpremier==true){
$nombres[]=$nb;
}
/*
On ne fait strictement rien si le nombre de $nb n'est pas premier. On ré
pour continuer à l'intérieur de la boucle while (nous sommes toujours de
*/
$nbpremier=true;
/*
Maintenant que tous nos nombres premiers jusqu'a $limit sont stockés dans $n
*/
return $nombres;
}
/*
La fonction suivante se contente d'afficher les nombres premiers en prenant
*/
function Afficher_Premiers($array_premiers){
foreach($array_premiers as $v){
// Ici, on affiche chaque occurence de $array_premiers en tant que $v, sui
echo "$v <br />";
}
}
}
/*
15
Structure du code PHP
//La ligne suivante montre comment on appelle une classe via la variable $Recher
$Recherche_Nombre_Premier = new Recherche_Nombre_Premier();
/*
La ligne ci-dessous créee la variable $Liste_Premiers, et appelle la fonction
$limit comme argument.
*/
$Liste_Premiers = $Recherche_Nombre_Premier->Generateur_Premiers($limi
/*
La ligne ci-dessous créee la variable $Afficher_Premiers laquelle appelle la f
en lui passant $Liste_Premiers comme argument. C'est cette fonction qui va ret
à l'écran.
*/
$Afficher_Premiers = $Recherche_Nombre_Premier->Afficher_Premiers($Liste_
//Enfin, on affiche une simple ligne. La fonction PHP sizeof() retourne la taill
echo 'Il existe '.sizeof($Liste_Premiers).' nombres premiers entre 2 et '.$limit
?>
L'utilisation des classes peut aller bien plus loin. On pourrait très bien enrichir cette classe de nouvelles
fonctions. On pourrait par exemple créer des fonctions pour élever un nombre au carré, au cube,
pour chercher sa racine.. L'utilité est bien de pouvoir manipuler les fonctions à l'intérieur d'une classe
comme on le souhaite. Ainsi, si l'on ajoute ces fonctions à la présente classe, on pourra par exemple
élever au carré chacun des nombres premiers retournés, et ainsi de suite ... Les fonctions se stockent
donc dans des classes, et une collection de classe se nomme une librairie de classes.
16
Chapitre 4. PHP/MySQL
Créer une base MySQL pour faire un test
PHP dispose de fonctions pour se connecter à une base de données MySQL et l'exploiter. Pour
l'exemple, nous allons créer une base, y injecter des données, et nous y connecter avec PHP.
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.45-Debian_1ubuntu3-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>USE test;
Database changed
mysql.php
17
PHP/MySQL
<?php
/*
Cette première partie gère la connexion à MySQL.
La séquence suivante comporte les données requises pour établir une connexion
(nom d'utilisateur, mot de passe, base, tables...)
et établit une connexion à MySQL via un socket en utilisant la commande
mysql_connect().
Enfin, la commande mysql_error() permet de retourner les messages
d'erreurs éventuels que MySQL renvoie.
*/
$host = "localhost";
$user = "root";
$pass = "";
$db = "test";
$connect = mysql_connect($host,$user,$pass) OR die(mysql_error());
$select = mysql_select_db($db,$connect);
/*
Maintenant que la connexion est créee et initialisée, on peut utiliser
la syntaxe de MySQL et exécuter des commandes pour l'intérpreteur MySQL:
*/
/*
A présent, on peut renvoyer les données vers PHP comme on veut.
L'application la plus courante est de stocker les données provenant
de MySQL dans un tableau associatif. On utilise pour cela des fonctions
comme mysql_fetch_array(). Il existe plusieurs fonctions PHP
dédiés à MySQL. Celle-ci n'est qu'un exemple.
*/
while($array = mysql_fetch_array($query,MYSQL_ASSOC)){
echo $array['designation'].' fait partie des '.$array['type'].'<br />';
}
?>
Dans le code ci-dessus, la directive MYSQL_ASSOC permet de créer une variable PHP de type
tableau, dont les clés du tableau PHP auront pour nom de clé les noms de champs MySQL, ce qui peut
s'averer très pratique et permet de manipuler les données avec plus de clarté.
18
Chapitre 5. Conclusion
En l'espace de quelques années, PHP s'est imposé parmi les technologies phares dans la conception de
pages web. Il peut communiquer avec une base de données, générer du code pour le web, effectuer des
calculs, interpreter des chaînes de caractères ...C'est un langage simple et accessible, facile à mettre
en oeuvre. Ces facilités lui assurent une vaste communauté d'utilisateurs et de ressources en ligne
disponibles. De nombreux guides dediés co-existent partout sur l'Internet, et de nombreux forums et
newgroups sont dediés à l'utilisation de PHP. Sa souplesse de code est cependant à double tranchant.
Si le code est relativement facile à mettre en oeuvre, il peut s'avérer difficile à maintenir pour un
programmeur tiers rejoignant un projet existant, n'ayant pas été à l'origine de la conception d'un projet.
Ce type de langage impose une rigueur dans la rédaction de commentaire du code, puisqu'il existe de
très nombreuses façons de concevoir un même programme avec PHP.
19
Chapitre 6. Références
http://www.php.net/
http://www.phpcs.com/codes/NOMBRE_PREMIER_38553.aspx
20
Installation et paramétrage
de Windows XP
Installation de Windows XP
Ce document traite de l'installation et du paramètrage de Windows XP.
Table des matières
1. Installation de Microsoft Windows XP .......................................................................... 1
Démarrage ........................................................................................................... 1
Partitionnement ..................................................................................................... 1
Paramètres pour l'installation ................................................................................... 1
2. Paramétrage de Windows ............................................................................................ 2
Résolution de l'écran ............................................................................................. 2
Définir le nom d'utilisateur ..................................................................................... 2
3. Premier démarrage .................................................................................................... 3
Désactivation des services obsolètes ......................................................................... 3
Explications sur la procédure d'installation d'un pilote ................................................. 3
Installer les pilotes spécifiques à la machine TSGRI .................................................... 3
Cas particulier : Installation de l'interface réseau ......................................................... 4
Formatage du volume D:\ ....................................................................................... 4
4. Configuration du réseau .............................................................................................. 5
Vérifier les paramètres TCP/IP pour DHCP ............................................................... 5
5. Modification des variables d'environnement ................................................................... 6
Redéfinir le chemin de « Mes Documents » ............................................................... 6
Modifier le chemin du profil utilisateur ..................................................................... 6
Importer les données ............................................................................................ 6
6. Installation et paramétrage de l'imprimante .................................................................... 7
Indiquer le chemin de l'imprimante .......................................................................... 7
Spécifiez l'emplacement du pilote pour l'imprimante .................................................... 7
7. Installation des programmes ........................................................................................ 8
Récupérer le client Filezilla sur le serveur FTP .......................................................... 8
Installer Filezilla ................................................................................................... 8
Se connecter au serveur FTP et récupérer les installateurs ..................................... 8
8. Déployer les applications ............................................................................................ 9
9. Annexes ................................................................................................................. 10
Guides d'installation des logiciels ........................................................................... 10
iv
Chapitre 1. Installation de Microsoft
Windows XP
Démarrage
Démarrez la machine sur le CD (touche F8 si la machine n'est pas paramétrée pour démarrer depuis
le CD par défaut) Suivez les instructions à l'écran pour confirmer le démarrage à partir du CD-ROM.
Lorsque le menu est chargé, appuyez sur ENTRÉE pour démarrer l'installation de Windows.
Partitionnement
Acceptez la licence en appuyant sur F8 et poursuivez. Ensuite, sélectionnez à l'aide des touches
fléchées les partitions une par une, et appuyez sur la touche « S » pour supprimer la partition, et
confirmez en appuyant sur ENTRÉE. Répétez cette étape pour chacune des partitions présentes sur le
disque, jusqu'à ce que vous ayez complètement effacé la table des partitions de Ubuntu GNU/Linux.
lorsque toutes les partitions sont supprimées, appuyez sur la touche « C » pour créer une nouvelle
partition principale. Ensuite, déterminez la taille de cette partition principale (qui sera la partition
attribuée à Windows XP) en attribuant environ 11 gigas octets (environ 10 000 mégas octets) à cette
partition. Recommencez cette étape en sélectionnant l'espace non partitionné avec les touches fléchées
et appuyez de nouveau sur « C » . Le programme d'installation vous proposera d'occuper tout l'espace
restant disponible. Acceptez en appuyant sur ENTRÉE. A l'écran suivant, le plan de partitionnement
vous est résumé. Vérifiez bien que la première partition C:\ soit en surbrillance. Appuyez de nouveau
sur ENTRÉE pour confirmer le plan de partitionnement et commencer l'installation de Windows©.
Vous noterez qu'un espace minimal de 8 mégas est automatiquement réservé au MBR. Dans l' écran
suivant, il vous est demandé de choisir la méthode de formatage de la partition. Par défaut, Windows
vous propose un formatage complet en utilisant le système de fichiers NTFS. Assurez vous que
cette option soit bien en surbrillance (sinon sélectionnez-la avec les touches fléchées) et appuyez
sur ENTRÉE. Le programme d'installation va maintenant formater la partition. Cela peut prendre
un moment. Une barre de progression jaune vous affiche l'avancement de l'opération. A la fin de
cette étape, l'ordinateur va redémarrer automatiquement et poursuivre l'installation. Ne touchez pas le
clavier, même si le programme vous redemande d'appuyer sur une touche...
1
Chapitre 2. Paramétrage de Windows
Résolution de l'écran
A l'étape suivante, Windows vous informe qu'il va tenter de configurer votre écran automatiquement.
Confirmez en cliquant sur OK. Ensuite, une fenêtre avec un compte à rebours s'affiche et vous demande
de valider la résolution d'affichage. Si vous ne pouvez voir cette fenêtre, attendez un moment que le
compte à rebours arrive à zéro, et recommencez. Windows tentera de fixer une nouvelle résolution.
Autrement, si vous pouvez voir cette fenêtre de compte à rebours, cliquez sur OK pour continuer.
2
Chapitre 3. Premier démarrage
Désactivation des services obsolètes
Le premier démarrage de Windows s'initialise. Cliquez sur le menu démarrer pour le faire apparaître, et
cliquez sur « Exécuter ...» une petite fenêtre s'ouvre. Tapez dans le champ de saisie « services.msc » et
validez en cliquant sur le bouton OK. Une fenêtre contenant tous les services actifs s'ouvre. Maximisez
la pour plus de confort. L'étape suivante consiste à désactiver les services obsolètes pour optimiser
le démarrage de la machine, et son fonctionnement. Pour désactiver une service, faîtes un clique
droit dessus, cliquez sur Propriétés. Ensuite, dans le menu déroulant intitulé « Type de démarrage »
choisissez l'option « désactiver ». Ensuite, cliquez sur le bouton « Arrêter » en dessous, et enfin, cliquez
sur Appliquer, puis OK. En procédant ainsi, veuillez désactiver les services suivants :
3. Aide et support
3
Premier démarrage
Tous ces pilotes vous demanderont de valider les licences d'exploitation. Vous serez obligés d'accepter
ces licences pour poursuivre. N'oubliez pas, à la fin de chaque étape, Windows préférera redémarrer la
machine par défaut. Ne redémarrez pas avant d'avoir installé tous les pilotes. Fermez ensuite l'interface
d'installation NEC.
Ignorez les deux cases à cocher en dessous, et cliquez sur « Démarrer », puis « ok ». Après le formatage,
Faites un clic-droit sur le « Disque local C: » et choisissez « renommer ». Intitulez le « Windows».
4
Chapitre 4. Configuration du réseau
Vérifier les paramètres TCP/IP pour DHCP
Durant le formatage, qui est un processus très long, nous allons configurer le réseau. Cliquez sur
« Démarrer » / « Panneau de configuration » / « Connexions réseau et internet » / « Connexions
réseau » / Une fenêtre apparaît et vous affiche les connexions réseaux actives. Le but de l'opération
est de vérifier que le protocole TCP/IP est installé. Pour cela, faîtes un clic-droit sur la « connexion
réseau local» et choisissez « propriétés » Vérifiez la présence dans la liste du protocole internet TCP/IP.
Vérifiez également que la case soit cochée. Cliquez sur « propriétés ». Vérifiez que les cases « obtenir
une adresse IP automatiquement » et « obtenir les adresses des serveurs DNS automatiquement »
soient cochées. Cliquez ensuite sur « OK » et « Fermer ». Fermez toutes les fenêtres à l'écran.
5
Chapitre 5. Modification des variables
d'environnement
Redéfinir le chemin de « Mes Documents »
Cliquez sur « démarrer », clic-droit sur « Mes Documents », puis sur « propriétés », puis sur
« déplacer ». Naviguez dans « D:\ » puis « ok » et cliquez sur « oui ». Confirmez enfin par « tous »
le déplacement des éventuels fichiers.
6
Chapitre 6. Installation et
paramétrage de l'imprimante
Indiquer le chemin de l'imprimante
Aller dans « Démarrer » / « imprimantes et télécopieurs » / Dans le volet de gauche, cliquer sur
« Ajouter une imprimante ». Cliquez sur « Suivant ». Décochez la case « Détection et installation ou
une imprimante connectée à un autre ordinateur » et cliquez sur suivant. Cochez la case « Créer un
nouveau port ». Choisissez comme type de port « Standard TCP/IP Port ». Cliquez sur « Suivant ».
Spécifiez dans le premier champ l'adresse IP de l'imprimante (172.25.0.10) Le champ du nom de
port est indiqué automatiquement. Cliquez sur « Suivant ». l'assistant recherche l'imprimante. Cliquez
ensuite sur « personnalisé » puis sur « Paramètres ». Vérifiez que le protocole choisit soit bien le
protocole « Raw » et que le port utilisé soit bien le port 9100. Cliquez ensuite sur « OK ». Cliquez
sur « Suivant ». Cliquez sur terminer.
7
Chapitre 7. Installation des
programmes
Récupérer le client Filezilla sur le serveur
FTP
Cliquez sur « démarrer » / « exécuter » / « cmd » Ensuite, sous la fenêtre MS-DOS, tapez : « ftp
192.168.131.16 » puis appuyez sur ENTRÉE. Tapez ensuite votre nom d'utilisateur, puis ENTRÉE.
Tapez enfin votre mot de passe, puis ENTRÉE. Tapez « cd ../tsgri/applics/win » puis ENTRÉE. Tapez
« get FileZilla_2_2_14b_setup.exe » puis ENTRÉE. Tapez « bye » puis ENTRÉE. Tapez « exit »
puis ENTRÉE.
Installer Filezilla
Appuyez sur « Touche Windows + E » et naviguez jusqu'à c:\Documents and Settings\tsgri Double
cliquez sur l'icône « FileZilla_2_2_14b_setup.exe » et suivez les instructions d'installation. Après
l'installation de Filezilla, double cliquez sur l'icône de Filezilla située sur le bureau.
1. 7z442.exe
2. AdobeRdr70_fra.exe
3. bitdefender_free_v8.exe
5. foxit-pdf-reader_foxit_pdf_reader_2.12023_français_13808.zip
6. Ooo_2.3.0_Win32Intel_Install_wJRE_fr.exe
7. SSHSecureShellClient-3.2.9.exe
8. Sunbelt-Personal-Firewall.exe
10.WindowsXP-SP2-FRA.exe
8
Chapitre 8. Déployer les applications
Une fois les programmes téléchargés, fermez Filezilla. Ouvrez l'explorateur de fichiers (Touche
Windows+E). Naviguez sur le lecteur « D: » Installez chacun des programmes en double cliquant sur
les fichiers d'installation. L'installation est simple: il suffit, pour la plupart des programmes, d'accepter
la licence d'utilisation, et de suivre intuitivement les étapes proposées à l'installation. Vous trouverez
en annexe quelques guides d'installation et de Paramétrages pour certains programmes si besoin est.
L'installation est terminée, vous pouvez redémarrer l'ordinateur et tester le bon fonctionnement de
chaque programme.
9
Chapitre 9. Annexes
Guides d'installation des logiciels
Guide d'installation pour Bit Defender [http://www.malekal.com/
tutorial_BitDefender_Antivirus10Plus.php]
10
Interpreter le BIOS
Guillaume Bettayeb
Interpreter le BIOS
Guillaume Bettayeb
Table des matières
1. Signification des bips du bios au démarrage ................................................................... 1
Définition ............................................................................................................ 1
BIOS Award (versions actuelles) ............................................................................. 1
BIOS Award (versions plus anciennes) ..................................................................... 2
BIOS AMI (versions actuelles) ................................................................................ 2
BIOS AMI (versions plus anciennes) ........................................................................ 3
BIOS Phoenix (versions actuelles) ........................................................................... 4
BIOS Phoenix (versions plus anciennes) ................................................................... 6
BIOS phoenix V 4.0 release 6 ................................................................................. 6
2. Messages d'erreur au démarrage ................................................................................... 7
Significations des messages .................................................................................... 7
iv
Chapitre 1. Signification des bips du
bios au démarrage
Sources du document :
http://www.vulgarisation-informatique.com/bips-bios.php
http://fr.wikipedia.org/wiki/Basic_Input_Output_System
Définition
BIOS signifie "BASIC INPUT OUTPUT SYSTEM" (système basique d'entrée sortie). Le bios désigne
les ordinateurs de type PC depuis les années 80. Sont rôle consiste à coordonner les opérations d'entrée/
sortie vers l'ensemble des périphériques qui composent un ordinateur. On parle aussi de "Firmware",
décrivant ainsi le logiciel et l'interface qui permet à l'utilisateur de paramétrer le BIOS. Un programme
BIOS est écrit en language assembleur. Sa première tâche est d'initialiser la machine via une procédure
POST ("Power On Self Test" Test automatique de mise en route). Ensuite, durant le fonctionnement
de l'ordinateur, le rôle du BIOS demeure sous-jacent puisqu'il permet au système d'exploitation de
l'ordinateur de communiquer avec le matériel.
1
Signification des bips
du bios au démarrage
2
Signification des bips
du bios au démarrage
3
Signification des bips
du bios au démarrage
4
Signification des bips
du bios au démarrage
5
Signification des bips
du bios au démarrage
6
Chapitre 2. Messages d'erreur au
démarrage
Significations des messages
Message Signification Remède possible
CMOS CHECKSUM FAILURE Problème avec la pile plate,
remplacez-la.
CMOS BATTERY FAILED Problème avec la pile plate,
remplacez-la.
BIOS ROM CHECKSUM Erreur dans le BIOS. Remplacez
ERROR-SYSTEM HALTED la puce du BIOS.
CMOS CHECKSUM ERROR - Erreur dans la mémoire CMOS.
DEFAULT LOADED Faites un clear CMOS et vérifiez
l'état de la pile.
KB/INTERFACE ERROR Le clavier est endommagé ou
mal branché.
FDD CONTROLLER Erreur du contrôleur du lecteur Vérifiez si la nappe floppy est
FAILURE de disquettes. branchée correctement. Si le
problème persiste, changez le
contrôleur.
HARD DISC INSTALL Erreur du contrôleur de disque Vérifiez si un disque dur est
FAILURE dur présent sur votre système, et si
il est correctement détecté. Si
vous ne souhaitez pas installer
de disque dur sur votre machine,
spécifiez-le dans les réglages
manuels du BIOS (option à
placer sur none)
HARD DISC DIAGNOSIS Erreur concernant un ou Un disque dur a retourné un
FAIL plusieurs disques durs code d'erreur, identifiez de quel
disque il s'agit et mettez ses
données en lieu sûr.
HDD CONTROLLER Le système ne trouve aucun Vérifiez si la nappe IDE est
FAILURE disque dur. bien connectée. Si le problème
persiste changez de nappe puis
de contrôleur.
KEYBOARD ERROR (ou NO Le système ne trouve pas de Vérifiez que votre clavier soit
KEYBOARD PRESENT) clavier bien enfoncé. Si il s'agit d'un
clavier USB, vérifiez que les
ports USB sont activés dans le
BIOS.
MEMORY ERROR DURING Vérifiez si les barrettes mémoire
MEMORY TEST sont enfoncées correctement.
CMOS SYSTEM OPTIONS Aucun paramètre n'est défini Lancez le BIOS et configurez les
NOT SETRUN SETUP dans le Setup du BIOS. paramètres.
UTILITY
CMOS MEMORY SIZE La mémoire déclarée n'est pas
MISMATCH physiquement installée.
7
Messages d'erreur au démarrage
UNABLE TO INITIALIZE L'unité du disque dur a été mal Passez les paramètres en
HARD DRIVE (DRIVE définie. "AUTO" dans la configuration
TYPE ?) des disques durs.
KEYBOARD IS LOCKED Le clavier est verrouillé. Déverrouillez-le en mettant la
clé dans la serrure présente sur la
façade de certains PC et tournez-
la. Redémarrez ensuite le PC ou
appuyez sur une touche. Pour
certaines cartes mères, il vous
faut enlever (ou déplacer) un
cavalier qui empêche l'utilisation
du clavier.
8042 Gate-A20 Error Le contrôleur du clavier (8042) Essayez de réinsérer le
ne fonctionne pas. contrôleur correctement. Si le
problème persiste changez-le.
CH-2 Timer error Le second timer a un problème Il s'agit d'un conflit causé par
un périphérique. Vous pouvez
enlever tous les périphériques
inutiles et ne laisser que la
carte vidéo pour voir quel
périphérique cause problème.
Cache memory bad, do not Défaillance de la mémoire Désactivez le cache L1 (et L2)
enable cache. cache. du processeur.
Address line short Problème logique dans le Eteignez et rallumez le PC une
décodage d'une adresse minute après.
mémoire. Le problème peut
venir d'une perturbation
magnétique.
On board parity error Erreur de parité dans la mémoire Faites une vérification antivirale
de la carte mère. du BIOS.
DMA bus time out Un périphérique a monopolisé Remplacez le périphérique
les signaux du bus pendant incriminé.
une durée supérieure à la durée
allouée (7,8 microsecondes).
Généralement, le périphérique
incriminé est défectueux.
No ROM Basic Aucune unité de boot n'est Définissez un lecteur sur lequel
définie dans le Setup du Bios. booter.
8
Le CHMOD
Guillaume Bettayeb
Le CHMOD
Guillaume Bettayeb
Table des matières
1. Gestion des droits de fichiers avec CHMOD .................................................................. 1
Notions de base .................................................................................................... 1
Comment affecter les droits au fichiers ? ................................................................... 1
Autres observations à propos du CHMOD ................................................................. 4
iv
Chapitre 1. Gestion des droits de
fichiers avec CHMOD
Ce document décrit brièvement la commande chmod, en expliquant la différence entre l'attribution des droits de
fichiers par la méthode utilisant « les lettres », et la méthode utilisant « les nombres » (base octale).
Notions de base
Un fichier d'ordinateur peut avoir trois attributs : Lecture / Ecriture / Execution Lecture: Cet attribut
permet d'autoriser ou non la lecture du fichier Ecriture: Cet attribut permet d'autoriser ou non l'écriture
du fichier Execution: Cet attribut permet d'autoriser ou non l'exécution du fichier
Ces attributs sont paramétrables à la fois pour le propriétaire du fichier, le groupe d'utilisateurs auquel
est rattaché le propriétaire, et tous les autres utilisateurs indéfinis n'appartenant à aucune des deux
premières catégories. On parle alors de USER, de GROUP et de OTHERS, pour nommer ces trois
catégories.
Le premier caractère est soit un tiret (-) s'il s'agît d'un fichier régulier, soit un (d) s'il s'agît d'un fichier
de type répertoire.
Ensuite, les trois premiers symboles concernent les droits du propriétaire du fichier, les trois suivants
concernent les droits du groupe, et les trois derniers concernent les droits de n'importe quel autre
utilisateur qui n'est pas le propriétaire du fichier, ni dans le groupe du propriétaire. Pour les trois
derniers groupes de valeurs, le tiret (-) signifie l'absence de droits.
Ainsi, pour l'exemple [-] [rwx] [rw-] [---], on peut dire que :
2. Le propriétaire du fichier peut lire, (r pour « read ») écrire, (w pour « write ») et exécuter le fichier
(x pour « execute »)
3. les utilisateurs étant membres du même groupe que le propriétaire du fichier peuvent lire et écrire
dans le fichier, mais ne peuvent pas l'exécuter (rw-)
4. Enfin, tous les autres utilisateurs ne peuvent ni lire, ni écrire, ni exécuter le fichier (---)
1ère méthode : en utilisant les lettres, par exemple : « chmod u+wx,g+w,o-r Fichier »
2ème méthode: en utilisant les chiffres, par exemple : « chmod 760 Fichier »
1
Gestion des droits de
fichiers avec CHMOD
CHMOD distingue les entités (utilisateur, groupe, et autres) en trois groupes de trois bits :
A partir de là, nous dirons que nous allons placer les bits à 1 pour chaque droit que nous voulons
autoriser (lecture, écriture, exécution..) et nous placerons à 0 les bits pour les droits que nous voulons
refuter, en appliquant cette règle dans chacun des groupes d'utilisateurs.
U G O UG O
Les bits ont désormais une valeur égale à 0 ou 1 ce qui nous donne des valeurs binaire :
Voilà donc comment on calcule les droits des utilisateurs sous Unix .. Mais ce n'est pas tout à fait fini
puisque pour appliquer cette méthode, il faut communiquer avec la commande CHMOD non pas en
base 2 mais en base 8, donc avec le système octal.
Pour obtenir la valeur octale de chacun des groupes, il suffit d'appliquer la règle suivante en considérant
que b = chacun des bits, calculés de gauche à droite:
(22xb)+(21xb)+(20xb)
Dans l'exemple du tableau ci-dessus, nous avons trois groupes de trois bits répartis ainsi :
Donc, 111 = 7
Pour le deuxième :
Donc, 110 = 6
Et pour le troisième :
Donc,
2. les membres du groupe ont le droit de lire,écrire dans le fichier. 110 binaire = 6 octal
2
Gestion des droits de
fichiers avec CHMOD
3. les autres utilisateurs n'ont aucun droit sur le fichier. 000 binaire = 0 octal
Il est évident que vous pouvez plus ou moins changer les droits d'un fichier en fonction des droits que
vous même possedez sur ce même fichier. Par exemple, vous ne pouvez pas changer les droits sur un
fichier qui ne vous appartient pas. Seul le compte root est habilité à avoir tous les droits sur un fichier,
même sur ceux qui ne lui appartiennent pas.
Pour définir les droits en utilisant les lettres, on peut par exemple utiliser :
chmod u+wx,g+w,o-r
les lettres u g et o définissent user,group, et others. Le symbole + (plus) ajoute un droit, le symbole –
(moins) supprime un droit. La virgule sert à séparer les groupes.
Ainsi, dans l'exemple « chmod u+wx,g+w,o-r » je spécifie que je souhaite ajouter (+) les droits de
lecture et écriture (wx) au propriétaire du ficher (u). Je spécifie ensuite que je souhaite ajouter (+) les
droits d'écriture (w) au groupe (g). Enfin, je spécifie que je souhaite retirer (-) le droit de lecture (r)
aux autres utilisateurs.
Pièges à éviter:
La méthode par lettre est plus « hasardeuse » que la méthode par chiffres.
Pourquoi ? car la méthode par chiffres ( par exemple 760) définit clairement et en un seul code
l'ensemble des droits possibles pour chacun des groupes, alors que la méthode par lettre ne tient
pas compte de la valeur actuelle du chmod, mais se contente simplement de modifier les droits des
utilisateurs qu'on cite dans la commande.
lorsque l'on crée un fichier (avec la commande touch ) Linux fixe par défaut le fichier avec les droits
du fichier sur 644.
Maintenant, supposons que je souhaite modifier les droits de ce fichier en appliquant la méthode des
lettres. Je vais simplement modifier les droits en reprenant l'exemple ci-dessus, à savoir :
chmod u+wx,g+w,o-r
Maintenant, essayons tout de suite, à partir de la valeur en lettres, de reconstituer ce que pourrait être
la commande si j'avais « utilisé les chiffres », en partant du principe que tous les bits non spécifiés
dans la commande « par lettres » sont tous à 0.
Je spécifie donc que je souhaite ajouter (+) les droits de lecture et écriture (wx) au propriétaire du
ficher (u). Ce qui donne en binaire 011 pour le propriétaire, (rappellons que je pars du principe que
le bit non spécifié, c'est à dire le bit « read » est à 0).
Je spécifie ensuite que je souhaite ajouter (+) les droits d'écriture (w) au groupe (g). Ce qui donne en
binaire 010 (toujours en placant volontairement à 0 les bits non spécifiés..)
Enfin, je spécifie que je souhaite retirer (-) le droit de lecture (r) aux autres utilisateurs. Ce qui donne
en binaire 000 (toujours en ignorant les autres bits et en les mettant à 0 par défaut..)
Ce qui au final nous donne [011] [010] [000] en binaire, soit : 320 en octal
3
Gestion des droits de
fichiers avec CHMOD
Donc, on peut dire que, pour tout fichier en chmod 000 on peut admettre l'égalité suivante :
u+wx,g+w,o-r = 320
Mais, cette égalité n'est valable que parce que nous sommes partis d'un fichier avec un chmod
positionné à 000.
Nous avons vus que par défaut, Linux attribue un chmod positionné à 644. Que se passe t-il si l'on
applique un chmod « en utilisant les lettres », à savoir u+wx,g+w,o-r ?
Voici l'étât de mon fichier au départ : -rw-r--r-- (droit 644 par défaut)
Donc, pour un fichier positionné sur -rw-r—r--, par défaut, il aurait fallu taper « chmod 760 » pour
obtenir un fichier positionné sur -rwxrw----, pour obtenir le même résultat qu'avec la commande
chmod u+wx,g+w,o-r fichier et non pas chmod 320.
Donc, la sortie d'un chmod effectué avec « les lettres » n'est pas « forcément » la même sortie qu'avec
une « pseudo équivalence » en utilisant les « chiffres ». Tout dépend de la façon dont les bits sont
positionnés au départ (644 est fréquemment rencontré puisqu'il s'agît de la valeur par défaut).
La seule fois ou « les lettres » peuvent « donner la même chose que les chiffres » est si le chmod à
tous les bits placés à zéro, ce qui n'a absolument aucun sens car qui voudrait se retirer tous les droits
à un fichier qu'il à crée ?
En d'autres termes, mieux vaut utiliser le système octal, car il est plus précis, et définit en un code
unique la valeur de chaque bit.
On peut donc à tout moment « jongler » avec les droits (ajouter, enlever, et même fusionner..), en
effectuant la somme ou la soustraction des différences entre les bits :
la différence entre la valeur par défaut et la modification que je souhaite apporter s'effectue en
comparant les valeurs binaires des deux nombres. La différence consiste alors à positionner à 1 les
bits qui ont changés, et à 0 les bits qui sont restés inchangés durant l'opération.
On observe donc que la différence entre 111 110 000 et 110 100 100 est 001 010 100
7-6=1
6-4=2
4-0=4
4
Gestion des droits de
fichiers avec CHMOD
A présent, reprenons le fichier que je viens de créer avec par défaut des droits placés à 644.
Je viens de le modifier en tapant chmod 760 (qui équivaut pour ce cas à chmod u+wx,g+w,o-r)
et puis on m'informe que ce n'était pas le bon fichier, et qu'il faille donc restituer la valeur de
départ..Pour cet exemple, c'est facile, car je sais que mon fichier était placé avec la valeur par défaut,
et qu'un simple « chmod 644 » est la solution .. mais comment calculer ?
7-1=6
6-2=4
0 +4 = 4
En binaire : 111 110 000 - 001 010 100 = 110 100 100
Et à l'inverse, si je souhaite « fusionner » les droits 644 avec les droits 760, il faut faire la somme de
la la modification (760) ajoutée avec la différence (127), soit :
Le résultat est donc 764. J'ai pu ainsi inclure les droits de départ par défaut du fichier (644) « dans »
les nouveaux droits (760).
Si je souhaite revenir à la valeur de départ, c'est toujours la même chose, je place à 1 les bits modifiés
et je place à 0 les bits non modifiés en comparant la somme (764) avec la première modification (760).
Il reste 4 (000 000 100).
Enfin, dernier exemple, si je prends au hasard la valeur binaire 011 101 111, (357) et que j'inverse les
bits, soit 100 010 000, (420) je saurai que pour obtenir « le négatif » d'un fichier dont les droits sont
positionnés à 357, il me faudra taper chmod 420 "fichier"
En résumé, il est plus facile de gérer les droits des fichiers en utilisant la méthode des chiffres, puisque
l'on peut trouver facilement la valeur souhaitée par de simples calculs. la méthode "texte" convient
pour des modifications rapides, lorsque l'on connaît le principe de fonctionnement du chmod. Elle est
plus souple, plus simple à mettre en oeuvre, mais attention à ne pas se laisser induire en erreur.
5
LE RAID
Guillaume Bettayeb
LE RAID
Guillaume Bettayeb
Table des matières
1. LE RAID ................................................................................................................. 1
Définition du Raid ................................................................................................ 1
2. Les types de RAID .................................................................................................... 2
Le RAID 0 .......................................................................................................... 2
Le RAID 1 .......................................................................................................... 2
Le RAID 2 .......................................................................................................... 2
Le RAID 3 .......................................................................................................... 2
Le RAID 4 .......................................................................................................... 3
Le RAID 5 .......................................................................................................... 3
Le RAID 6 .......................................................................................................... 3
Autres niveaux de RAID ........................................................................................ 3
iv
Chapitre 1. LE RAID
Définition du Raid
Le RAID (Redundant Array of Independent Disks) est un système utilisé pour augmenter la tolérance
aux pannes des disques durs. Le principe du RAID est de copier et/ou répartir l'information sur
plusieurs disques durs pilotés ensemble par un contrôleur de disques. De multiples "versions" de
RAID ont vu le jour ces dernières années. Au départ, le RAID fut conçu pour augmenter la tolérance
aux pannes des disques bons marchés, puisque la haute fiabilité n'était alors disponibles que pour
les industriels. Ces disques destinés aux grandes entreprises coutaîent très chers. L'idée du RAID est
que, en répartissant les informations sur plusieurs disques de façon synchronisée, on gagne plusieurs
avantages. Le premier étant un temps d'écriture et de lecture beaucoup plus rapide sur chaque disque.
Le second étant une tolérance aux pannes plus accrue dans la mesure ou si l'un des disques tombe en
panne, les autres disques présents sur la "grappe" continuent de fonctionner jusqu'a ce que le disque
endommagé soit réparé ou remplacé.
En fait, chaque version du RAID dispose d'une tolérance plus ou moins élevée aux pannes. Par
exemple, une grappe de disques durs monté en RAID 5 avec contrôle de parité peut perdre un disque
et continuer de fonctionner. Mais en revanche, si deux disques durs tombent en panne, alors il est
impossible pour le contrôleur de reconstruire la grappe avec les informations dont il dispose sans les
deux disques manquants.
1
Chapitre 2. Les types de RAID
Le RAID 0
Le RAID 0 (striping) n'apporte pas plus de sureté en matière de résistance aux pannes qu'une
configuration classique à un seul disque. Les données sont stockées de manière partagée, c'est à dire
que l'information est "répartie" entre les deux disques. Pour une information I, le premier disque RAID
0 contiendra une moitié des données, l'autre disque contiendra l'autre moitié des données. Donc, en cas
de panne d'un des deux disques, la moitié des données sont perdues, et les informations que contient le
disque restant sont donc inutilisables puisqu'il manque une moitié. En revanche, l'avantage qu'apporte
le RAID 0 est une réduction significative des temps d'accès aux données pour les opérations de lecture /
écriture, puisque les disques travaillent en parallèle (n>=2). Autrement dit, au plus il y a de disques
montés en RAID 0, au plus les temps d'accès par disques sont réduits. L'autre avantage est la réduction
du coût de l'espace disque. En effet, un fichier de 500ko ne coutera qu'environ 250ko d'espace sur
2 disques, 125ko sur 4, etc...C'est pourquoi le temps d'accès par disques diminue à mesure que l'on
augmente le nombre de disques disponibles.
Ce type de RAID est surtout utilisé pour les applications ayant besoin de temps de réponse très court
aux accès disques, comme les applications Multimédia (Audio et Vidéo).
Le RAID 1
Le RAID 1 (mirroring) diffère du RAID 0 en ce sens qu'au lieu de partager les données entre 2 ou n
disques, il copie les mêmes informations sur chacun des disques. Le RAID 1 est "l'inverse" du RAID
0. Alors que le RAID 0 économise l'espace mais n'offre aucune protection supplémentaire, le RAID
1 apporte une haute fiabilité dans la mesure ou si l'un des disques de la grappe tombe en panne, le(s)
autre(s) continue de fonctionner jusqu'a ce que le disque défaillant soit remis en production.
L'inconvénient du RAID 1 est qu'il coûte beaucoup en espace disque, puisque les mêmes données sont
dupliquées sur chacun des disques présents dans la grappe. Donc, si l'on dispose par exemple de 2
disques de 20 Go, on ne pourra en réalité ne stocker que 20 Go de données sur les deux disques et
non 40. Dans le cas du RAID 1, la capacité totale de stockage reste indéfiniment la même quel que
soit le nombre de disques.
Le RAID 2
Le RAID 2 fut abandonné car il n'offre pas de bons rapports de performances en lecture/écriture.
Identique au RAID 0 (striping), le RAID 2 diffère dans la mesure ou il possède un contrôle d'erreurs
et n'accède qu'a un seul disque pour les données en écriture. Cependant, les contrôles d'rreur (ECC)
sont aujourd'hui intégrés dans les contrôleurs.
Le RAID 3
Le RAID 3 fonctionne aussi par bandes (striping). Le RAID 3 fonctionne par octets. Il nécessite au
minimum trois disques pour fonctionner (n >=3) . Les n-1 premiers disques contiennent les données
alors que le dernier disque contrôle la parité des données. Si le disque de parité est défaillant, il est
alors possible de reconstruire la parité avec le contenu des autres disques de données.
Si l'un des disques de données tombe en panne, il est alors possible de reconstituer ses informations
d'après les disques restants et le disque qui effectue le contrôle de parité.
La faiblesse du RAID 3 et que, si plus d'un disque est défaillant, il est impossible de reconstruire la
grappe de données.
2
Les types de RAID
Le RAID 4
Le RAID 4 fonctionne exactement comme le RAID 3, mais offre de meilleures performances dans la
mesure ou il travaille par blocs de données plutôt que par octets. Dès lors, il effectue beaucoup moins
d'opérations de synchronisation entre les disques.
Le RAID 5
Le RAID 5 est sans nul doute le niveau RAID le plus répandu aujourd'hui. Ce système combine
l'agrégation par bandes (striping) avec la parité répartie de manière circulaire entre les disques. Les
données brutes, mais aussi les données de parité sont donc réparties sur chacun des disques. Donc,
en cas de défaillance de l'un des disques, non seulement les données peuvent être reconstruites en
calculant les données de parité réparties sur les autres disques, mais l'ensemble de la grappe peut
continuer de fonctionner puisque les données brutes sont toujours accessibles, puisque qu'elles sont
présentes sur tous les disques.
Par exemple, admettons quatre disques A,B,C et D. Lors de la première écriture, le contrôleur RAID
va écrire les données brutes sur les disques A,B,C, puis stockera les informations de parité de cette
séquence sur le disque D. Lors de la deuxième écrite en revanche, les données seront écrites sur les
disques A,B,D, puis le contrôle de parité sera alors écrit sur le disque C, et ainsi de suite...
Pour fonctionner, le système RAID 5 à donc besoin d'un minimum de trois disques durs (n>=3) de
même taille (toutefois les controleurs récents autorisent l'utilisation de disques de tailles différentes).
La faiblesse du RAID5 est qu'il ne tolère pas plus d'un seul disque en panne. Si plus d'un disque devient
hors service, il est alors impossible de reconstruire les données.
Le RAID 6
Le RAID 6 est une évolution du RAID 5 car ce système utilise deux blocs de contrôle de parité au
lieu d'un seul comme le fait le RAID5. Le RAID 6 affiche donc une tolérance aux pannes plus élévée
que le RAID5 et peu perdre deux disques durs. En revanche, ce système est peu utilisé puisqu'il coûte
plus cher en espace disque (à cause de la redondance du contrôle de parité) mais aussi parce que les
accès disques sont plus long à cause de la puissance CPU requise pour calculer les redondances de
parité. De même que les calculs à fournir pour reconstruire un disque sont plus complexes, et prennent
plus de temps.
N : Nombre de grappes
L'avantage de ces grappes imbriquées est un haut niveau de tolérances aux pannes. Par exemple, pour
le cas d'un RAID 10, il faudrait que tous les disques d'une des deux grappes RAID1 tombe en panne
pour entraîner une panne globale.
3
Adressage réseau
Guillaume Bettayeb
Stéphane Aleman
Adressage réseau
par Guillaume Bettayeb et Stéphane Aleman
Table des matières
1. Explications .............................................................................................................. 1
Structure d'un réseau ............................................................................................. 1
ET logique ........................................................................................................... 1
Mise en pratique : Découpage du réseau TSGRI ......................................................... 2
2. Découpage Réseau .................................................................................................... 4
Les adresses IP ..................................................................................................... 4
La norme CIDR .................................................................................................... 4
Les classes de réseau ............................................................................................. 4
Plan d'adressage .................................................................................................... 5
1) Déterminer l'adresse de Broadcast ................................................................ 5
2) Trouver le nombre d'hôtes disponibles .......................................................... 6
Récapitulatif pratique ............................................................................................. 6
iv
Chapitre 1. Explications
Structure d'un réseau
Tout réseau est structuré de manière identique, et à besoin d’un minimum de 2 adresses IP. UNE qui est
l’adresse RESEAU (point de départ), et une autre qui est l’adresse BROADCAST (point de fin).Les
autres adresses disponibles sont celles des HÔTES. La quantité d’adresse disponible pour un réseau
est déterminée par le masque de sous-réseau (NETMASK).
Une adresse IP est codée sur 32 BITS (4 OCTETS) du type A . B . C . D où chaque octet à sa valeur
décimale ( donc comprise entre 0 et 255). Pour le masque il en est de même du type E . F . G . H chacun
des bits ne pouvant prendre la valeur 1 en partant du bit de poids le plus fort que si le bit précédent
est à 1. Cela donne des valeurs prédéfinies pour chaque masque. Le premier octet ne pourra prendre
que les valeurs suivantes : 0 (les 8 bits à 0), 127 (1 0 0 0 0 0 0 0 ), 192 ( 1 1 0 0 0 0 0 0 ), 224 ( 1
1 1 0 0 0 0 0 ), 240 ( 1 1 1 1 0 0 0 0), 248 ( 1 1 1 1 1 0 0 0 ), 252 ( 1 1 1 1 1 1 0 0 ), 254 ( 1 1 1 1
1 1 1 0 ) et enfin 255 (tous les bits à 1).
Ainsi de suite pour les autres octets, l'octet suivant ne peut être incrémenté que si l'octet précédent
à une valeur de 255, sauf pour le dernier dont la valeur maximale est 252 .Nous comprendrons plus
tard pourquoi. Lorsque l’on souhaite utiliser un réseau à /24 cela signifie que l’adresse du réseau est
codée sur 24 bits (les 3 premiers octets).Donc on peut en déduire que l’adresse IP RESEAU est A . B .
C .0 et l’adresse BROADCAST est A . B . C . 255 , par conséquent nous disposons de 254 adresses
IP libres pour les HÔTES (HOST).
ET logique
La quantité d’adresse IP disponible et l’adresse RESEAU est définie par la valeur du masque Dans
notre précédent exemple avec un netmask notation /24 (le bit 1(celui de poids le plus fort) au bit 24
sont à 1), dont la valeur est : 255 . 255 . 255 . 0 , on dispose de 256 adresse IP pour notre réseau,
effectivement le dernier octet ayant la valeur 0, de 0 à 255 cela fait 256.Cela nous a déterminé la
quantité maintenant pour connaître l’ adresse réseau il suffit de faire un ET LOGIQUE entre une
adresse IP et le masque. Adresse IP : A . B . C . x x x x x x x x
Le résultat sera toujours le même : A . B . C .0 ce qui détermine l’adresse RESEAU. Pour connaître
l’adresse BROADCAST il suffit d’ajouter 255 à 0 donc le BROADCAST se trouve à l’adresse IP :
A . B . C .255.
Maintenant, on incrémente le bit 25 du masque ce qui a pour effet de couper notre précédent réseau /24
(256 IP) en 2 réseau /25 (128 IP). En effet en effectuant un ET LOGIQUE entre une IP de valeur
A.B.C.0 à A.B.C.127 et un masque 255.225.255.127, on obtiendra toujours l’adresse IP A.B.C.0
correspondant à l’adresse RESEAU et donc l’adresse BROADCAST sera [ 0+127 ( 127 (27))étant la
valeur du bit de poids le plus fort sur l’ octet] A.B.C.255.
R/24=(R/25+R/25)=(21 ) (R/25)
Ensuite après l' incrément du bit 26 du masque dont la valeur sera 255.225.255.191, les 2 réseaux
précédents de 128 IP vont être coupés chacun en deux réseaux identiques de 64 IP. On pourra aisément
vérifier par le ET LOGIQUE et on obtient l'égalité suivante:
1
Explications
Attention ici les parenthèse sont importantes car elles définissent des blocs indissociables. Si on
continue le découpage, donc le bit 27 du masque à 1 (255.225.255.224), on va couper chacun des 4
(22) R/26 en 2 et obtenir 8 (23) R/27 (32 IP possibles chacun, ce nombre est directement obtenue par
la valeur décimale du bit incrémenté, bit 27 à 1 , 25 ), et l' égalité suivante:
R/26=(R/27+R/27)
R/24=(R/25+R/25)=(R/26+R/26)+(R/26+R/26)
R/24=[[(R/27+R/27)+(R/27+R/27)]+[(R/27+R/27)+(R/27+R/27)]].
On s'arrêtera au masque /30 car un masque /31 donnerais des réseaux 2 IP seulement et donc
inexploitables car il n'y a pas d'adresse IP hôte disponible. Après analyse des précédents découpages
on comprends que selon la taille du réseau ils ne peuvent avoir que certaines adresses IP RESEAU: -
R/24 ne peut avoir que A.B.C.0 -R/25 ne peut avoir que A.B.C.0 ou A.B.C. 127 -R/26 ne peut avoir que
A.B.C.0, A.B.C.64, A.B.C.128, ou A.B.C.192. -R/27 ne peut avoir que A.B.C.O, A.B.C.32, A.B.C.64,
A.B.C.96, A.B.C.128, A.B.C.,160,A.B.C.,192 ouA.B.C.224. -R/28 ne peut avoir que A.B.C.0 et les
autres adresses s'obtiennent en ajoutant 16 à la précédente jusqu'à la valeur 240 (256-16). -R/29 ne
peut avoir que A.B.C.0 et les autres adresses s'obtiennent en ajoutant 8 à la précédente jusqu'à la valeur
248 (256-8). -R/30 ne peut avoir que A.B.C.0 et les autres adresses s'obtiennent en ajoutant 4 à la
précédente jusqu'à la valeur 252 (256- 4).
La première adresse du Lan est toujours réservée à l'IP réseau : pour le LAN 1 :172.25.20.0 Les 24
suivantes sont attribuées aux « serveurs virtuels » raison de 5 adresses par poste, notées VMx-PCx-
Tx : VM : virtual machine + numéro PC + numéro du PC sur la table T : T pour table plus numéro
de la table:
2
Explications
• PC1-T1 : 172.25.20.41
• PC2-T1 : 172.25.20.40
• PC3-T1 : 172.25.20.39
• PC4-T1 : 172.25.20.38
Les 15 suivantes sont attribuées aux IP en DHCP pour Lan 1 de 172.25.20.42 à 172.25.20.56.
Pour le Lan 1 : 172.25.20.57 à 172.25.20.62. Cette dernière IP est reservée au routeur. La dernière
adresse IP étant toujours l'adresse de BROADCAST pour le Lan 1 : 172.25.20.63
3
Chapitre 2. Découpage Réseau
Les adresses IP
Une adresse IP est constituée de quatre octets séparés par des points :
octet1.octet2.octet3.octet4
Dans une adresse IP, (ex: 192.168.129.0) certains octets définissent la partie dîte « réseau », et les
autres définissent la partie dîte « hôte(s) ». On détermine quels octets seront affectés à l'une ou à l'autre
des parties en fonction du nombre de bits positionnés à 1 en binaire dans ce que l'on appelle le masque
de sous réseau.
Par exemple :
255.255.255.0 = 11111111.11111111.11111111.00000000
En affichant en binaire, on peut s'apercevoir immédiatement que l'ensemble des valeurs possibles pour
chaque octet est comprise entre 0 et 255, car 255 est l'équivalent en décimal de la valeur 11111111
en binaire.
Le masque ci-dessus contient 24 bits positionnés sur 1, soit les trois premiers octets (3x8).
Donc, on sait maintenant que les trois premiers octets de l'adresse 192.168.129.0
Déterminent la partie adresse (192.168.129) et que l'octet restant (0) représente ce qu'il reste pour les
machines hôtes.
La norme CIDR
Cisco à crée une norme pour écrire le couple « adresse et masque » en inscrivant l'adresse de réseau,
un slash, puis le nombre de bits positionnés à 1.
Ainsi :
192.168.129.0/24 signifie que mon adresse de réseau est 192.168.129.0 et que le masque de sous
réseau est long de 24 bits: 11111111.11111111.11111111.00000000, soit 255.255.255.0
Les classes A et B sont plutôt usitées pour des réseaux WAN (Wide Area Network) et représentent de
grands réseaux étendus, lesquels peuvent contenir jusqu'à plusieurs millions de machines hôtes pour
la classe A.
La classe C est utilisée pour les réseaux dits « locaux » (réseau à domicile, dans les bureaux
d'une entreprise ...) c'est la classe la plus fréquemment rencontrée puisque tous les ordinateurs sont
aujourd'hui reliés à des réseaux locaux, et non plus « directement » sur Internet, par le biais d'une carte
modem par exemple.
4
Découpage Réseau
La classe D, qui représente les réseaux les plus petits, contenant très peu d'hôtes (minimum 2) est
plutôt utilisée pour établir la liaison entre les routeurs, et autres machines chargées de relayer les
informations sur le réseau.
Plan d'adressage
Nous savons maintenant ce qu'est une adresse de réseau
Pour un réseau donné (ex: 192.168.129.0) et un masque définit à 255.255.255.0 (soit en notation CIDR
192.168.129.0/24) il faut :
L'adresse de broadcast (adresse de diffusion) est une adresse commune, partagée par tous les hôtes
du réseau.
On peut déjà observer que l'adresse de broadcast et l'adresse de réseau ont systématiquement une
valeur commune : La partie réseau.
Puisqu'il s'agit d'un masque à 24 bits, les trois premiers octets sont communs : 192.168.129
Maintenant, pour déterminer l'adresse de broadcast à partir d'un couple « adresse réseau/masque »
donné, nous avons deux cas de figure.
1 – Si la partie hôte de l'adresse de réseau et la partie hôte du masque ont la même valeur, la partie
hôte de l'adresse de broadcast sera fixée à 255.
2 – Si la partie hôte de l'adresse de réseau et la partie hôte du masque ont une valeur différente, il
suffit de faire un ET logique entre la partie hôte de l'adresse de réseau, et la partie hôte du masque
de sous réseau.
Exemple :
Sur ces deux adresses, la partie hôte qui nous intéresse est codée sur le dernier octet (128 et 192).
Pour rappel, le ET logique consiste à comparer deux nombres rangs par rangs, et si les valeurs sont
identiques, on place un 1, si elles sont contraires, on place un 0.
128 = 10000000
192 = 11000000
5
Découpage Réseau
Attention, un hôte n'est pas forcément un « PC de bureau » mais un serveur, un switch, un hub, un
routeur, un téléphone, une imprimante...
Pour déterminer le nombre d'hôtes que l'on peut réellement connecter au réseau que nous avons établis,
il suffit de :
2. d'ajouter 1 au résultat
3. puis de soustraire 2
Pourquoi ? Prenons l'exemple d'une adresse de réseau à 192.168.129.0 et une adresse de broadcast
à 192.168.129.127
1. 127 – 0 = 127
2. 127 + 1 = 128
3. 128 – 2 = 126
Récapitulatif pratique
Voici quelques petits procédés rapides à garder sous le coude pour retrouver rapidement une adresse
de réseau, de broadcast, ou de masque.
Dénominations :
v= ET logique
N = Mh(2) v Nh(2)
[(Bh-Nh)+1]-2
6
Découpage Réseau
N1.N2.N3.N4 = B1.B2.B3.M4
N+nbrIPtotal - 1
puis ajouter 1 pour avoir le nombre total d'ip, et faire la correspondance avec le mask (64 ips donne
un mask CIDR à 26)