Вы находитесь на странице: 1из 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers

Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)


Dossier technique

___________________________________________

DOSSIER TECHNIQUE
___________________________________________

Titre du projet : Mise en place d'un portail captif avec ALCASAR


Nom de l'tudiant : HA
Nom de l'entreprise : Lyce Sacr-Cur
Priode de stage : du 24 fvrier au 12 juin 2009
N du jury : 1
Dang-Khoa HA R2I Promo '09

Dossier technique

Page 1 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Sommaire
INTRODUCTION...................................................................................................................................................................4
1

PROJET ALCASAR.............................................................................................................................................................5
1.1

DESCRIPTION GNRALE DU PRODUIT...........................................................................................................................................5


1.1.1
Mission...........................................................................................................................................................................5
1.1.2
Constituants foncionnels et matriels............................................................................................................................5
1.1.3
Explication globale du fonctionnement.........................................................................................................................5
1.2
PERFORMANCES ET LIMITES........................................................................................................................................................5
1.2.1
Caractristiques oprationnelles du produit.................................................................................................................5
1.2.2
Limites d'utilisation.......................................................................................................................................................7
1.2.3
Extensions possibles......................................................................................................................................................8
1.3
LMENTS TECHNIQUES..............................................................................................................................................................8
1.3.1
Installation de Linux Mandriva 2009............................................................................................................................8
1.3.2
Installation d'ALCASAR v1.7 rc3................................................................................................................................14
1.3.3
Utilisation....................................................................................................................................................................15
1.3.4
Tests et rglages...........................................................................................................................................................19
1.3.5
Schma fonctionnel......................................................................................................................................................20
1.3.6
Plan..............................................................................................................................................................................20

PROJET REMOTE VLC LIGHT....................................................................................................................................21


2.1

DESCRIPTION GNRALE DU PRODUIT.........................................................................................................................................21


2.1.1
Mission.........................................................................................................................................................................21
2.1.2
Constituants fonctionnels et matriels.........................................................................................................................21
2.1.3
Explication globale du fonctionnement.......................................................................................................................21
2.2 PERFORMANCES ET LIMITES...........................................................................................................................................................22
2.2.1
Caractristiques oprationnelles du produit...............................................................................................................22
2.2.2
Limites d'utilisation.....................................................................................................................................................22
2.2.3
Extensions possibles....................................................................................................................................................22
2.3
LMENTS TECHNIQUES............................................................................................................................................................22
2.3.1
Installation et utilisation de Client_VLC.....................................................................................................................22
2.3.2
Installation et utilisation de Remote_VLC_Light........................................................................................................23
2.3.3
Fonctionnement...........................................................................................................................................................25
2.3.4
Tests et rglages...........................................................................................................................................................26
2.3.5
Schma fonctionnel......................................................................................................................................................26
2.3.6
Fichiers de configuration et scripts.............................................................................................................................26

PROJET CONSOLE SYNCHRO PARC.........................................................................................................................28


3.1

DESCRIPTION GNRALE DU PRODUIT.........................................................................................................................................28


3.1.1
Mission.........................................................................................................................................................................28
3.1.2
Constituants fonctionnels et matriels.........................................................................................................................28
3.1.3
Explication globale du fonctionnement.......................................................................................................................28
3.2
PERFORMANCES ET LIMITES......................................................................................................................................................29
3.2.1
Caractristiques oprationnelles du produit...............................................................................................................29
3.2.2
Limites d'utilisation.....................................................................................................................................................29
3.2.3
Extensions possibles....................................................................................................................................................29
3.3
LMENTS TECHNIQUES............................................................................................................................................................30
3.3.1
Synchro Parc XP..........................................................................................................................................................30
3.3.2
Console de restauration distance Synchro Parc.......................................................................................................31
3.3.3
Tests et rglages...........................................................................................................................................................35
3.3.4
Schma de synthse......................................................................................................................................................35
3.3.5
Fichiers de configuration et scripts.............................................................................................................................36

ANNEXES............................................................................................................................................................................37
4.1
4.2

ANNEXE 1 : CODE DU LOGICIEL VLC_CLIENT ....................................................................................................................37


ANNEXE 2 : FICHIER REMOTE_VLC_LIGHT.INI .................................................................................................................38

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 2 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21

ANNEXE 3 : APERU DU FICHIER ORANGE_TV.M3U .............................................................................................................38


ANNEXE 4 : FICHIER CHAINES.TXT ......................................................................................................................................39
ANNEXE 5 : APERU DU FICHIER CH_ADR.TXT ....................................................................................................................39
ANNEXE 6 : CODE DU LOGICIEL REMOTE_VLC_LIGHT .......................................................................................................40
ANNEXE 7 : CODE DU LOGICIEL CLIENT_SPARC ...............................................................................................................50
ANNEXE 8 : CODE DU LOGICIEL CONSOLE_SPARC .............................................................................................................52
ANNEXE 9 : CODE DU LOGICIEL PREPA_CONSOLE ................................................................................................................59
ANNEXE 10 : CODE DU LOGICIEL MODULE_IMPORT ...........................................................................................................61
ANNEXE 11 : CODE DU LOGICIEL INSTALL ..........................................................................................................................62
ANNEXE 12 : FICHIER CONFIG_SPARC.INI .....................................................................................................................63
ANNEXE 13 : FICHIER JESUISLA.TXT ..................................................................................................................................63
ANNEXE 14 : FICHIER TOUTESLESSALLES.TXT ..................................................................................................................63
ANNEXE 15 : FICHIER POSTESARESTAURER.TXT ................................................................................................................63
ANNEXE 16: FICHIER PCDEMARRE.TXT .............................................................................................................................63
ANNEXE 17 : APERU DU FICHIER TOUTES_LES_ADRESSES.TXT..............................................................................................64
ANNEXE 18 : APERU DU FICHIER FICHIER_TYPE.TXT..........................................................................................................64
ANNEXE 19 : FICHIER WAKE_ON_LINE.TXT .....................................................................................................................64
ANNEXE 20 : CODE DU LOGICIEL CRYPTAGE ......................................................................................................................65
ANNEXE 21 : FICHIER CLE_REG.TXT ................................................................................................................................67

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 3 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Introduction
Durant la priode de stage, plusieurs projets ont t raliss. Le dossier technique prsent ci-aprs a pour
but de fournir lentreprise daccueil les informations ncessaires la comprhension du fonctionnement
en vue de lutilisation, de la maintenance et des modifications ultrieures des produits.
Le dossier sera dcompos en une partie distincte pour chaque projet. En fin de dossier se trouvent les
annexes.
Il est noter que ces programmes sont appels tre utiliss dans d'autres tablissements (collges et
lyces du Maine et Loire), certaines remarques de ce dossier sont donc lies cette ralit.

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 4 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Projet ALCASAR
1.1

Description gnrale du produit


1.1.1

Mission

Lobjectif de ce projet tait dinstaller un portail captif dans le CEFOC. Pour cela, on utilise ALCASAR
(Application Libre pour le Contrle dAccs Scuris et Authentifi au Rseau). ALCASAR est une
solution logicielle libre et gratuite qui protge, authentifie, contrle et impute les accs des usagers d'un
rseau de consultation Internet. En France, ALCASAR permet aux responsables d'un rseau de
consultation de dcliner leurs niveaux les exigences que la loi impose aux oprateurs. Il constitue un
portail captif authentifiant et scuris.
Le projet ALCASAR a t initi fin 2007. Il est indpendant et libre (licence GPLV3). Il est suivi
actuellement par : Richard REY, Franck BOUIJOUX, Pascal LEVANT et Stphane WEBER.
1.1.2

Constituants foncionnels et matriels

Pour installer la solution ALCASAR, nous disposions de :

un serveur ddi pour installer Linux Mandriva 2009 ainsi quALCASAR avec 1Go de RAM et au
moins 5Go despace disque

larchive alcasar-1.7-rc3.tag.gz qui contient les fichiers ncessaires au bon fonctionnement


dALCASAR

Linux Mandriva 2009

une borne WiFi de marque SiteCom

une cl USB
1.1.3

Explication globale du fonctionnement

Concrtement, un utilisateur lambda voulant se connecter au rseau via son ordinateur portable et
possdant un compte cr par ladministrateur, activera son la fonction WiFi de sa machine. Ensuite, il
lancera un navigateur internet (Mozilla Firefox ou Internet Explorer par exemple). Une page se lance
automatiquement, demandant un nom dutilisateur et un mot de passe. Une fois ces donnes saisies,
lutilisateur peut naviguer sur internet. Une autre fentre est sa disposition pour dconnecter sa session.
Les sessions sont paramtrables par ladministrateur rseau : dure dune session, dure journalire,
dure hebdomadaire, nombre de sessions simultanes, etc. A aucun moment, lutilisateur na configurer
sa machine (adresse IP, masque, cl WEP ou WPA, etc.)

1.2

Performances et limites
1.2.1

Caractristiques oprationnelles du produit


Traer, imputer et contrler les connexions

L'objectif principal du portail Alcasar est de rpondre aux exigences des politiques d'accs et d'utilisation
d'Internet et notamment aux obligations de traabilit, d'imputabilite et de non-rpudiation des connexions.
Dang-Khoa HA R2I Promo '09

Dossier technique

Page 5 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Ces exigences consistent produire, au niveau du portail, une trace prcise des activits de chaque usager.
Ces traces doivent pouvoir tre exploites dans le cadre d'une enqute judiciaire. Alcasar produit ces traces
sous forme de fichiers pouvant tre aisment archivs sur supports externes.
Afin d'tre en mesure de corrler les journaux d'vnements d'Alcasar avec ceux des diffrents systmes
prsents sur le rseau, un serveur de temps a t intgr la solution.
Le contrle des connexions implment dans Alcasar permet, par exemple, de dfinir pour un usager ou
pour un groupe d'usagers des dates de fin de validit de compte, des crneaux de connexion hebdomadaire
ainsi que des dures maximales de connexion affectes une session, une journe ou un mois.

Proteger de la vie prive

Dans le cadre de la cybersurveillance, les mesures suivantes ont t prises afin de protger la vie prive
des usagers. Ces mesures sont de nature ne pas rendre obligatoire une dclaration CNIL en cas de
dploiement du portail sur le territoire franais :
protection contre le vol de sessions : les usagers peuvent tre dconnects aprs un laps de temps
paramtrable afin de limiter les consquences des oublis de dconnexion ;
protection contre le vol d'identifiants : les trames d'authentification des usagers sont
systmatiquement chiffres ;
protection des activits nominatives : la consultation par toute personne (dont l'administrateur) des
activits Internet nominatives est rendue trs difficile. En effet, les preuves d'imputabilit sont
volontairement clates dans plusieurs fichiers (fichiers journaux) dont les domaines sont spars
(journal des connexions au portail d'un ct et journaux des activits Internet de l'autre). L'imputation
des activits n'est ainsi rendue possible qu'aprs un travail d'agrgat sur ces journaux (travail rserv
aux autorits judiciaires). De plus, l'interface graphique de gestion ne prsente aucune donne
nominative lie aux activits ralises sur Internet ;
protection contre la modification des preuves : le chiffrement automatique des fichiers journaux
peut tre activ (en option). Cela rend impossible la modification, la dissimulation ou la suppression
des preuves. Cette fonction concourt au principe de non-rpudiation des connexions.

Scuriser

le rseau de consultation
Alcasar intgre un pare-feu spcifiquement paramtr afin de protger les quipements du rseau de
consultation des menaces externes directes. En outre, ce pare-feu permet de camoufler le rseau de
consultation et d'anonymiser les connexions.
Les mises jour automatiques de scurit des quipements de consultation (antivirus et patch) sont
rendues possibles travers la dclaration d'une liste de sites pouvant tre joints directement sans
authentification pralable.
le portail
La scurit du portail a t labore comme pour un systme bastion devant rsister diffrents types de
menaces :
utilisation et scurisation d'un systme d'exploitation minimaliste (Mandriva Linux LSB) ;
protection du portail vis--vis d'une attaque interne (durcissement et anticontournement) ;

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 6 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
les logiciels utiliss sont reconnus par la communaut comme des valeurs sres et prouves ;
concernant l'accs l'interface de gestion : chiffrement des trames, authentification et comptabilit
des accs, sparation entre les fonctions d'archivage et les fonctions de gestion (deux profils
d'administrateurs).
les usagers
Afin de protger les usagers, il a t dcid d'inclure nativement dans le portail un dispositif permettant de
filtrer (bloquer) l'accs aux sites dont le contenu peut tre rprhensible. Ce dispositif est entirement
paramtrable (activation, dsactivation, ajout ou retrait de site, etc.).

Universalit

Alcasar est compatible avec tous les types d'quipements de consultation (PC fixes, PC portables, PDA,
smartphones, etc.), tous les types de systmes d'exploitation (Windows, Linux, Palm-OS, Blackberry,
Symbian OS, etc.) et tous les types de rseaux (LAN filaire, LAN WIFI, LAN CPL, PAN bluetooth, etc.).
Le portail se comporte comme un sas d'accs pour l'ensemble des services Internet. Ainsi, il n'apporte pas
de restriction par rapport aux protocoles exploits. En d'autres termes, une fois l'authentification de
l'usager ralise, tous les protocoles pouvant tre exploits par une station de consultation sont autoriss et
tracs : consultation WEB, transfert de fichiers ftp ou d'gal gal (P2P), messagerie, messagerie
instantane (chat), discussion (news), jeux en rseau, multimdia (radio, tv, musique), etc.
C'est l'OSSI/RSSI, responsable du rseau de consultation de dfinir la configuration des quipements
(logiciels installs, droit d'accs, etc.).

Indpendance et intgration

La solution respecte les standards. Elle ne dpend ni d'une technologie propritaire ni d'un prestataire
particulier. Le systme d'exploitation et les logiciels exploits sont protgs par des licences libres ; les
dveloppements raliss spcifiquement pour Alcasar se trouvent eux-mmes sous licence libre.
Dans les organismes, l'accs au rseau Internet est gr par un FAI qui fournit et administre ses
quipements (Modem xDSL + Routeur + commutateur). Cette architecture peut voluer en fonction des
marchs et des contextes gographiques. La solution propose est donc totalement indpendante des
quipements fournis par les FAI.
Les usagers peuvent utiliser n'importe quel quipement du rseau de consultation.
Les quipements de consultation peuvent tre mis jour de manire automatique sans authentification
pralable (patch de scurit, antivirus, etc.).
1.2.2

Limites d'utilisation

ALCASAR tant une solution libre, le seul support technique reste la communaut ayant cr et
dveloppant la solution.
En outre, ce jour (version v1.7-rc3), un inconvnient peut tre soulign : il n'y a pas possibilit de lier les
comptes LDAP ALCASAR. Cependant, on peut voir cet inconvnient comme un avantage en effet,
les tudiants souhaitant se connecter en WiFi doivent d'abord faire une demande de compte, ce qui cre
une certaine scurit. Il n'y pas pas de compte passe-partout mais un compte par personne.

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 7 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
1.2.3

Extensions possibles

Dans le futur, on peut penser installer la solution ALCASAR dans des tablissement plus grands que le
CEFOC. On pourra alors installer plus de bornes WiFi (et donc mettre en place du roaming).
On peut donc galement penser intgrer la synchronisation des comptes ALCASAR avec l'AD ou le
LDAP.
Enfin, on peut penser associer l'authentification des usagers avec le contrle d'accs au mdia avec le
802.1x mais cela implique la mise en place d'un serveur d'authentification de type RADIUS ou TACACS
par exemple.

1.3

lments techniques
1.3.1

Installation de Linux Mandriva 2009

Avant de dtailler linstallation de la solution, voici un schma du rseau obtenir :

Figure 1 : schma du rseau ALCASAR

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 8 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Voici la procdure dinstallation de Linux Mandriva 2009, systme dexploitation sur lequel on va ensuite
installer ALCASAR :
Affichage l'cran

Action(s) raliser

Aprs avoir insr le CD de Mandriva 2009 et avoir lanc la


machine, choisir Install Mandriva Linux 2009

En appuyant sur F2, on peut choisir la langue dinstallation

On choisit le franais.

On coche la case Accepter pour accepter le contrat de


licence, puis on clique sur Suivant .

On choisit Installation puis on clique sur Suivant .

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 9 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

On choisit le type de clavier (franais).

On slectionne Partitionnement de disque personnalis


afin dadapter le partitionnement aux besoins spcifiques
dALCASAR.

On cre 5 partitions :
/ : 1Go
swap : 1Go
/tmp : 1Go
/home : 1Go
/var : tout le reste
A la fin de la manipulation, le disque devrait ressembler
ceci :

On dcoche toutes les cases ventuellement coches,


ALCASAR ne ncessitant que linstallation du CD1.

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 10 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

On slectionne Aucun puis on clique sur Suivant .

On coche uniquement la case LSB (Linux Standard Base).


ALCASAR ne ncessite que les fonctions de base de Linux.

Linstallation continue avec la copie des paquetages sur le


disque dur.
On attend environ 5 minutes.

On donne un mot de passe pour le root .


Puis on cre un compte sysadmin auquel on donne un mot
de passe galement.

On choisit dinstaller le programme damorage (grub) sur le


MBR (Master Boot Record).

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 11 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Dans la section Rseau et Internet , litem Rseau , on


clique sur Configurer pour configurer les cartes rseau.

On slectionne Ethernet puis on clique sur Suivant .

On choisit la 1re interface (celle qui est connecte


directement internet. La seconde interface (connecte au
rseau de consultation ALCASAR) sera configure plus tard.

On slectionne Configuration manuelle , puis on clique sur


Suivant .

Ici, on entre les donnes suivantes :


Adresse IP : 192.168.0.10
Masque de sous-rseau : 255.255.255.0
Passerelle : 192.168.0.1
Serveur DNS 1 : 192.168.0.1
Puis on clique sur Suivant .

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 12 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

On slectionne Lancer la connexion au dmarrage puis on


clique sur Suivant .

On active la connexion (cocher Oui ), puis on clique sur


Suivant .

La configuration est termine.


On clique sur Terminer .

Maintenant que linterface est configure, on clique sur


Suivant .

On coche Non pour les mises jour, puis on clique sur


Suivant .

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 13 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Linstallation est maintenant termine.


On noublie pas de retirer le CD pour ne pas booter dessus,
puis on clique sur Redmarrage .

1.3.2

Installation d'ALCASAR v1.7 rc3

ALCASAR a t conu pour pouvoir tre intgr dans un seul systme (un seul PC). Il est btit autour
d'une quinzaine d'lments constituant ainsi un portail captif authentifiant complet, scuris et gr
graphiquement. Ce portail est positionn en coupure entre les deux rseaux cloisonner.
Nous allons maintenant voir comment installer ALCASAR sur le serveur Linux.
Affichage de l'cran

Action(s) raliser
On se connecte en tant que root .
Avec la commande watch mii-tool on peut voir ltat des
interfaces et des connexions.
On branche le cble ct Internet dans linterface eth0.
Et on vrifie la connexion.
On cre un rpertoire servant accueillir la cl USB avec la
commande mkdir p /mnt/usb
On affiche le journal des informations systme avec la
commande tailf /var/log/messages afin de connatre le
nom associ de la cl USB.

On rcupre donc ce nom, ici sda1 puis on quitte le


journal en envoyant la commande <CTRL + C>.

On monte prsent la cl USB dans laquelle on a tlcharg


les archives ALCASAR. On tape mount /dev/sda1
/mnt/usb/ .

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 14 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
On copie les archives dALCASAR dans le rpertoire /root :
cp /mnt/usb/alcasar* .
Puis, on dmonte la cl avec la commande umount
/mnt/usb .
On dcompresse les fichiers de larchive ALCASAR :
tar zxvf alcasar-1.7-rc3
On va dans le rpertoire dALCASAR.
Et on lance le script dinstallation.
On attend la fin des tests de paramtres rseau.
On entre le nom de ltablissement : LSC49

On attend la fin de linstallation de tous les logiciels


rcuprs sur internet.

On laisse le plan dadressage propos par dfaut.


On dfinit le nom de ladministrateur dALCASAR.
On dfinit le nom de lutilisateur autoris gnrer et
rcuprer les fichiers de sauvegarde.

Linstallation est presque termine, un redmarrage est


ncessaire. On appuie sur <Entre>.

Linstallation dALCASAR est termine. Nous allons maintenant voir comment lutiliser.
1.3.3

Utilisation

Ct utilisateur
Les quipements de consultation peuvent tre de tous types (MAC, PC, PDA, smartphone, iPhone, etc.).
Les systmes d'exploitation peuvent tre de tous types (Microsoft, Linux, Palm-OS, etc.). Les applications
Internet peuvent tre de tous types (Firefox, Internet Explorer, Thunderbird, Outlook, ftp, etc.).

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 15 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Au lancement d'un navigateur WEB (que ce soit sur un ordinateur [Figure 2], sur un PDA [Figure 3] ou
sur un smartphone [Figure 4] par exemple), une page d'authentification lui est prsente :

Figure 2 : sur PC

Figure 3 : sur PALM

Figure 4 : sur iPhone

Une fois l'authentification effectue, le navigateur affiche la premire page de consultation [Figure 5] ainsi
qu'une fentre supplmentaire permettant l'usager de se dconnecter [Figure 6]. En fonction de la
configuration des postes de consultation, toutes les applications et tous les protocoles rseau sont alors
disponibles pour l'usager (ftp, courrier lectronique, discussion, P2P, etc.).
Pour se dconnecter, l'usager utilise la fentre de dconnexion ddie [Figure 6 et 7].

Figure 5 : authentification en cours

Figure 6 : fentre de dconnexion

Figure 7 : message de dconnexion

Ct administrateur
La gestion dALCASAR est possible partir dune machine situe dans le rseau de consultation (ce que
nous avons appel Rseau WiFi tudiant dans la [Figure 1] (page 7). Pour accder linterface de
gestion graphique, on tape dans la barre dadresse du navigateur ladresse https://192.168.182.1/ (dans
notre cas).

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 16 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Voici la page affiche :

Figure 8 : plateforme de gestion d'ALCASAR

A noter que cette page est visible par tous. En revanche, pour accder aux diffrents items du menu de
gauche, il faudra se logguer avec les identifiants et mot de passe dun des deux comptes configurs lors de
linstallation.

Figure 9 : connexion de l'administrateur

A noter que cette page est visible par tous. En revanche, pour accder aux diffrents items du menu de
gauche, il faudra se logguer avec les identifiants et mot de passe dun des deux comptes configurs lors de
linstallation.
Cette plateforme de gestion permet :

de grer les usagers : cration et suppression d'usagers ou de groupe d'usagers, modification de


leurs caractristiques (date d'expiration, priodes de connexions hebdomadaires autorises,
dures limites de connexion par session, par journe et par mois, etc.) :

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 17 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Figure 10 : gestion des utilisateurs

de consulter les statistiques d'exploitation du rseau de consultation et de la bande passante :

Figure 11 : statistiques

de consulter les vnements du pare feu :

Figure 12 : journal des vnements du pare feu

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 18 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

de rcuprer pour archivage les diffrents fichiers journaux devant tre prsents en cas
d'enqute judiciaire. Ces fichiers contiennent les traces de toutes les connexions, de tous les
protocoles et de toutes les adresses consultes. Elles constituent ainsi les preuves de l'activit du
rseau de consultation. Ces fichiers peuvent tre chiffrs :

Figure 13 : sauvegarde des logs

d'activer, de dsactiver [Figure 14], de modifier ou de mettre jour les listes des sites filtrs
(blacklists) [Figure 15] et des sites de confiance [Figure 16] :

Figure 14 : activation du filtrage

Figure 15 : MJ de la blacklist

Figure 16 : whitelist

Ladministrateur peuvent intervenir sur le portail directement ou distance via un tunnel chiffr SSH
(VPN).
1.3.4

Tests et rglages

Aprs une priode de tests, on peut rcuprer les fichiers log du serveur. Ainsi, on peut tudier les
connexions et le trafic sur le rseau.
Les testeurs ont t mis contribution afin de naviguer sur le rseau comme ils l'auraient fait chez eux. Le
but est de voir si les blacklists sont bien efficaces. On peut galement voir grce ces fichiers de log si
certains sites sont trs visits alors qu'ils ne devraient pas l'tre, auquel cas on la rajouterait la blacklist.

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 19 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
1.3.5

Schma fonctionnel

Pour rappel, voici le schma du rseau que l'on a configur :

Figure 1 (rappel)

1.3.6

Plan

Ci-aprs, le plan du CEFOC [Figure 17]. Dans la salle 3 se trouvent le serveur ALCASAR ainsi que la
borne Wifi, suffisante pour fournir un accs sans fil tout le btiment.

Figure 17 : Plan du CEFOC

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 20 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Projet Remote VLC Light


2.1

Description gnrale du produit


2.1.1

Mission

Remote VLC Light est un logiciel cr par M. Olivier Le Grand, administrateur rseau du lyce Sacr
Cur d'Angers, et Mickal Loussouarn, un ancien stagiaire.
Cet utilitaire a pour but de simplifier l'utilisation du lecteur multimdia VLC pour le personnel enseignant
du lyce. Il permet de diffuser en multicast des supports audio ou vido.
Le but de ce projet est de faire voluer le logiciel en ajoutant une partie diffusion vido en temps rel des
flux tlvision la demande proposs par Orange, FAI de l'tablissement.
2.1.2

Constituants fonctionnels et matriels

Pour utiliser Remote VLC Light, on a besoin d'un poste serveur et d'autant de postes client que l'on dsire.
Remote VLC Light fonctionne sous Windows 2000 et Windows XP. Il est dvelopp avec AutoIT. Des
enceintes ou des casques audio peuvent tre utiliss, car la vido et le son sont encods.
2.1.3

Explication globale du fonctionnement

Pour expliquer le fonctionnement de Remote VLC Light, on peut prendre un exemple :


Un professeur souhaite montrer ses lves un reportage quelconque. Pour cela, il ouvre le logiciel
Remote_VLC_Light [Figure 18] et choisit la vido en question (sauvegarde sur un lecteur rseau, ou,
grce l'volution du projet, directement partir d'un flux rseau) ; les lves ouvrent quant eux un
logiciel Client_VLC. A partir de ce moment, ils n'ont plus rien faire, la vido est diffuse en multicast
sur tous les postes [Figure 19].

Figure 18 : Remote_VLC_Light

Dang-Khoa HA R2I Promo '09

Figure 19 : sortie vido sur VLC

Dossier technique

Page 21 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Les postes client sont dans le mme rseau que le poste matre (et dans la mme salle). Les postes client
possdent tous le logiciel Client_VLC. Ce dernier lit le flux rseau l'adresse udp://@239.255.0.1:1234 .

2.2

Performances et limites
2.2.1

Caractristiques oprationnelles du produit

A la situation initiale, les seules vidos diffusables par le poste serveur taient les vidos enregistres sur
un disque rseau. Cela impliquait tout un travail en amont : trouver la vido sur Internet, la copier, la
rencoder, l'enregistrer dans le rpertoire prvu cet effet.
Il faut savoir que les lves n'ont pas accs tous les sites, notamment les sites de type YouTube ou
DailyMotion (protection du proxy). Il revenait donc au professeur de trouver la vido utile son cours et
l'administrateur de r-encoder la vido en question.
Avec l'outil de diffusion de la TV la demande , toutes ces tapes deviennent inutiles. En outre,
Remote_VLC_Light est vraiment simple apprhender pour des utilisateurs novices que peuvent tre les
enseignants, qui n'ont pas forcment tous des notions de client/serveur, de flux vido, etc.
2.2.2

Limites d'utilisation

S'il est vrai que la TV la demande est un outil apprciable en terme de simplicit d'utilisation, il reste
nanmoins qu'il s'agit de tl en direct, et la console ne possde pas les mme fonctionnalits que les
box que proposent les FAI pour les particuliers (enregistrement d'un programme, possibilit de mettre
en pause un programme tlvis, etc.). Il faut donc que l'horaire de l'mission que le professeur
souhaite montrer ses lves concorde l'horaire de son cours De ce fait, les anciennes fonctionnalits
de Remote_VLC_Light sont toujours intressantes.
Sur un autre plan, on a pu observer, lors des phases de test, des diffusions parfois saccades de l'image.
Mais cela n'est pas d l'encodage en direct (ou de tout autre dysfonctionnement du programme) mais
directement des flux mms proposs par Orange.
2.2.3

Extensions possibles

Dans la continuit du problme que l'on vient d'voquer, on pourrait penser ajouter des fonctions plus
pousses au menu TV la demande comme la fonction pause par exemple. Pour ce qui est de
l'enregistrement des missions, ce n'est pas forcment la meilleure ide, puisque tous les professeurs ne
possdent pas forcment VLC chez eux, et de surcrot, ne savent pas forcment le configurer ...

2.3

lments techniques
2.3.1

Installation et utilisation de Client_VLC

L'installation du Client_VLC se fait via un package MSI. La manipulation est simple et rapide. En ce qui
concerne l'utilisation, elle n'est gure plus complique puisqu'ils n'ont qu' lancer un excutable.
Pour reprendre notre prcdent exemple, lors d'un cours, le professeur souhaite montrer une vido ou faire
couter une bande son. Tous les lves lancent l'application Client_VLC et n'ont rien d'autre faire part
Dang-Khoa HA R2I Promo '09

Dossier technique

Page 22 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
attendre que de son ct, le professeur lance Remote_VLC_Light et choisisse le mdia qu'il souhaite
diffuser. Nous allons voir justement plus en dtail le fonctionnement de Remote_VLC_Light dans le point
suivant (2.3.2).
2.3.2

Installation et utilisation de Remote_VLC_Light

L'installation de Remote_VLC_Light se fait galement par un package MSI. Voici comment utiliser les 5
menus de Remote_VLC_Light :

Lecture d'un DVD :

On insre le DVD dans le lecteur, on slectionne le bouton radio DVD et ce message apparat :

Figure 20 : lecture d'un DVD

VLC se lance ensuite sur le poste serveur lorsqu'on appuie sur le bouton Diffuser [Figure 21] :

Figure 21 : bouton de diffusion

Lecture d'un CD :

On insre le CD dans le lecteur, on slectionne le bouton radio CD et ce message apparat, VLC


se lance ensuite sur le poste serveur. VLC se lance ensuite sur le poste serveur lorsqu'on appuie sur
le bouton DIFFUSER.

Figure 22 : lecture d'un CD

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 23 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Son la demande :

On clique sur le bouton ... , et on choisit le son diffuser, puis on clique sur Ouvrir . Ensuite,
on coche le bouton radio et un message apparat. VLC se lance ensuite sur le poste serveur
lorsqu'on appuie sur le bouton Diffuser .

Figure 23 : lecture d'un son

Vido la demande :

Mme principe pour la vido.

Figure 24 : lecture d'une vido

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 24 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

TV la demande :

On clique sur le menu droulant, puis on choisit la chane qu'on veut diffuser. Une foi choisie, on
clique sur le bouton radio, un message s'affiche. Enfin, on appuie sur le bouton Diffuser .

Figure 25 : diffusion d'une chane de tlvision

2.3.3

Fonctionnement

Nous allons ici expliquer plus en dtail la fonction TV la demande .


Cette fonction se base sur le fichier Orange_TV.m3u que l'on peut voir dans l'Annexe 3, page 38. C'est
un fichier dans lequel on peut trouver, entre autres informations, les noms de chane et les adresses des
flux mms (MultiMdia Streaming) correspondants. Il faut donc en premier lieu purer ce document afin de
ne garder que les informations dont nous avons besoin.
On cre donc, avec AutoIT (fonctions mid, split, etc.), un fichier nomm Chaines.txt (Annexe 4, page
39) qui comporte une ligne avec le nom de chaque chane, spar par un pipe (le caractre | ). Ce
premier fichier permet de crer dans l'interface graphique le menu droulant.
Ensuite, on cre un autre fichier nomm Ch_Adr.txt (Annexe 5, page 39) dont chaque ligne est
dcompose comme suit :
nom_de_la_chane, adresse mms
Ce fichier permet d'associer une chane une adresse. Concrtement, lorsqu'on a choisi une chane dans
Dang-Khoa HA R2I Promo '09

Dossier technique

Page 25 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
l'interface graphique et qu'on clique sur le bouton radio [Figure 25], VLC va ouvrir un flux rseau dont
l'adresse correspond la chane dans le fichier Ch_Adr.txt .
2.3.4

Tests et rglages

Passe la phase de dveloppement (o on teste le fonctionnement proprement parler du logiciel), les


phases de test concernent majoritairement des caractristiques comme le format de la vido aprs
encodage ou encore l'ergonomie du programme pour l'utilisateur lambda (verrouillage d'un bouton radio
par exemple). On teste le logiciel en se mettant la place de l'utilisateur, en faisant des manipulations
hasardeuses et on rgle le programme, on dite le code en fonction de cela.
2.3.5

Schma fonctionnel

Figure 26 : schma fonctionnel de VLC_Remote_Light

2.3.6

Fichiers de configuration et scripts

Code du logiciel Client_VLC : Voir Annexe 1, page 37


Fichier Remote_VLC_Light.ini : Voir Annexe 2, page 38
Aperu du fichier Orange_TV.m3u : Voir Annexe 3, page 38

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 26 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Fichier Chaines.txt : Voir Annexe 4, page 39
Aperu du fichier Ch_Adr.txt : Voir Annexe 5, page 39
Code du logiciel Remote_VLC_Light : Voir Annexe 6, page 40

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 27 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Projet Console Synchro Parc


3.1

Description gnrale du produit


3.1.1

Mission

La Console de restauration distance Synchro Parc a t cre dans le but d'viter les dplacements
inutiles . Dans la situation initiale (donc avant la cration de la Console Synchro Parc), l'administrateur
est oblig de se dplacer dans chaque salle et d'allumer chaque poste qu'il souhaite restaurer. Ce
programme facilitera donc la vie de l'administrateur (gain de confort et de temps).
Ce projet se base sur le programme Synchro Parc XP, qui permet la restauration de postes. Nous allons
voir ci-aprs (point 3.3.2) le fonctionnement de Synchro Parc XP.
3.1.2

Constituants fonctionnels et matriels

Pour fonctionner, le logiciel Synchro Parc ncessite :

un rseau mont

la Console Synchro Parc qui va permettre l'administrateur de restaurer les postes distance

un excutable, lanc en service, sur tous les postes clients, qui va dtecter si oui ou non, le dit-poste
peut tre restaur

sur tous les postes clients, du matriel compatible Wake On Lan (carte mre compatible, configuration
du BIOS, configuration de l'alimentation, ventuellement configuration de la carte rseau selon les
modles, cble Wake On Lan si la carte n'est pas alimente par le bus PCI)

On peut noter que ce logiciel est dvelopp avec le langage AutoIT, donc pour les personnes qui
souhaiteraient modifier le code pour l'utiliser, il faut disposer du logiciel AutoIT (logiciel gratuit).
3.1.3

Explication globale du fonctionnement

Le programme Console Synchro Parc permet l'administrateur rseau, partir de son bureau, d'allumer
les postes d'une salle distance grce au protocole Wake On Lan. Il peut ensuite choisir les postes
restaurer.

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 28 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Sur la [Figure 27] ci-dessous, on peut voir comment se prsente la console :

Figure 27 : Console_SPARC

3.2

Performances et limites
3.2.1

Caractristiques oprationnelles du produit

Le produit permet l'administrateur, depuis son bureau, de choisir autant de postes qu'il dsire, dans autant
de salles qu'il le souhaite, en vue d'une restauration. Nanmoins, on ne peut pas choisir deux postes dans
deux salles diffrentes pour une restauration simultane. Concrtement, on restaure salle par salle.
3.2.2

Limites d'utilisation

Cette console, dveloppe autour du rseau du lyce Sacr Cur est utilisable uniquement au sein du
lyce, pour le moment. En effet, le code se base sur l'architecture du rseau. Dans d'autres tablissements,
les noms de postes ne sont certainement pas les mmes, les salles ne sont pas organises de la mme
faon. Il est possible galement que dans d'autres rseaux, les postes ne soient pas dots de matriel
compatible Wake On Lan (dans ce cas, l'utilisation de la console Synchro Parc n'est pas forcment
judicieuse ). Nanmoins, en fournissant le code comment du programme, il est possible pour tout
administrateur d'adapter le programme son rseau et de ce fait, d'utiliser tout de mme la Console
Synchro Parc.
3.2.3

Extensions possibles

L'interface, bien que dj modifie en cours de dveloppement (voir [Figure 28] : version antrieure de la
Console Synchro Parc) pourrait tre encore amliore. On peut penser par exemple une interface plus
vivante , par exemple avec, selon la salle choisie, un plan de la salle avec en vert les postes allums et
en noir les postes teints. Dans la version actuelle, on ne sait pas quels postes sont teints ou non ; on les
allume systmatiquement.
Dang-Khoa HA R2I Promo '09

Dossier technique

Page 29 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Sans aller forcment jusqu'au plan de chaque salle, on peut garder l'ide de la reprsentation des postes en
vert ou noir.

Figure 28 : premire version de Console_SPARC

3.3

lments techniques
3.3.1

Synchro Parc XP

Synchro Parc XP est un logiciel cr par le CRDP (Centre Rgional de Documentation Pdagogique) de
Champagne-Ardennes. Il permet de sauvegarder un ensemble d'ordinateurs sur le disque dur d'un
ordinateur du rseau. Chaque sauvegarde est compose d'un fichier (extension ASB) contenant la liste des
fichiers sauvegards et l'endroit (dans le rpertoire DATAXP) o chaque fichier est sauvegard. Avec cette
technique, un mme fichier appartenant plusieurs ordinateurs n'est sauvegard qu'une fois, d'o un gain
de temps et de place.
Synchro Parc XP permet de restaurer les ordinateurs dans l'tat exact o ils taient lors de la sauvegarde.
Toute modification faite depuis la sauvegarde est oublie. Les fichiers qui ont t supprims sont replacs,
les fichiers qui ont t modifis sont restaurs, les fichiers qui ont t ajouts sont supprims.
Synchro Parc XP permet galement une restauration partielle bien utile si on vient de supprimer un fichier
ou un rpertoire par erreur et que l'on souhaite seulement restaurer ce fichier ou ce rpertoire. Cette
restauration partielle ne supprime pas de fichiers.
Remarque : La comparaison de deux fichiers se fait en comparant le nom, le rpertoire, la taille et la date
la seconde prs. Il est donc thoriquement possible que deux fichiers soient diffrents et considrs
comme identiques par Synchro Parc XP, mais la probabilit est tellement faible qu'en pratique elle peut
tre considre comme nulle. En effet, ds qu'un fichier est modifi, sa taille a de grandes chances de
Dang-Khoa HA R2I Promo '09

Dossier technique

Page 30 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
changer et la date change pour indiquer le moment prcis de l'enregistrement, d'autant plus que c'est
l'heure UTC des fichiers qui est utilise. (UTC : Universal Time Coordinated, heure absolue,
indpendante du fuseau horaire et de l'heure d't.)
Synchro Parc XP peut tre compar Norton Ghost au niveau des fonctionnalits. C'est une solution
moins complte, certes, mais moins lourde, et surtout moins coteuse, lment non ngligeable pour un
tablissement scolaire. A titre informatif, le montant de la licence Synchro Parc XP s'lve 245 (Licence
tablissement Prix ducation Nationale) contre environ 2000 pour 100 licences Norton Ghost (plus le
logiciel 79,99). De plus, la licence Synchro Parc XP est valable pour toutes les machines du rseau
alors qu'il faut une licence par poste avec Norton Ghost. Il y a au Sacr Cur plus de 400 machines
Voici un aperu du logiciel Synchro Parc XP [Figure 29]:

Figure 29 : logiciel Synchro Parc XP

3.3.2

Console de restauration distance Synchro Parc

Ct client
Pour les postes clients, nous avons dvelopp un utilitaire nomm Client_SPARC (voir le code dans
l'Annexe 7, page 50) et qui est en fait lanc en tant que service sur les stations, grce au programme
Install (Annexe 11, page 62).
Le Client_SPARC cherche la prsence du nom du poste client dans le fichier jesuisla.txt . Ensuite,
on teste la prsence sur le PC d'un fichier nomm INIT_OK . Ce fichier indique si le poste a dj t
initialis une fois ou non, en d'autres termes, s'il a dj t restaur. S'il n'est pas prsent, on le cre, sinon
on passe l'tape de restauration proprement parler.
La premire tape de la restauration consiste crire le nom du poste dans le fichier jesuisla.txt .
Ensuite, on lance le logiciel Synchro Parc XP pour ce poste, et la restauration s'effectue.

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 31 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Ct administrateur
Nous allons voir maintenant comment fonctionne plus prcisment la Console Synchro Parc, utilisable par
l'administrateur. Le code de la Console est visible dans l'Annexe 8, page 52. Avant le lancement de la
Console, plusieurs tapes sont effectues par le programme.

Cration du fichier ToutesLesSalles.txt (Annexe 14, page 63) :

Le fichier jesuisla.txt comporte maintenant un certain nombre de noms de postes, tous crits dans la
syntaxe suivante : PC--S--- (chaque tiret reprsentant un chiffre).
Le fichier ToutesLesSalles.txt est cr en analysant chaque nom complet de poste (et plus prcisment
la partie S---, correspondant donc au nom de la salle). Ce fichier comporte donc des noms de salle sans
doublons et permet de crer la liste droulante de la Console Synchro Parc [Figure 27].

Cration d'un dossier par salle :

Aprs lecture du fichier ToutesLesSalles.txt , on cre un fichier pour chaque salle dtecte. Si le dossier
existe dj, pas d'action.

Classer les ordinateur dans le bon dossier :

Ici, on relit la fichier jesuisla.txt , et cette fois-ci, on ne se contente pas d'analyse seulement le nom de la
salle. Au contraire, on analyse chaque poste.
On cre, dans chaque dossier portant un nom de salle, un fichier portant le mme nom. Par exemple, pour
la salle S321, on aura un dossier S321 qui contiendra un fichier S321.txt dans lequel seront inscrits
tous les noms de postes de cette salle, aprs analyse du fichier jesuisla.txt .
C'est avec ce dossier que, lorsque l'administrateur choisit une salle dans la liste droulante, s'affichent les
postes pouvant tre restaurs dans la liste de gauche [Figure 27].

Lancement de la Console Synchro Parc :

Une fois ces actions effectues, la Console se lance. Il est noter que ces actions se font extrmement
rapidement et concrtement, lorsque l'administrateur double clique sur l'icne de la Console Synchro Parc,
celle-ci se lance quasiment instantanment.
L'administrateur choisit une salle, les postes disponibles s'affichent dans la liste de gauche. Il slectionne
les postes qu'il dsire, grce aux quatre boutons du milieu qui servent respectivement : slectionner un
ou plusieurs postes, slectionner tous les postes, dselectionner un ou plusieurs postes et dselectionner
tous les postes. Ici, on ne slectionne que des postes de la mme salle. Pour viter toute confusion, une fois
la salle choisie, la liste droulante est bloque. Il faut cliquer sur le bouton Changer de Salle (voir
[Figure 27]) pour justement changer de salle, les slections prcdemment faites n'tant pas sauvegardes.
Toute la slection est graphique , c'est--dire que tant que l'administrateur n'a pas cliqu sur le bouton
RESTAURER MAINTENANT , aucun fichier n'est modifi.
Une fois la slection faite, l'administrateur clique sur ce bouton de restauration. Une confirmation est
demande.
A ce moment l, tous les postes slectionns et affichs dans le colonne de droite sont inscrits dans le
fichier PostesARestaurer.txt (Annexe 15, page 63). Ils sont en revanche effacs du fichier
jesuisla.txt .

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 32 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Wake On Lan :

Vient l'tape de Wake On Lan. Avant toute chose, il faut savoir qu'on possde un fichier nomm
Wake_on_line.txt (Annexe 19, page 64). Celui-ci est gnr grce, en partie grce au logiciel Angry
IP Scan , qui effectue un scan rseau d'une plage d'adresse IP donne [Figure 30] et retourne, pour
chaque adresse IP de cette plage, un nom complet de poste et une adresse MAC. Le fichier
Wake_on_line.txt est en fait remani de faon ne laisser que le nom du poste et la commande de
Wake On Lan correspondante.

Figure 30 : Angry IP Scan en mode graphique

Sur la [Figure 30], on utilise Angry IP Scan en mode graphique. Mais dans notre Console, nous le lancons
en ligne de commandes, ceci afin d'automatiser le processus de cration du fichier
Toutes_les_adresses.txt .
La Console vient donc allumer tous les postes teints. En fait, elle lance une commande de Wake On Lan
sur tous les postes slectionns, sachant que si on lance une telle commande sur un poste dj allum, il
n'y a pas de consquence nfaste, il n'y a en fait, rien qui se passe. Les postes sont allums sous le compte
Sparc qui est un compte cr pour la restauration. Le reste de la manipulation, c'est Synchro Parc XP
qui s'en occupe.

Fonction de cryptage :

Pour utiliser Synchro Parc XP, et lors d'un dmarrage Wake On Lan, le PC doit se connecter avec un
compte SPARC (situation dans le lyce Sacr Cur). Pour ne par laisser apparatre le login et le mot de
passe de ce compte, on va crypter les informations.
Pour cela, on utilise le Module de Cryptage (Configuration / Gnration de login/mot de passe) [Figure
31].

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 33 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Figure 31 : menu Configuration de Console_SPARC

Concrtement, du ct administrateur, on va choisir un login, un mot de passe [Figure 32], et une


passphrase est code en dur dans le programme. Le login et le mot de passe sont crypts en tenant
compte de cette passphrase . Ces donnes cryptes sont inscrites dans un fichier cle.reg (Annexe
21, page 67). Ce fichier .reg sera fusionn au moment de lancer Install.exe (Annexe 11, page 62). De
cette faon, on n'crit pas les donnes dans le fichier Config_SPARC.ini , et l'utilisateur du rseau ne
peut pas voir ces identifiants., ceci pour la scurit.

Figure 32 : module de cryptage de Console_SPARC

Voil la base de registres, une fois que la cl a t fusionne :

Figure 33 : base de registres

Ainsi, mme si on rcupre les chanes (login / mot de passe) en crypt, on ne peut pas les dcrypter,
moins de connatre justement cette passphrase .
Dang-Khoa HA R2I Promo '09

Dossier technique

Page 34 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Du ct du client, on va lire dans la base de registres les login et mot de passe en crypt, que l'on stocke,
que l'on dcrypte, puis qu'on utilise pour se connecter.
3.3.3

Tests et rglages

Comme nous l'avons vu prcdemment, les tests et les rglages de la Console Synchro Parc sont valides
dans le lyce Sacr Cur. Pour l'utiliser dans un autre tablissement, il faut d'une part disposer de la
solution Synchro Parc XP, et d'autre part, modifier le code du logiciel pour qu'il corresponde aux
spcificits de l'tablissement (nombre de PC par salle, format de nom de poste, etc.)
3.3.4

Schma de synthse

Voici un schma [Figure 34] qui rcapitule les dpendances entre les fichiers :

Figure 34 : schma de synthse

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 35 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
3.3.5

Fichiers de configuration et scripts

Code du logiciel Client_SPARC : Voir Annexe 7, page 50


Code du logiciel Console_SPARC : Voir Annexe 8, page 52
Code du logiciel Prepa_Console : Voir Annexe 9, page 59
Code du logiciel Module_Import : Voir Annexe 10, page 61
Code du logiciel Install : Voir Annexe 11, page 62
Fichier Config_SPARC.ini : Voir Annexe 12, page 63
Fichier jesuisla.txt : Voir Annexe 13, page 63
Fichier ToutesLesSalles.txt : Voir Annexe 14, page 63
Fichier PostesARestaurer.txt : Voir Annexe 15, page 63
Fichier PCdemarre.txt : Voir Annexe 16, page 63
Fichier Toutes_les_adresses.txt : Voir Annexe 17, page 64
Aperu du fichier Fichier_Type.txt : Voir Annexe 18, page 64
Aperu du fichier Wake_On_Line.txt : Voir Annexe 19, page 64
Code du logiciel Cryptage : Voir Annexe 20, page 65
Fichier cle.reg : Voir Annexe 21, page 67

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 36 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Annexes
4.1

Annexe 1 : Code du logiciel VLC_Client

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****


#AutoIt3Wrapper_Icon=vlc.ico
#AutoIt3Wrapper_Outfile=Client_VLC.exe
#AutoIt3Wrapper_Res_Description=Client Remote_VLC 1.3
#AutoIt3Wrapper_Res_Fileversion=1.0.0.18
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Olivier LE GRAND
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

Const $INI = "Remote_VLC_Light.ini" ; On indique le chemin su fichier .ini


$Chemin_VLC = IniRead($INI, "MAIN", "Chemin_VLC", "") ; On indique l'emplacement de lecteur multimdia VLC
$TailleEcran = IniRead($INI, "Client", "TailleEcran", "") ; On indique la taille de l'cran
$IP_UDP = IniRead($INI, "Main", "IP_UDP", "") ; On indique l'adresse IP_UDP qui permettra de diffuser une vido
ou un son
$Add_UDP = "udp://@" & $IP_UDP & ":1234" ; On ajoute le numro de port 1234 la fin de l'adresse
$INFO = "Information"
$Temps = 3000

VLC_EXIST() ; Appel de la fonction VLC_EXIST

$PID = ProcessExists("vlc.exe") ; Retourne le PID ou 0 si le processus n'est pas trouv


If $PID Then ProcessClose($PID) ; Si le processus est trouv, on ferme le processus
Sleep("1000")
Run($Chemin_VLC & " " & $TailleEcran & " " & $Add_UDP) ; On lance VLC
Exit

; ###########################################################################################################
; ######################################## F O N C T I O N S ################################################
; ###########################################################################################################

; ######################## Fonction pour contrler la prsence du logiciel VLC ##############################


Func VLC_EXIST()
If Not FileExists($Chemin_VLC) Then
Message($INFO, "Le logiciel VLC n'a pas t trouv sur la machine, peut tre l'avez vous
install dans un emplacement diffrent de celui par dfaut ? Vous pouvez modifier son
emplacement dans Remote_VLC_Light.ini (Chemin_VLC) ", 10000, 190)
Exit
Else
EndIf
EndFunc ;==>VLC_EXIST

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 37 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
; ###########################################################################################################

; ########################## Fonction pour afficher un message d'information ################################


Func Message($INFO, $Message, $Temps, $TailleMessage)
SplashTextOn($INFO, $Message, 260, $TailleMessage, -1, -1, 3)
Sleep($Temps)
SplashOff()
EndFunc ;==>Message
; ###########################################################################################################

4.2

Annexe 2 : Fichier Remote_VLC_Light.ini

Fichier de configuration de Remote_VLC_Light :


[Main]
Titre="VLC REMOTE MULTICAST - Olegrand 2007 / Mikael LOUSSOUARN/ Dang-Khoa HA"
Version="1.5.4"
Chemin_VLC="C:\Program Files\VideoLAN\VLC\vlc.exe"
IP_UDP = "239.255.0.1"
Source_Fichier_m3u = "C:\"
[Client]
TailleEcran="--fullscreen"
;TailleEcran=""
[TV]
TV = "OUI"

4.3

Annexe 3 : Aperu du fichier Orange_TV.m3u

Liste des flux mms (streaming TV) fournie par Orange :


#EXTM3U
#EXTINF:1,2424 Video
mms://onlinetv-fr-streamer-prod.otv.cvf.fr/VODBarker-700/KEYMTI0MDgxNTk2ODAwMCpWSURFT0MtMTA...
#EXTINF:3,France 3
mms://onlinetv-fr-streamer-prod.otv.cvf.fr/France3-700/KEYMTI0MDgxNTk2ODAwMCpWSURFT0MtMTA...
#EXTINF:5,France 5
mms://onlinetv-fr-streamer-prod.otv.cvf.fr/France5- 700/KEYMTI0MDgxNTk2ODAwMCpWSURFT0MtMTA...
#EXTINF:7,Arte
mms://onlinetv-fr-streamer-prod.otv.cvf.fr/Arte-700/KEYMTI0MDgxNTk2ODAwMCpWSURFT0MtMTA...
#EXTINF:8,Direct 8
mms://onlinetv-fr-streamer-prod.otv.cvf.fr/Direct8-700/KEYMTI0MDgxNTk2ODAwMCpWSURFT0MtMTA...

Remarque : Les lignes sont coupes pour faciliter la lecture et la comprhension

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 38 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.4

Annexe 4 : Fichier Chaines.txt

Liste de toutes les chanes, cre en retravaillant la liste Orange_TV.m3u :


2424 Video|France 2|France 3|Orange Sports|France 5|Fashion TV|Arte|Direct 8|France 24|Nolife|
NT1|AB Moteurs|Public Senat|France 4|BFM TV|iTele|Trace TV|Demain|TV5 Monde|France O|Orange
Cinema Series|Orange Cine Max|Orange Cine Happy|Orange Cine Choc|Orange Cine Novo|Orange Cine
Geants|Astro Center TV|Poker Channel|TV8 Mont Blanc|Telif|Liberty TV|Art Channel|BBC World
Info|DW TV|Aljazeera|Guysen TV|Channel One Russia|CCTV F|InfoSport|ITele WebTV|CAP 24|IDF1|NRJ
Paris|Video Click|MCM Top|NRJ Hits|NRJ Dance|NRJ Groove|NRJ Pop Rock|Deluxe Music|France 24
en|Euronews fr|Euronews en|Sky News|ITN|Bloomberg en|Russia Today en|KTO|

Remarque : Tout ce bloc tient en fait sur une seule et unique ligne
4.5

Annexe 5 : Aperu du fichier Ch_Adr.txt

Liste qui fait correspondre une adresse une chane, cre en retravaillant la liste Orange_TV.m3u :
2424 Video,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/VODBarker-700/KEYMTI0MDgxNTk2ODAwMC...
France 2,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/France2-700/KEYMTI0MDgxNTk2ODAwMC...
France 3,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/France3-700/KEYMTI0MDgxNTk2ODAwMC...
Orange Sports,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/OrangeSports-700/KEYMTI0MDgxNTk2O...
France 5,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/France5-700/KEYMTI0MDgxNTk2ODAwMC...
Arte,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/Arte-700/KEYMTI0MDgxNTk2ODAwMC...
Direct 8,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/Direct8-700/KEYMTI0MDgxNTk2ODAwMC...
France 24,mms://onlinetv-fr-streamer-prod.otv.cvf.fr/France24-700/KEYMTI0MDgxNTk2ODAwMC...

Remarque : Les lignes sont coupes pour faciliter la lecture et la comprhension

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 39 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.6

Annexe 6 : Code du logiciel Remote_VLC_Light

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****


#AutoIt3Wrapper_Icon=vlc.ico
#AutoIt3Wrapper_Outfile=Remote_VLC_Light.exe
#AutoIt3Wrapper_Res_Description=Maitre REMOTE_VLC 1.5.0
#AutoIt3Wrapper_Res_Fileversion=1.0.0.38
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Olivier LE GRAND&Dang-Khoa HA
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Au3Check_Stop_OnWarning=y
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include
#include
#include
#include
#include
#include
#include

<ComboConstants.au3>
<EditConstants.au3>
<GuiComboBox.au3>
<GUIConstantsEx.au3>
<StaticConstants.au3>
<WindowsConstants.au3>
<file.au3>

; Variables
Dim $fichier_VOD, $fichier_MOD, $fichier_TV, $Select_VOD, $Select_CD, $Select_DVD, $Select_TV
Dim $lettre_CDROM_CD, $lettre_CDROM_DVD, $Label_CDROM_CD, $Label_CDROM_DVD
Dim $Extension
Dim $Combo_CD, $lettre_CDROM_SansAntislash_CD, $Combo_DVD
Dim $version_VLC
Dim $index_chaines
Dim $liste_orange
Dim $maChaineCh, $maChaineAdr
Dim $i, $j, $nbCh, $nbLignes
Dim $maLigne
Dim $index_corres
Dim $monInfo
Dim $Chaine
Dim $Source_TV
$file_in_MOD = ""
$file_in_VOD = ""
$file_in_TV = ""
$Debug = 0
Const $INI = "Remote_VLC_Light.ini"
$Chemin_VLC = IniRead($INI, "MAIN", "Chemin_VLC", "") ; Emplacement de VLC (dans le fichier .ini)
$IP_UDP = IniRead($INI, "MAIN", "IP_UDP", "") ; Adresse UDP (dans le fichier.ini)
$INFO = "Information"
$Temps = 3000
$TV = IniRead($INI, "TV", "TV", "")
$version = IniRead($INI, "MAIN", "Version", "") ; Version du logiciel (dans le fichier.ini)
$Source_Fichier_m3u = IniRead($INI, "MAIN", "Source_Fichier_m3u", "") ; emplacement du fichier .m3u (dans le
fichier.ini)

; Cration des logos


$Logo_DVD = @TempDir & "\dvd.jpg"
FileInstall("C:\PROJET\VLC\dvd.jpg", @TempDir & "\dvd.jpg", 1)
$Logo_CD = @TempDir & "\cd.jpg"
FileInstall("C:\PROJET\VLC\cd.jpg", @TempDir & "\cd.jpg", 1)
$Logo_MOD = @TempDir & "\sod.jpg"
FileInstall("C:\PROJET\VLC\sod.jpg", @TempDir & "\sod.jpg", 1)
$Logo_VOD = @TempDir & "\vod.jpg"
FileInstall("C:\PROJET\VLC\vod.jpg", @TempDir & "\vod.jpg", 1)
$Logo_TV = @TempDir & "\tv.jpg"
FileInstall("C:\PROJET\VLC\tv.jpg", @TempDir & "\tv.jpg", 1)

If $TV = "OUI" Then ; Activation ou non de la fonction TV la demande

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 40 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Copy_Orange_TV()
Else
EndIf
list()
CorresChAdr()

If $TV = "OUI" Then ; Version de Remote_VLC_Light avec TV la demande


$GUI = GUICreate("REMOTE VLC Light " & $version & "

Olegrand2008", 292, 535, 193, 296)

$Annuler = GUICtrlCreateButton("Exit", 22, 490, 76, 31, 0)


$Diffuser = GUICtrlCreateButton("Diffuser", 190, 490, 75, 31, 0)
$TV_JPG
=
GUICtrlCreatePic($Logo_TV,
$WS_CLIPSIBLINGS))

15,

400,

84,

84,

BitOR($SS_NOTIFY,

$WS_GROUP,

$Source_TV = GUICtrlCreateRadio("Tl la demande", 112, 432, 17, 17)


GUICtrlSetState($Source_TV, $GUI_DISABLE)
GUICtrlSetTip($TV_JPG, "TELE la demande")
$Select_TV
=
GUICtrlCreateCombo("Slectionnez
une
BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $WS_VSCROLL))

chane",

130,

428,

144,

400,

Else ; Version de Remote_VLC_Light sans TV la demande

EndIf

$GUI = GUICreate("REMOTE VLC Light " & $version & " Olegrand2008", 291, 475, 193, 115)
$Annuler = GUICtrlCreateButton("Exit", 24, 432, 81, 33, 0)
$Diffuser = GUICtrlCreateButton("Diffuser", 184, 432, 81, 33, 0)

GUISetCursor(0)
GUISetBkColor(0xFFFFFF)
GUISetIcon("vlc.ico")
; Cration des icnes et des boutons EXIT et DIFFUSER
$DVD_JPG = GUICtrlCreatePic($Logo_DVD, 16, 16, 84, 84, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$CD_JPG = GUICtrlCreatePic($Logo_CD, 16, 112, 84, 84, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$MOD_JPG = GUICtrlCreatePic($Logo_MOD, 16, 208, 84, 84, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$VOD_JPG = GUICtrlCreatePic($Logo_VOD, 16, 304, 84, 84, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
; Cration champ parcourir MOD + bouton radio
$SelectMOD = GUICtrlCreateButton("...", 128, 235, 41, 25, 0)
$edit_choice_in_MOD
=
GUICtrlCreateEdit($file_in_MOD,
$ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY))

172,

238,

100,

21,

BitOR($ES_WANTRETURN,

100,

21,

BitOR($ES_WANTRETURN,

$Source_MOD = GUICtrlCreateRadio("Musique la demande", 112, 240, 17, 17)


GUICtrlSetState($Source_MOD, $GUI_DISABLE)

; Cration champ parcourir VOD + bouton radio


$SelectVOD = GUICtrlCreateButton("...", 128, 331, 41, 25, 0)
$edit_choice_in_VOD
=
GUICtrlCreateEdit($file_in_VOD,
$ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY))

172,

335,

$Source_VOD = GUICtrlCreateRadio("Vido la demande", 112, 336, 17, 17)


GUICtrlSetState($Source_VOD, $GUI_DISABLE)

; Cration bouton radio DVD


$Source_DVD = GUICtrlCreateRadio("DVD", 112, 48, 17, 17)

; Cration bouton radio CD


$Source_CD = GUICtrlCreateRadio("CD", 112, 152, 17, 17)
;GUICtrlSetState($Source_CD, $GUI_DISABLE)

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 41 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

; Cration combobox + bouton radio TV


$maListe = FileOpen("Chaines.txt", 0) ; On stocke la liste des chanes dans une variable $maListe
If $maListe = -1 Then MsgBox(0, "Erreur", "Impossible de trouver le fichier 'Chaines.txt'.") ; Message en cas
d'erreur

$lesChaines = FileReadLine($maListe, 1)
If @error = -1 Then MsgBox(0, "Erreur", "Impossible de lire le fichier 'Chaines.txt") ; Message en cas
d'erreur

$uneChaine = StringSplit($lesChaines, "|") ; On splite la chane chaque | pour avoir une seule chane
$index_corres = FileOpen("Ch_Adr.txt", 0)
$nbCh = ($nbLignes - 1) / 2
$n = 1
For $n = 1 To $nbCh Step 1
GUICtrlSetData($Select_TV, $uneChaine[$n])
GUISetState(@SW_SHOW)

Next

FileClose($maListe)

FindCD()
Version_VLC()

; Trouver la lettre du CDROM


; ----------------------------------------------------------------------------------------------------------$Menu_Open = FileOpen(@TempDir & "\cdrom.txt", 0)
$Menu_Read = FileRead($Menu_Open)
If StringLen($Menu_Read) > 3 Then
FileClose($Menu_Open)
$Combo_DVD = GUICtrlCreateCombo("???", 184, 45, 80, 100, $CBS_DROPDOWNLIST)
GUICtrlSetData($Combo_DVD, $Menu_Read, "")
$Combo_CD = GUICtrlCreateCombo("???", 184, 152, 80, 100, $CBS_DROPDOWNLIST)
GUICtrlSetData($Combo_CD, $Menu_Read, "")
$Label_lettre_DVD = GUICtrlCreateLabel("DVD", 135, 50, 44, 17)
$Label_lettre_CD = GUICtrlCreateLabel("CD", 135, 152, 19, 17)
Else

EndIf

FileClose($Menu_Open)
$Label_lettre_DVD = GUICtrlCreateLabel("DVD", 135, 50, 44, 17)
$Label_lettre_CD = GUICtrlCreateLabel("CD", 135, 152, 19, 17)
$CDROM_SansAntislash = DriveGetDrive("CDROM")

; ***********************************************************************************************************

; Infobulles
GUISetState()
GUICtrlSetTip($DVD_JPG, "DVD la demande")
GUICtrlSetTip($CD_JPG, "CD (musique) la demande")
GUICtrlSetTip($MOD_JPG, "MUSIQUE (mp3,wma,ogg,etc...) la demande")
GUICtrlSetTip($VOD_JPG, "VIDEO (divx,mpg1,mpg2,xvid, etc...) la demande")
GUICtrlSetTip($SelectMOD, "Slectionnez une musique sur votre disque dur")
GUICtrlSetTip($SelectVOD, "Slectionnez une vido sur votre disque dur")
$Add_UDP = "udp://@" & $IP_UDP & ":1234"
$Add_UDP_Court = StringTrimLeft($Add_UDP, 7)

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 42 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

#EndRegion ### END Koda GUI section ###

; Dbut de la boucle pour voir si l'utilisateur a cliqu quelque part ...


; ----------------------------------------------------------------------------------------------------------While 1
$nMsg = GUIGetMsg()
Switch $nMsg

Case $GUI_EVENT_CLOSE
Exit

Case $SelectVOD
Select_Fichier_VOD()
GUICtrlSetState($Source_VOD, $GUI_enABLE)
Case $Combo_CD
If StringLen($Menu_Read) > 3 Then
GUICtrlSetState($Source_CD, $GUI_DISABLE)
$lettre_CDROM_SansAntislash_CD = GUICtrlRead($Combo_CD)
$lettre_CDROM_CD = $lettre_CDROM_SansAntislash_CD & "\"LabelCD()
If $lettre_CDROM_SansAntislash_CD <> "???" Then
GUICtrlSetState($Source_CD, $GUI_enABLE)
EndIf
Else
GUICtrlSetState($Source_CD, $GUI_enABLE)
EndIf

Case $Combo_DVD
If StringLen($Menu_Read) > 3 Then
GUICtrlSetState($Source_DVD, $GUI_DISABLE)
$lettre_CDROM_SansAntislash_DVD = GUICtrlRead($Combo_DVD)
$lettre_CDROM_DVD = $lettre_CDROM_SansAntislash_DVD & "\"LabelDVD()
If $lettre_CDROM_SansAntislash_DVD <> "???" Then
EndIf
Else
GUICtrlSetState($Source_DVD, $GUI_enABLE)
EndIf

Case $SelectMOD
Select_Fichier_MOD()
GUICtrlSetState($Source_MOD, $GUI_enABLE)
Case $Select_TV
If $Select_TV <> "Slectionnez une chane" Then
GUICtrlSetState($Source_TV, $GUI_enABLE)
EndIf

Case $Source_DVD
If StringLen($Menu_Read) > 3 Then

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 43 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Message($INFO, "Vous avez slectionn le DVD sur le CDROM " &
$lettre_CDROM_DVD & ". Le Titre du DVD est:" & $Label_CDROM_DVD, $Temps, 110)
Else
GUICtrlSetState($Source_DVD, $GUI_enABLE)
$lettre_CDROM_DVD = $CDROM_SansAntislash[1] & "\"
LabelDVD()
Message($INFO, "Vous avez slectionn le DVD sur le CDROM " &
$lettre_CDROM_DVD & ". Le Titre du DVD est:" & $Label_CDROM_DVD, $Temps, 110)
EndIf

Case $Source_CD
If StringLen($Menu_Read) > 3 Then
Message($INFO, "Vous avez slectionn le CD sur le CDROM
& ".Le Titre du CD est:" & $Label_CDROM_CD, $Temps, 110)

" & $lettre_CDROM_CD

Else
GUICtrlSetState($Source_CD, $GUI_enABLE)
$lettre_CDROM_CD = $CDROM_SansAntislash[1] & "\"
LabelCD()
Message($INFO, "Vous avez slectionn le DVD sur le CDROM " & $lettre_CDROM_CD
& ". Le Titre du DVD est:" & $Label_CDROM_CD, $Temps, 110)
EndIf

Case $Source_MOD
Message($INFO, "Vous avez slectionn la musique la demande", $Temps, 60)

Case $Source_VOD
Message($INFO, "Vous avez slectionn la vido la demande", $Temps, 60)

Case $Source_TV
If $TV = "OUI" Then
GUICtrlSetState($Select_TV, $GUI_DISABLE)
Message($INFO, "Vous avez slectionn la tl la demande", $Temps, 60)
$chaineChoisie = GUICtrlRead($Select_TV)
For $i = 1 To $nbCh Step 1
$maLigne = FileReadLine($index_corres, $i)
$monInfo = StringSplit($maLigne, ",")
If $chaineChoisie = $monInfo[1] Then
$Chaine = $monInfo[2]
EndIf
Next
Else
EndIf

Case $Annuler
Exit

Case $Diffuser
VLC_EXIST()
VLC_Unique()
GUICtrlSetState($Select_TV, $GUI_enABLE)
If $version_VLC < "0.8.7" Then
SelectSource_086()

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 44 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
GUICtrlSetState($Source_TV, $GUI_UNCHECKED)
ElseIf $version_VLC > "0.8.7" Then
SelectSource_091()
GUICtrlSetState($Source_TV, $GUI_UNCHECKED)
Else
EndIf

EndSwitch
WEnd

; ###########################################################################################################
; ######################################## F O N C T I O N S ################################################
; ###########################################################################################################

; #################################### Fonction slection Vido #############################################


Func Select_Fichier_VOD()
$fichier_VOD = FileOpenDialog("Fichier ouvrir", @MyDocumentsDir, "AVI (*.avi; *.dv; *.vob; *.mpg;
*.flv; *.mov)", 3)
If @error = 1 Then $fichier_VOD = ""
GUICtrlSetData($edit_choice_in_VOD, $fichier_VOD)
$fichier_VOD = StringReplace($fichier_VOD, "\", "/")
$fichier_VOD = StringReplace($fichier_VOD, " ", "%20")
EndFunc

;==>Select_Fichier_VOD

; ###########################################################################################################

; ###################################### Fonction slection Musique #########################################


Func Select_Fichier_MOD()
$fichier_MOD = FileOpenDialog("Fichier ouvrir", @MyDocumentsDir, "MP3 (*.mp3;*.wav;*.ogg)", 3)
If @error = 1 Then $fichier_MOD = ""
GUICtrlSetData($edit_choice_in_MOD, $fichier_MOD)
$fichier_MOD = StringReplace($fichier_MOD, "\", "/")
fichier_MOD = StringReplace($fichier_MOD, " ", "%20")
EndFunc

;==>Select_Fichier_MOD

; ###########################################################################################################

; ################################### Fonction affichage de message #########################################


Func Message($INFO, $Message, $Temps, $TailleMessage)
SplashTextOn($INFO, $Message, 260, $TailleMessage, -1, -1, 3)
Sleep($Temps)
SplashOff()
EndFunc

;==>Message

; ###########################################################################################################

; ######################################### Pour VLC version 0.8.6 ##########################################


Func SelectSource_086()
If $Source_VOD And BitAND(GUICtrlRead($Source_VOD), $GUI_CHECKED) = $GUI_CHECKED Then
FormatVideo()
ElseIf $Source_MOD And BitAND(GUICtrlRead($Source_MOD), $GUI_CHECKED) = $GUI_CHECKED Then
Run($Chemin_VLC & " --ttl 8 -vvv " & $fichier_MOD &
":sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,dst=" & $Add_UDP_Court & "}}")
ElseIf $Source_DVD And BitAND(GUICtrlRead($Source_DVD), $GUI_CHECKED) = $GUI_CHECKED Then

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 45 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Run($Chemin_VLC & " --ttl 8 -vvv dvdsimple://" & $lettre_CDROM_DVD & "
:sout=#duplicate{dst=display,dst=std{access=udp,dst=" & $Add_UDP_Court & "}}:sout-keep")
ElseIf $Source_CD And BitAND(GUICtrlRead($Source_CD), $GUI_CHECKED) = $GUI_CHECKED Then
Run($Chemin_VLC & " --ttl 8 -vvv --extraintf http cdda://" & $lettre_CDROM_CD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,url=" & $Add_UDP_Court & "}}")
ElseIf $Source_TV And BitAND(GUICtrlRead($Source_TV), $GUI_CHECKED) = $GUI_CHECKED Then
Run($Chemin_VLC & " --ttl 8 -vvv --extraintf http " & $Chaine & "
:sout=#transcode{vcodec=DIV3,vb=2048,scale=1,acodec=mp3,ab=128,channels=2}:duplicate{dst=dis
play,dst=std{access=udp,mux=ts,dst=" & $Add_UDP_Court & "}}")
EndIf
EndFunc

;==>SelectSource_086

; ###########################################################################################################

; ######################################### Pour VLC version 0.9.1 ##########################################


Func SelectSource_091()
If $Source_VOD And BitAND(GUICtrlRead($Source_VOD), $GUI_CHECKED) = $GUI_CHECKED Then
FormatVideo()
ElseIf $Source_MOD And BitAND(GUICtrlRead($Source_MOD), $GUI_CHECKED) = $GUI_CHECKED Then
Run($Chemin_VLC & " --ttl 8 -vvv " & $fichier_MOD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,dst=" & $Add_UDP_Court & "}}")
ElseIf $Source_DVD And BitAND(GUICtrlRead($Source_DVD), $GUI_CHECKED) = $GUI_CHECKED Then
Run($Chemin_VLC & " --ttl 8 -vvv dvd://" & $lettre_CDROM_DVD & "
:sout=#duplicate{dst=display,dst=std{access=udp,dst=" & $Add_UDP_Court & "}}:sout-keep")
ElseIf $Source_CD And BitAND(GUICtrlRead($Source_CD), $GUI_CHECKED) = $GUI_CHECKED Then
Run($Chemin_VLC & " --ttl 8 -vvv --extraintf http cdda://" & $lettre_CDROM_CD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,url=" & $Add_UDP_Court & "}}")
ElseIf $Source_TV And BitAND(GUICtrlRead($Source_TV), $GUI_CHECKED) = $GUI_CHECKED Then
Run($Chemin_VLC & " --ttl 8 -vvv --extraintf http " & $Chaine & "
:sout=#transcode{vcodec=DIV3,vb=2048,scale=1,acodec=mp3,ab=128,channels=2}:duplicate{dst=dis
play,dst=std{access=udp,mux=ts,dst=" & $Add_UDP_Court & "}}")
EndIf
EndFunc

;==>SelectSource_091

; ###########################################################################################################

; ########################################## Fonction CD/DVD ################################################


Func FindCD()
$var = DriveGetDrive("CDROM")
$File = FileOpen(@TempDir & "\cdrom.txt", 2)
If Not @error Then
For $i = 1 To $var[0]
$CDROM = FileWrite($File, $var[$i] & "|")
Next
EndIf
FileClose($File)
EndFunc

;==>FindCD

; ###########################################################################################################

; ######################################### Fonction lettre

DVD ############################################

Func LabelDVD()
$Label_CDROM_DVD = DriveGetLabel($lettre_CDROM_DVD)

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 46 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
EndFunc

;==>LabelDVD

; ###########################################################################################################

; ############################################ Fonction lettre CD ###########################################


Func LabelCD()
$Label_CDROM_CD = DriveGetLabel($lettre_CDROM_CD)
EndFunc

;==>LabelCD

; ###########################################################################################################

; #################################### Fonction encodage en temps rel ######################################


Func FormatVideo()
$Extension = StringRight($fichier_VOD, 5)
$Extension = StringSplit($Extension, ".")
If $Extension[2] = "flv" Then
Run($Chemin_VLC & " " & $fichier_VOD & "
:sout=#transcode{vcodec=mp4v,vb=800,scale=1,acodec=mp3,ab=128,channels=2}:duplicate{dst=disp
lay,dst=std{access=udp,mux=ts,dst=" & $Add_UDP_Court & "}}")
ElseIf $Extension[2] = "avi" Then
Run($Chemin_VLC & " --ttl 8 -vvv " & $fichier_VOD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,url=" & $Add_UDP_Court & "}}")
ElseIf $Extension[2] = "mpg" Then
Run($Chemin_VLC & " --ttl 8 -vvv " & $fichier_VOD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,url=" & $Add_UDP_Court & "}}")
ElseIf $Extension[2] = "vob" Then
Run($Chemin_VLC & " --ttl 8 -vvv " & $fichier_VOD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,url=" & $Add_UDP_Court & "}}")
ElseIf $Extension[2] = "mov" Then
Run($Chemin_VLC & " --ttl 8 -vvv " & $fichier_VOD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,url=" & $Add_UDP_Court & "}}")
ElseIf $Extension[2] = "dv" Then
Run($Chemin_VLC & " --ttl 8 -vvv " & $fichier_VOD & "
:sout=#duplicate{dst=display,dst=std{access=udp,mux=ts,url=" & $Add_UDP_Court & "}}")
EndIf
EndFunc

;==>FormatVideo

; ###########################################################################################################

; ################################## Fonction "VLC est-il install ?"########################################


Func VLC_EXIST()
If Not FileExists($Chemin_VLC) Then
Message($INFO, "Le logiciel VLC n'a pas t trouv sur la machine, peut tre l'avez vous
install dans un emplacement diffrent de celui par dfaut ? Vous pouvez modifier son
emplacement dans Remote_VLC_Light.ini (Chemin_VLC) ", 10000, 190)
Exit
Else
EndIf
EndFunc

;==>VLC_EXIST

; ###########################################################################################################

; ################################## Fonction "Version de VLC ?"#############################################


Func Version_VLC()

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 47 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
$version_VLC = FileGetVersion($Chemin_VLC)
EndFunc

;==>Version_VLC

; ###########################################################################################################

; ########################### Lister les chanes selon le fichier orange Chaines.txt#######################


Func List()
Dim
Dim
Dim
Dim
Dim
Dim

$index_chaines
$liste_orange
$maChaineCh
$nbLignes
$i
$maLigne

; Test de prsence
$index_chaines = FileOpen("Chaines.txt", 2)
If $index_chaines = -1 Then MsgBox(0, "Erreur", "Impossible de trouver le fichier 'Chaines.txt'.")
$liste_orange = FileOpen("Orange_TV.m3u", 0)
If $liste_orange = -1 Then MsgBox(0, "Erreur", "Impossible de trouver le fichier 'Orange_TV.m3u'.")
; Nombre total de lignes de $liste_orange
$nbLignes = _FileCountLines("Orange_TV.m3u")

; Boucle pour lister LES NOMS DE CHAINE de $liste_orange


$i = 2
While $i <= $nbLignes
$maLigne = FileReadLine($liste_orange, $i)
$maChaineCh = StringSplit($maLigne, ",")
; On stocke cette liste dans $index_chaines, soit le document Chaines.txt
FileWrite($index_chaines, $maChaineCh[2] & "|")
$i = $i + 2
WEnd
FileClose($index_chaines) ; Fermeture des fichiers ouverts
FileClose($liste_orange)
EndFunc

;==>List

; ###########################################################################################################

;
; ######################## Crer fichier de correspondance "chane,adresse" ==> ChAdr.txt ###################
Func CorresChAdr()
Dim
Dim
Dim
Dim
Dim
Dim

$index_corres
$liste_orange
$maChaineAdr
$nbLignes
$j
$maLigne

$index_corres = FileOpen("Ch_Adr.txt", 2)
$liste_orange = FileOpen("Orange_TV.m3u", 0)
; Nombre total de lignes de $liste_orange
$nbLignes = _FileCountLines("Orange_TV.m3u")

; Boucle pour lister LES NOMS DE CHAINE de $liste_orange


$j = 2
While $j <= $nbLignes

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 48 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
$maLigne = FileReadLine($liste_orange, $j) ; On lit une ligne et on la stocke dans $maLigne
$maChaineAdr = StringSplit($maLigne, ",") ; On la splite chaque virgule
; On stocke cette liste dans $index_corres, soit le document Ch_Adr.txt
FileWrite($index_corres, $maChaineAdr[2] & ",")
$j = $j + 1
$maLigne = FileReadLine($liste_orange, $j)
$maChaineAdr = StringSplit($maLigne, ",")
FileWrite($index_corres, $maChaineAdr[1] & @CR)
$j = $j + 1
WEnd
FileClose($index_chaines) ; Fermeture des fichiers ouverts
FileClose($liste_orange)
FileClose($index_corres)
EndFunc

;==>CorresChAdr

; ###########################################################################################################

; ###########################################################################################################
Func VLC_Unique()
$PID = ProcessExists("vlc.exe") ; Retourne le numro PID, ou 0 si le processus n'existe pas
If $PID Then ProcessClose($PID) ; S'il existe, on le ferme
EndFunc

;==>VLC_Unique

; ###########################################################################################################

; ###########################################################################################################
Func Copy_Orange_TV()
FileCopy($Source_Fichier_m3u & "Orange_TV.m3u", @WorkingDir, 1) ; On copie le fichier .m3u dans le
rpertoire de travail
Message($INFO, "Mise jour des paramtres en cours...", 2000, 60)
EndFunc

;==>Copy_Orange_TV

; ###########################################################################################################

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 49 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.7

Annexe 7 : Code du logiciel Client_SPARC

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****


#AutoIt3Wrapper_Icon=Synchronization_xp.ico
#AutoIt3Wrapper_Outfile=Client_SPARC.exe
#AutoIt3Wrapper_Res_Description=Client de restauration Synchroparc XP
#AutoIt3Wrapper_Res_Fileversion=1.0.0.1
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Olivier LE GRAND & Dang-Khoa HA
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Obfuscator=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <String.au3>
#include <file.au3>
$chemin = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\OLG\SPARC", "Chemin")
$Titre = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\OLG\SPARC", "Titre")
$Chemin_SynchroParcXP = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\OLG\SPARC", "Chemin_SynchroParcXP")
$Passphrase = "toto"
$Login = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\OLG\SPARC", "Login") ; On lit le login crypt dans la Base de
registres
$Login = _StringEncrypt(0, $Login, $Passphrase, 3) ; On le dcrypte et on le stocke dans $Login
$Password = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\OLG\SPARC", "Password") ; On lit le mot de pass crypt dans la
Base de registres
$Password = _StringEncrypt(0, $Password, $Passphrase, 3) ; On le dcrypte et on le stocke dans $Password
$Nom = @ComputerName
$Salle = StringMid($Nom, 5)
; Ouverture OK ?
If $File = -1 Then MsgBox(0, "Erreur", "Impossible d'ouvrir ce fichier.")

Suisjela()
FileClose($File)
Init()

; ###########################################################################################################
; ########################################### F O N C T I O N S #############################################
; ###########################################################################################################

; #################################### Test de prsence dans jesuisla.txt ###################################


Func Suisjela() ; nom du pc dans jesuisla.txt ?
$nbLignes = _FileCountLines($chemin & "\jesuisla.txt")
$i = 0
While $i <= $nbLignes
$ligne = FileReadLine($File, $i)
If $Nom = $ligne Then ;si oui, on quitte la boucle
Exit
Else
$i = $i + 1
EndIf
WEnd
EndFunc

;==>Suisjela

; ###########################################################################################################

; ######################################## Initialisation ###################################################


Func Init()
If Not FileExists(@WorkingDir & "\INIT_OK") Then
_FileCreate(@WorkingDir & "\INIT_OK")
Maintenantjysuis()
Exit 0

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 50 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Else

Restauration()

EndIf
EndFunc

;==>Init

; ###########################################################################################################

; ############################################### Restauration ##############################################


Func Restauration()
Maintenantjysuis()
Login_Auto()
If FileExists($Chemin_SynchroParcXP & $Salle & "\SynchroParcXP.exe") Then
Run($Chemin_SynchroParcXP & $Salle & "\SynchroParcXP.exe /R /Y /P")
Else
Run($Chemin_SynchroParcXP & "\SynchroParcXP.exe /R /Y /P")
EndIf
EndFunc

;==>Restauration

; ###########################################################################################################

; ################################## Inscription du PC dans jesuisla.txt ####################################


Func Maintenantjysuis()
$File = FileOpen($chemin & "\jesuisla.txt", 1)
FileWrite($File, $Nom & @CRLF) ; on crit le nom du pc dans jesuisla.txt
FileClose($File)
EndFunc

;==>Maintenantjysuis

; ###########################################################################################################

; ################################### Connexion au compte sparc #############################################


Func Login_Auto()
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "AutoAdminLogon",
"REG_SZ", "1")
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon",
"DefaultUserName", "REG_SZ", $Login
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon",
"DefaultPassword", "REG_SZ", $Password)
Shutdown(6)
EndFunc

;==>Login_Auto

; ###########################################################################################################

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 51 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.8

Annexe 8 : Code du logiciel Console_SPARC

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****


#AutoIt3Wrapper_Icon=Synchronization_xp.ico
#AutoIt3Wrapper_Outfile=Console_SPARC.exe
#AutoIt3Wrapper_Res_Description=Console SynchroParcXP
#AutoIt3Wrapper_Res_Fileversion=1.0.0.25
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Olivier LE GRAND & Dang-Khoa HA
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include
#include
#include
#include
#include
#include
#include

<ListBoxConstants.au3>
<GuiListBox.au3>
<File.au3>
<ComboConstants.au3>
<GUIConstantsEx.au3>
<StaticConstants.au3>
<WindowsConstants.au3>

Const $INI = "Config_SPARC.ini" ; On indique le rpertoire de travail


$chemin = IniRead($INI, "Main", "chemin", ""); Dfinition du chemin de travail
$Titre = IniRead($INI, "Main", "Titre", "")
$IPdebut = IniRead($INI, "Main", "IPdebut", "")
$IPfin = IniRead($INI, "Main", "IPfin", "")
$Image = @WorkingDir & "\Logo.jpg"
FileInstall("C:\SPARC\Logo.jpg", @WorkingDir & "\Logo.jpg", 1)
$Module_Import = @WorkingDir & "\Module_Import.exe"
FileInstall("C:\SPARC\Module_Import.exe", @WorkingDir & "\Module_Import.exe", 1)
$Prepa_Console = @WorkingDir & "\Prepa_Console.exe"
FileInstall("C:\SPARC\Prepa_Console.exe", @WorkingDir & "\Prepa_Console.exe", 1)
$Cryptage = @WorkingDir & "\Cryptage.exe"
FileInstall("C:\SPARC\Cryptage.exe", @WorkingDir & "\Cryptage.exe", 1)
$fichier_aide = @WorkingDir & "\Aide_SPARC.pdf"
FileInstall("C:\SPARC\Aide_SPARC.pdf", @WorkingDir & "\Aide_SPARC.pdf", 1)
If
Not
FileExists($chemin
&
"\PostesARestaurer.txt")
Then
$test
=
_FileCreate($chemin
&
"\PostesARestaurer.txt")
If Not FileExists($chemin & "\PCdemarre.txt") Then $test = _FileCreate($chemin & "\PCdemarre.txt")
If Not FileExists($chemin & "\jesuisla.txt") Then $test = _FileCreate($chemin & "\jesuisla.txt")
If Not FileExists($chemin & "\ToutesLesSalles.txt") Then $test = _FileCreate($chemin & "\ToutesLesSalles.txt")
If Not FileExists($chemin & "\Aide_SPARC.pdf") Then $test = _FileCreate($chemin & "\Aide_SPARC.pdf")
; VARIABLES
Dim $groupes[1], $groupe_perso
Dim $file ; fichier ouvrir, ici $chemin\scan.txt
Dim $ligne, $line ; ligne lue dans un fichier
Dim $SalleDuPC ; nom de la salle lu dans le nom de pc
Dim $salles ; nom du fichier contenant la liste des salles
Dim $destination ; nom du fichier portant le nom de la salle et contenant les noms d'ordinateurs
Dim $ordi ; nom de l'ordinateur
; Appel du programme qui prpare les fichiers/dossiers ncessaires au fonctionnement de la Console
RunWait($Prepa_Console, @WorkingDir)
#Region ### START Koda GUI section ### Form=C:\PROJET\SPARC\Form1.kxf
$Form = GUICreate($Titre & " " & FileGetVersion("Console_SPARC.exe"), 412, 460, 252, 149)
GUISetIcon("Synchronization_xp.ico")
GUISetBkColor(0xFFFFFF)
$Configuration = GUICtrlCreateMenu("Configuration")
$config_INI = GUICtrlCreateMenuItem("Editer le fichier de configuration", $Configuration)
$Cryptage = GUICtrlCreateMenuItem("Gnration de login/mot de passe", $Configuration)
$Import = GUICtrlCreateMenuItem("Importer les adresses MAC", $Configuration)
$Options = GUICtrlCreateMenu("Options")
$Rapport = GUICtrlCreateMenuItem("Rapport de restauration", $Options)
$fichier_jesuisla = GUICtrlCreateMenuItem('Afficher le fichier "jesuisla.txt"', $Options)
$Aide = GUICtrlCreateMenuItem("Aide", $Options)
$Apropos = GUICtrlCreateMenu("?")
$Version = GUICtrlCreateMenuItem("Version", $Apropos)

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 52 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
$Pic = GUICtrlCreatePic($Image, 258, -3, 107, 107, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$Label1 = GUICtrlCreateLabel("Slection d'un salle :", 24, 25, 140, 17)
GUICtrlSetFont($Label1, 9, 800, 0, "Trebuchet MS")
$Label2 = GUICtrlCreateLabel("Postes pouvant tre" & @CRLF & "restaurs :", 24, 94, 180, 42)
GUICtrlSetFont($Label2, 9, 800, 0, "Trebuchet MS")
$Label3 = GUICtrlCreateLabel("Postes slectionns :", 248, 112, 140, 17)
GUICtrlSetFont($Label3, 9, 800, 0, "Trebuchet MS")
$ListBoxIn = GUICtrlCreateList("", 24, 136, 137, 201, BitOR($LBS_SORT, $LBS_EXTENDEDSEL))
$ListBoxOut = GUICtrlCreateList("", 248, 136, 137, 201, BitOR($LBS_SORT, $LBS_EXTENDEDSEL))
$Select1 = GUICtrlCreateButton(">", 188, 159, 30, 25, 0)
GUICtrlSetFont($Select1, 12, 800, 0, "Arial")
$SelectAll = GUICtrlCreateButton(">>", 188, 200, 31, 25, 0)
GUICtrlSetFont($SelectAll, 12, 800, 0, "Arial")
$Deselect1 = GUICtrlCreateButton("<", 189, 241, 31, 25, 0)
GUICtrlSetFont($Deselect1, 12, 800, 0, "Arial")
$DeselectAll = GUICtrlCreateButton("<<", 189, 282, 32, 25, 0)
GUICtrlSetFont($DeselectAll, 12, 800, 0, "Arial")
$Vider = GUICtrlCreateButton("&Vider la liste", 248, 345, 135, 17, 0)
GUICtrlSetFont(-1, 8, 800, 0, "Trebuchet MS")
$Changer = GUICtrlCreateButton("&Changer de salle", 25, 345, 135, 17, 0)
GUICtrlSetFont(-1, 8, 800, 0, "Trebuchet MS")
$Restaurer = GUICtrlCreateButton("&RESTAURER MAINTENANT", 120, 385, 171, 33, 0)
GUICtrlSetFont(-1, 9, 800, 2, "Trebuchet MS")
$lesSalles = FileOpen($chemin & "\" & "ToutesLesSalles.txt", 0)
$maLigne = FileReadLine($lesSalles, 1)
$Combo = GUICtrlCreateCombo("", 24,
$CBS_SORT))
GUICtrlSetData($Combo, $maLigne)

48, 121,

25,

BitOR($CBS_DROPDOWNLIST,

$CBS_AUTOHSCROLL,

$WS_VSCROLL,

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
; Infobulles
GUICtrlSetTip($Select1, "Permet de slectionner une ou plusieurs stations")
GUICtrlSetTip($SelectAll, "Permet de slectionner toutes les stations")
GUICtrlSetTip($Deselect1, "Permet de dslectionner une ou pluesieurs stations")
GUICtrlSetTip($DeselectAll, "Permet de dslectionner toutes les stations")
GUICtrlSetTip($Restaurer, "Permet de restaurer les stations slectionnes")
GUICtrlSetTip($Combo, "Slection d'une salle")
GUICtrlSetTip($Vider, "Vide la liste des stations slectionnes")
GUICtrlSetTip($Changer, "Permet de slectionner une autre salle")

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Aide
ShellExecute($chemin & "\Aide_SPARC.pdf")
Case $fichier_jesuisla
Message("", "Liste des PC pouvant tre restaurs", 2000, 70)
Run("notepad.exe " & $chemin & "\" & "jesuisla.txt")
Case $Rapport ; Affiche la liste des PC dmarrs
Message("", "Liste des PC restaurs", 2000, 50)
Run("notepad.exe " & $chemin & "\" & "PCdemarre.txt")
Case $Import ; Importation des adresses MAC gnres par IPscan

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 53 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
SplashTextOn("info", "Importation des adresses MAC gnres par IPscan en cours." & @CRLF &
"Scan de la plage :" & @CRLF & $IPdebut & " -> " & $IPfin & @CRLF & @CRLF & "Veuillez patienter
...", 250, 160, -1, -1, 1)
RunWait($Module_Import, @WorkingDir, @SW_MINIMIZE)
SplashOff()
Case $config_INI
Message("", "Edition du fichier de configuration", 2000, 65)
Run("notepad.exe " & $chemin & "\" & "Config_SPARC.ini")
Case $Cryptage
Run($chemin & "\Cryptage.exe")
WinWaitActive("Module Cryptage")
WinWaitClose("Module Cryptage")
Case $Version
Message("", "Version de la Console Synchroparc : " & FileGetVersion("Console_SPARC.exe") &
@CRLF & "Version du module d'import des adresses MAC : " & FileGetVersion("Module_Import.exe")
& @CRLF & "Version du module de cryptage : " & FileGetVersion("Cryptage.exe") & @CRLF &
"Version du module de prparation de console : " & FileGetVersion("Prepa_Console.exe"), 9000,
190)
Case $Combo ; On lit ce que l'utilisateur a choisi dans la combobox (autrement dit, la salle choisie)
GUICtrlSetData($ListBoxIn, "") ; On vide la liste de gauche (au cas o il y aurait quelque
chose dedans)
Lister()
If Not _GUICtrlListBox_GetListBoxInfo($ListBoxIn) = 0 Or Not
_GUICtrlListBox_GetListBoxInfo($ListBoxOut) = 0 Then ; Si l'une des 2 listes n'est pas vide,
GUICtrlSetState($Combo, $GUI_DISABLE) ; on ne peut pas utiliser la combobox
EndIf
Case $Select1 ; [>]
SelectionUn()
Case $SelectAll ; [>>]
SelectionTOUS()
Case $Deselect1 ; [<]
DeselectionUn()
Case $DeselectAll ; [<<]
DeselectionTOUS()
Case $Vider
DeselectionTOUS()
If _GUICtrlListBox_GetListBoxInfo($ListBoxIn) = 0 And
_GUICtrlListBox_GetListBoxInfo($ListBoxOut) = 0 Then
GUICtrlSetState($Combo, $GUI_enABLE) ; On ractive la combobox si les 2 listes sont
vides
EndIf
Case $Changer
If Not _GUICtrlListBox_GetListBoxInfo($ListBoxIn) = 0 Or Not
_GUICtrlListBox_GetListBoxInfo($ListBoxOut) = 0 Then
_GUICtrlListBox_ResetContent($ListBoxIn) ; On vide la liste de gauche
_GUICtrlListBox_ResetContent($ListBoxOut) ; et celle de droite
$PCselect = "" ; On "vide" la variable $PCselect
GUICtrlSetState($Combo, $GUI_enABLE) ; et on ractive la combobox
Message("", "Les postes prcdemment slectionns ne seront pas restaurs", 2700, 85)
Else
Message("", "Aucune salle n'est slectionne pour le moment", 2000, 65)
EndIf
Case $Restaurer
$demande = MsgBox(4, "Console Synchro Parc", "Confirmez vous la commande de restauration ?")
If $demande = 6 Then

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 54 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
Else
EndIf
Exit

RESTAURATION()

EndSwitch
WEnd
; ###########################################################################################################
; ####################################### F O N C T I O N S #################################################
; ###########################################################################################################
; ################# Afficher les postes pouvant tre restaurs dans la liste de gauche ######################
Func Lister()
; on lit la salle choisie, et on affiche les postes qui peuvent tre restaurs
$salleChoisie = GUICtrlRead($Combo) ; $salleChoisie prend la valeur inscrite dans la combobox
FileOpen($chemin & "\" & $salleChoisie & "\" & $salleChoisie & ".txt", 0) ; On ouvre le fichier
correspondant une salle
$nbLignes = _FileCountLines($chemin & "\" & $salleChoisie & "\" & $salleChoisie & ".txt")
$i = 1
For $i = 1 To $nbLignes ; Pour chaque ligne prsente dans le fichier,
$PC = 0
$ligne = FileReadLine($chemin & "\" & $salleChoisie & "\" & $salleChoisie & ".txt", $i)
$PC = StringMid($ligne, 3, 2) ; On extrait le nom du poste
$fichier = FileOpen($chemin & "\" & $salleChoisie & "\" & $salleChoisie & ".txt", 0)
$contenu_fic = FileRead($fichier)
GUICtrlSetData($ListBoxIn, $contenu_fic)
Next
EndFunc

FileClose($chemin & "\" & $salleChoisie & "\" & $salleChoisie & ".txt")
;==>Lister

; ###########################################################################################################
; ##################################### Actions sur le bouton RESTAURER #####################################
Func RESTAURATION()
Dim $PostesARestaurer
Dim $PCaRestaurer ; Dclaration d'une variable locale
Dim $cdc
$PostesARestaurer = FileOpen($chemin & "\PostesARestaurer.txt", 2)
$cpt = _GUICtrlListBox_GetCount($ListBoxOut) ; On compte le nombre d'lments dans la liste de droite
For $b = 0 To $cpt - 1 ; Pour chaque lment,
$cdc = $cdc & _GUICtrlListBox_GetText($ListBoxOut, $b) & "|" ; On le stocke dans une variable
Next ; et on boucle
FileWrite($PostesARestaurer, $cdc)
FileClose($PostesARestaurer)
$PostesARestaurer = FileOpen($chemin & "\PostesARestaurer.txt", 0)
$lignePC = FileReadLine($PostesARestaurer)
$unPC = StringSplit($lignePC, "|")
For $v = 1 To $unPC[0]
$PCaRestaurer = $unPC[$v]
;;;;;;;;;;;;;;;;;;;;;; NETTOYAGE DE JESUISLA.TXT ;;;;;;;;;;;;;;;;;;;;;;
$jesuisla = ($chemin & "\jesuisla.txt")
$file = FileOpen($chemin & "\jesuisla.txt", 1)
$cpt = _FileCountLines($chemin & "\jesuisla.txt")
$TMP = ($chemin & "\tmp.txt") ; On cre un fichier temporaire, o seront stocks les noms de PC
qu'on ne restaure pas
$TMPfile = FileOpen($TMP, 2)
$vide = ""
For $i = $cpt To 1 Step -1 ; On lit de bas en haut pour viter les sauts de lignes lis aux
lignes vides ...
$line = FileReadLine($jesuisla, $i)
If $line = ($PCaRestaurer) Then ; Si la ligne lue est gale un nom de PC restaurer,
alors
_ReplaceStringInFile($chemin & "\jesuisla.txt", $PCaRestaurer, $vide) ; on
supprime la ligne

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 55 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique

Next

ElseIf $line <> ($PCaRestaurer) Then ; Sinon, si la ligne est diffrente du PC


restaurer
FileWrite($TMP, $line & @CRLF) ; On inscrit le nom de ce PC dans "tmp.txt"
ElseIf $line = ("") Then ; Si la ligne est vide, on passe la ligne suivante
EndIf

FileClose($file)
FileClose($TMPfile)
FileClose($jesuisla)
FileClose($TMP)
; On supprime le fichier "jesuisla.txt" car il contient des espaces et des lignes vides :
If FileDelete($chemin & "\jesuisla.txt") = 0 Then
MsgBox(1, "", "Le fichier " & $chemin & "\jesuisla.txt" & " n'a pas pu tre supprim.")
EndIf
If FileMove($chemin & "\tmp.txt", $chemin & "\jesuisla.txt", 9) = 0 Then ; "tmp.txt" devient
"jesuisla.txt"
MsgBox(1, "", "Le fichier " & $chemin & "\jesuisla.txt" & " n'a pas pu tre remplac")
EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Next
FileClose($PostesARestaurer)
WOL() ; Appel de la fonction "Wake On Lan"
EndFunc
;==>RESTAURATION
; ###########################################################################################################
; ######################################### Slection d'un PC ###############################################
Func SelectionUn()
Dim
Dim
Dim
Dim

$selection
$tabtmp
$tableauPostes
$index

If _GUICtrlListBox_GetSelCount($ListBoxIn) <> 0 Then


$tableauPostes = _GUICtrlListBox_GetSelItemsText($ListBoxIn)
For $c = 1 To $tableauPostes[0] ; $tableauPostes[0] = nombre de lignes
$selection &= $tableauPostes[$c] & "|"
$tabtmp = $tableauPostes[$c]
$index = _GUICtrlListBox_FindString($ListBoxIn, $tabtmp) ; ... et il est supprim de la colonne
de droite
_GUICtrlListBox_DeleteString($ListBoxIn, $index)
Next
GUICtrlSetData($ListBoxOut, $selection)
EndIf
EndFunc

;==>SelectionUn

; ###########################################################################################################
; ###################################### Dslection d'un PC ################################################
Func DeselectionUn()
Dim
Dim
Dim
Dim

$deselection
$tabtmp2
$tableauPostes2
$index2

If _GUICtrlListBox_GetSelCount($ListBoxOut) <> 0 Then


$tableauPostes2 = _GUICtrlListBox_GetSelItemsText($ListBoxOut)
For $d = 1 To $tableauPostes2[0] ; $tableauPostes[0] = nombre de lignes
$deselection &= $tableauPostes2[$d] & "|"
$tabtmp2 = $tableauPostes2[$d]
$index2 = _GUICtrlListBox_FindString($ListBoxOut, $tabtmp2) ; ... et il est supprim de
la colonne de droite
_GUICtrlListBox_DeleteString($ListBoxOut, $index2)
Next

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 56 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
GUICtrlSetData($ListBoxIn, $deselection)
EndFunc

EndIf
;==>DeselectionUn

; ###########################################################################################################
; ##################################### Slection de tous les PC ############################################
Func SelectionTOUS()
$nbPC = _GUICtrlListBox_GetCount($ListBoxIn) ; On compte le nombre d'lments dans la liste de gauche
For $k = 0 To $nbPC ; Pour chaque lment,
$var = _GUICtrlListBox_GetText($ListBoxIn, $k) ; On le stocke dans une variable
GUICtrlSetData($ListBoxOut, $var) ; qu'on copie droite
Next ; et on boucle
_GUICtrlListBox_ResetContent($ListBoxIn) ; On vide la liste de gauche
_GUICtrlListBox_DeleteString($ListBoxOut, 0) ; On supprime la ligne vide de la liste de droite
EndFunc

;==>SelectionTOUS

; ###########################################################################################################
; ####################################### Dslection de tous les PC ########################################
Func DeselectionTOUS()
$nbPC2 = _GUICtrlListBox_GetCount($ListBoxOut) ; On compte le nombre d'lments dans la liste de
droite
For $m = 0 To $nbPC2 ; Pour chaque lment,
$var2 = _GUICtrlListBox_GetText($ListBoxOut, $m) ; On le stocke dans une variable
GUICtrlSetData($ListBoxIn, $var2) ; qu'on copie gauche
Next ; et on boucle
_GUICtrlListBox_ResetContent($ListBoxOut) ; On vide la liste de droite
_GUICtrlListBox_DeleteString($ListBoxIn, 0) ; On supprime la ligne vide de la liste de gauche
EndFunc

;==>DeselectionTOUS

; ###########################################################################################################
; ############################################ Affichage message ############################################
Func Message($info, $MESSAGE, $Temps, $TailleMessage)
SplashTextOn($info, $MESSAGE, 250, $TailleMessage, -1, -1, 1)
Sleep($Temps)
SplashOff()
EndFunc

;==>Message

; ###########################################################################################################
; ################################## Wake On Lan avant restauration #########################################
Func WOL()
$PostesARestaurer = FileOpen($chemin & "\PostesARestaurer.txt", 0)
If
$PostesARestaurer
=
-1
Then
MsgBox(0,
"Erreur",
"Impossible
'PostesARestaurer.txt'.")

d'ouvrir

le

fichier

$nbLignes3 = _FileCountLines($chemin & "\Wake_On_Line.txt")


$Wake_On_Line = FileOpen($chemin & "\Wake_On_Line.txt", 0)
If $Wake_On_Line = -1 Then MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier le 'Wake_On_Line.txt'.")
$PCdemarre = FileOpen($chemin & "\PCdemarre.txt", 2)
If $PCdemarre = -1 Then MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier

'PCdemarre.txt'.")

Dim $cmd
Dim $PC
Dim $donnees
$lignePC = FileRead($chemin & "\PostesARestaurer.txt") ; $lignePC = PC01S321|
$unPC = StringSplit($lignePC, "|")
$monPoste = $unPC[1]
For $v = 1 To $unPC[0]

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 57 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
$monPoste = $unPC[$v]
For $x = 1 To $nbLignes3
$ligne = FileReadLine($chemin & "\Wake_On_Line.txt", $x)
$donnees = StringSplit($ligne, ",") ; On splite chaque ligne du fichier $Wake_On_Line pour
obtenir :
$PC = $donnees[1] ; un nom de PC : PC01S321
$cmd = $donnees[2] ; la commande pour allumer ce PC par le rseau :
C:\SPARC\WakeUpCmd.exe /mac:00-19-DB-44-20-80
$cmd = String($cmd) ; Fonction inverse de "Eval" : retourne la reprsentation d'une
chane de caractres d'une expression
If $monPoste = $PC Then ; Si la ligne lue dans "PostesARestaurer.txt" est gale au nom de
PC dans la ligne lue de "Wake_On_Line.txt",
Run($cmd, @WorkingDir, @SW_MINIMIZE) ; on lance la commande de Wake On Lan
correspondante
FileWrite($PCdemarre, $PC & @CRLF) ; on crit le nom du poste allum en WOL dans
$PCdmarr
Next

EndIf

Next
FileClose($PostesARestaurer)
FileClose($Wake_On_Line)
FileClose($PCdemarre)
EndFunc

;==>WOL

; ###########################################################################################################

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 58 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.9

Annexe 9 : Code du logiciel Prepa_Console

#include <Array.au3>
#include <File.au3>
Const $INI = "Config_SPARC.ini" ; On indique le rpertoire de travail
$chemin = IniRead($INI, "Main", "chemin", ""); Dfinition du chemin de travail
; VARIABLES
Dim
Dim
Dim
Dim
Dim
Dim
Dim

$groupes[1], $groupe_perso
$file ; fichier ouvrir, ici $chemin\scan.txt
$ligne, $line ; ligne lue dans un fichier
$SalleDuPC ; nom de la salle lu dans le nom de pc
$salles ; nom du fichier contenant la liste des salles
$destination ; nom du fichier portant le nom de la salle et contenant les noms d'ordinateurs
$ordi ; nom de l'ordinateur

If Not FileExists($chemin & "\jesuisla.txt") Then $test = _FileCreate($chemin & "\jesuisla.txt")


If
Not
FileExists($chemin
"\ToutesLesSalles.txt")

&

"\ToutesLesSalles.txt")

Then

$test

_FileCreate($chemin

&

; ########################## CREATION "TouteLesSalles.txt" SANS DOUBLONS ####################################


$file = FileOpen($chemin & "\jesuisla.txt", 0)
$salles = FileOpen($chemin & "\ToutesLesSalles.txt", 2)
If _FileCountLines($chemin & "\jesuisla.txt") < 1 Then ; Si "jesuisla.txt" est vide, on affiche un message
pour dire qu'aucun poste ne ncessite de retauration
Message("", "Aucun poste ne ncessite de restauration actuellement.", 5000, 70)
Exit
Else
While 1
$line = FileReadLine($file) ; On lit chaque ligne

de "jesuisla.txt"

If @error = -1 Then ExitLoop


If StringMid($line, 5, 1) = "S" Then ; Si le 5me caractre de la chane est un "S", alors
$SalleDuPC = StringMid($line, 5) ; On rcupre le nom de la salle
$groupePropre = StringSplit($SalleDuPC, " ", 1) ; On enlve les ventuels commentaires
situs aprs
$present = _ArraySearch($groupes, $groupePropre[1])
If $present <= 0 Then _ArrayAdd($groupes, $groupePropre[1]) ; On vrifie que la salle
n'existe pas dj dans le fichier (pas de doublons)
EndIf
WEnd
EndIf
$lesSalles = FileOpen($chemin & "\ToutesLesSalles.txt", 2) ; On renseigne le fichier des salles
For $i = 1 To (UBound($groupes) - 1)
FileWrite($lesSalles, $groupes[$i] & "|") ; crire le nom d'une salle dans le tableau
FileOpen($chemin & $groupes[$i], 2) ; crer un fichier au nom de la salle
Next
FileClose($lesSalles)
$lesSalles = FileOpen($chemin & "\ToutesLesSalles.txt", 1)
FileWrite($lesSalles, $groupe_perso)
FileClose($lesSalles)
FileOpen($chemin & $groupe_perso, 1)
FileClose($file)
FileClose($lesSalles)
; ###########################################################################################################

; ############################### CREATION D'UN DOSSIER PAR SALLE ###########################################


$lesSalles

FileOpen($chemin

Dang-Khoa HA R2I Promo '09

&

"\ToutesLesSalles.txt",

0)

Dossier technique

On

ouvre

la

liste

des

salles

cre

dans

Page 59 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
ToutesLesSalles.txt
$n = 1 ; Pour chaque nom de salle (dans ToutesLesSalles.txt, entre deux "|"), on cre un dossier portant le
nom de cette salle
While 1
$maLigne = FileReadLine($lesSalles, 1) ; On lit la ligne
$uneSalle = StringSplit($maLigne, "|") ; On rcupre le nom d'une salle
DirCreate($chemin & "\" & $uneSalle[$n]) ; On cre un dossier portant ce nom
$n = $n + 1
If $uneSalle[$n] = "" Then ExitLoop
WEnd
FileClose($lesSalles)
; ###########################################################################################################

; ############################### Classer les ordinateurs par salle #########################################

$jesuisla = FileOpen($chemin & "\jesuisla.txt", 0)


$count = _FileCountLines($chemin & "\jesuisla.txt") ; On compte le nombre de lignes de "jesuisla.txt"
$a = 1
For $a = 1 To $count
$ligne = FileReadLine($jesuisla, $a)
If @error = -1 Then ExitLoop
$salle = StringMid($ligne, 5) ; On rcupre le nom de salle
$ordi = StringMid($ligne, 1, 4) ; On rcupre le nom de poste
FileDelete($chemin & "\" & $salle & "\" & $salle & ".txt") ; On supprime le fichier, au cas o il
existe dj
Next
FileClose($jesuisla)

$jesuisla = FileOpen($chemin & "\jesuisla.txt", 0)


$count = _FileCountLines($chemin & "\jesuisla.txt")
For $a = 1 To $count
$ligne = FileReadLine($jesuisla, $a)
If @error = -1 Then ExitLoop
$salle = StringMid($ligne, 5) ; On rcupre le nom de salle
$ordi = StringMid($ligne, 1, 4) ; On rcupre le nom de poste
If Not FileExists($chemin & "\" & $salle & "\" & $salle & ".txt") Then ; si le fichier n'existe pas,
_FileCreate($chemin & "\" & $salle & "\" & $salle & ".txt") ; on le cre
EndIf
FileOpen($chemin & "\" & $salle & "\" & $salle & ".txt", 1) ; On ouvre le fichier cr (ou dj
existant)
FileWrite($chemin & "\" & $salle & "\" & $salle & ".txt", $ligne & "|") ; On y crit le nom du PC
Next
FileClose($jesuisla)
; ###########################################################################################################

; ###################################### Affichage message ##################################################


Func Message($info, $MESSAGE, $Temps, $TailleMessage)
SplashTextOn($info, $MESSAGE, 250, $TailleMessage, -1, -1, 3)
Sleep($Temps)
SplashOff()
EndFunc

;==>Message

; ###########################################################################################################

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 60 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.10

Annexe 10 : Code du logiciel Module_Import

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****


#AutoIt3Wrapper_Icon=Synchronization_xp.ico
#AutoIt3Wrapper_Outfile=Module_Import.exe
#AutoIt3Wrapper_Res_Description=Module d'import d'adresse MAC
#AutoIt3Wrapper_Res_Fileversion=1.0.0.4
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Olivier LE GRAND & Dang-Khoa HA
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <File.au3>
Const $INI = "Config_SPARC.ini" ; On indique le rpertoire de travail
$chemin = IniRead($INI, "Main", "chemin", ""); Dfinition du chemin de travail
$IPdebut = IniRead($INI, "Main", "IPdebut", "")
$IPfin = IniRead($INI, "Main", "IPfin", "")
$WakeUpCmd = @WorkingDir & "\WakeUpCmd.exe"
FileInstall("C:\SPARC\WakeUpCmd.exe", @WorkingDir & "\WakeUpCmd.exe", 1)
$ipscan = @WorkingDir & "\ipscan.exe"
FileInstall("C:\SPARC\ipscan.exe", @WorkingDir & "\ipscan.exe", 1)
RunWait($ipscan & " -s -h " & $IPdebut & " " & $IPfin & " -f:csv " & $chemin & "\Toutes_les_adresses.txt")
If Not FileExists($chemin & "\Fichier_Type.txt") Then $test = _FileCreate($chemin & "\Fichier_Type.txt")
If Not FileExists($chemin & "\Wake_On_Line.txt") Then $test = _FileCreate($chemin & "\Wake_On_Line.txt")
$file = FileOpen($chemin & "\Toutes_les_adresses.txt", 0)
If $file = -1 Then MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier 'Toutes_les_adresses.txt'.")
$Countline = _FileCountLines($chemin & "\Toutes_les_adresses.txt") ; On compte les lignes
$Fichier_Type = FileOpen($chemin & "\Fichier_Type.txt", 2)
If $Fichier_Type = -1 Then MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier 'Fichier_Type.txt'.")
$i = 1
While $i <= $Countline ; Pour chaque ligne
$ligne = FileReadLine($file) ; On la lit
$donnee = StringSplit($ligne, ",", 0) ; On la splite
$PC = $donnee[3] ; On stocke le nom du PC en variable
$MAC = $donnee[4] ; ainsi que l'adresse MAC correspondante
FileWrite($Fichier_Type, $PC & "," & $MAC & @CRLF) ; On crit dans "Fichier_Type.txt"
$i = $i + 1

: nom_PC,@MAC

WEnd
FileClose($file)
FileClose($Fichier_Type)
Prep_Fichier_WakeOnLine()
ProcessClose("Console_SPARC.exe")
WinWaitClose ("Console_SPARC")
If Not ProcessExists("Console_SPARC.exe") Then Run("Console_SPARC.exe", @WorkingDir)

; ===========================================================================================================
Func Prep_Fichier_WakeOnLine()
$Fichier_Type = FileOpen($chemin & "\Fichier_Type.txt", 0)
If $Fichier_Type = -1 Then MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier 'Fichier_Type.txt'.")
$Countline2 = _FileCountLines($chemin & "\Fichier_Type.txt")
$Wake_On_Line = FileOpen($chemin & "\Wake_On_Line.txt", 2)
If $Wake_On_Line = -1 Then MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier 'Wake_On_Line.txt'")
$i = 1
While $i <= $Countline2
$ligne = FileReadLine($Fichier_Type)
$donnee = StringSplit($ligne, ",", 0)
$PC = $donnee[1]
$MAC = $donnee[2]

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 61 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
FileWrite($Wake_On_Line, $PC & ",WakeUpCmd.exe /mac:" & $MAC & @CRLF)
$i = $i + 1
WEnd
FileClose($Wake_On_Line)
EndFunc

;==>Prep_Fichier_WakeOnLine

; ===========================================================================================================

4.11

Annexe 11 : Code du logiciel Install

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****


#AutoIt3Wrapper_Icon=Synchronization_xp.ico
#AutoIt3Wrapper_Outfile=Install.exe
#AutoIt3Wrapper_Res_Fileversion=1.0.0.2
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Olivier LE GRAND & Dang-Khoa HA
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Const $INI = "C:\SPARC\Config_SPARC.ini"
$chemin = IniRead($INI, "Main", "chemin", "") ; Dfinition du chemin de travail
Run('instsrv.exe "SPARC" "c:\SPARC\srvany.exe"') ; Commande qui installe le service
Run("regedit /s " & $chemin & "\cle.reg") ; Fusion de la cl avec la base de registres

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 62 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.12

Annexe 12 : Fichier Config_SPARC.ini

Fichier de configuration de la console Synchro Parc :


[Main]
Titre = "Console Synchroparc version :"
chemin="\\peda\LOGICIEL\SPARC"
IPdebut="172.20.0.1"
IPfin="172.20.0.254"
Chemin_SynchroParcXP="\\172.18.0.2\SPARC2K0\"

4.13

Annexe 13 : Fichier jesuisla.txt

Liste des postes pouvant tre restaurs :


PC11S322
PC01S322
PC01S321
PC03S321

4.14

Annexe 14 : Fichier ToutesLesSalles.txt

Liste de toutes les salles o des postes sont en attente de restauration :


S322|S321|S129|S127|S118|S111|S101|S222|S201|S130

4.15

Annexe 15 : Fichier PostesARestaurer.txt

Liste des postes qu'on veut restaurer ( ne pas confondre avec le fichier jesuisla.txt ):
PC01S323|PC02S323|PC04S323|PC05S323|PC07S323|PC11S323|

4.16

Annexe 16: Fichier PCdemarre.txt

Liste des postes ayant t dmarrs en Wake On Lan (fichier de log) :


PC01S321
PC02S321
PC03S321
PC05S321
PC08S321
PC22S321

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 63 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.17
Annexe 17 : Aperu du fichier
Toutes_les_adresses.txt
Fichier qui fait correspondre une adresse IP, un nom de poste et une adresse MAC, gnr l'aide de
Angry IP Scan :
172.20.0.1,0 ms,PC13S508,00-16-EC-91-35-A2
172.20.0.8,0 ms,PC01SCDI,00-15-F2-EC-9C-7B
172.20.0.11,0 ms,PC08SCDI,00-15-F2-EC-9C-1F
172.20.0.15,0 ms,PC07SCDI,00-15-F2-EC-9E-25
172.20.0.18,0 ms,PC15S508,00-16-EC-91-92-F0
172.20.0.19,0 ms,N/A,N/A
172.20.0.25,0 ms,PC06SCDI,00-15-F2-EC-9C-E6
172.20.0.31,0 ms,PC16S508,00-16-EC-91-34-DD
172.20.0.36,0 ms,PC04S319,00-15-F2-EC-9C-9B
172.20.0.40,0 ms,PC14S129,00-15-F2-EC-9C-77
172.20.0.42,0 ms,PC10S508,00-16-EC-91-36-62

4.18

Annexe 18 : Aperu du fichier Fichier_Type.txt

Fichier qui fait correspondre un nom de poste une adresse MAC, cr en retravaillant le fichier
Toutes_les_adresses.txt :
PC13S508,00-16-EC-91-35-A2
PC01SCDI,00-15-F2-EC-9C-7B
PC08SCDI,00-15-F2-EC-9C-1F
PC07SCDI,00-15-F2-EC-9E-25
PC15S508,00-16-EC-91-92-F0
N/A,N/A
PC06SCDI,00-15-F2-EC-9C-E6
PC16S508,00-16-EC-91-34-DD
PC04S319,00-15-F2-EC-9C-9B
PC14S129,00-15-F2-EC-9C-77
PC10S508,00-16-EC-91-36-62

4.19

Annexe 19 : Fichier Wake_On_Line.txt

Fichier qui fait correspondre un nom de poste une commande de Wake On Lan, cr en retravaillant le
fichier Fichier_Type.txt :
PC01S321,WakeUpCmd.exe /mac:00-19-DB-44-20-80
PC05S319,WakeUpCmd.exe /mac:00-15-F2-EC-9C-85
PC02S321,WakeUpCmd.exe /mac:00-0C-29-82-FC-62

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 64 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.20

A nne x e 2 0 : Co de du l o g i c i e l Cry ptag e

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****


#AutoIt3Wrapper_Icon=Synchronization_xp.ico
#AutoIt3Wrapper_Outfile=Cryptage.exe
#AutoIt3Wrapper_Res_Fileversion=1.0.0.8
#AutoIt3Wrapper_Res_FileVersion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Olivier LE GRAND & Dang-Khoa HA
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include
#include
#include
#include
#include
#include

<File.au3>
<EditConstants.au3>
<String.au3>
<GUIConstantsEx.au3>
<StaticConstants.au3>
<WindowsConstants.au3>

Const $INI = "Config_SPARC.ini"


$chemin = IniRead($INI, "Main", "chemin", ""); Dfinition du chemin de travail
$Titre = IniRead($INI, "Main", "Titre", "")
$Chemin_SynchroParcXP = IniRead($INI, "Main", "Chemin_SynchroParcXP", "")
$Image = @WorkingDir & "\Logo.jpg"
FileInstall("C:\SPARC\Logo.jpg", @WorkingDir & "\Logo.jpg", 1)
$Passphrase = "toto"
#Region ### START Koda GUI section ### Form=C:\PROJET\SPARC\cryptage.kxf
$Form = GUICreate("Module Cryptage", 491, 180, 234, 214)
GUISetBkColor(0xFFFFFF)
$1
$2
$3
$4

=
=
=
=

GUICtrlCreateInput("",
GUICtrlCreateInput("",
GUICtrlCreateInput("",
GUICtrlCreateInput("",

16, 56, 161, 21)


16, 128, 161, 21)
320, 56, 161, 21, BitOR($ES_READONLY, $ES_NOHIDESEL, $ES_AUTOHSCROLL))
320, 128, 161, 21, BitOR($ES_READONLY, $ES_NOHIDESEL, $ES_AUTOHSCROLL))

$Lbl1 = GUICtrlCreateLabel("Login non crypt :", 16, 32, 130, 20)


GUICtrlSetFont(-1, 9, 400, 0, "Trebuchet MS")
$Lbl2 = GUICtrlCreateLabel("Mot de passe non crypt :", 16, 104, 170, 20)
GUICtrlSetFont(-1, 9, 400, 0, "Trebuchet MS")
$Lbl3 = GUICtrlCreateLabel("Login crypt :", 320, 32, 130, 20)
GUICtrlSetFont(-1, 9, 400, 0, "Trebuchet MS")
$Lbl4 = GUICtrlCreateLabel("Mot de passe crypt :", 320, 104, 130, 20)
GUICtrlSetFont(-1, 9, 400, 0, "Trebuchet MS")
$Conversion = GUICtrlCreateButton("GENERER", 192, 110, 113, 32, 0)
GUICtrlSetFont(-1, 10, 800, 2, "Trebuchet MS")
$Vider = GUICtrlCreateButton("Vider tous les champs", 192, 150, 113, 16, 0)
GUICtrlSetFont(-1, 7, 800, 2, "Trebuchet MS")
$Pic = GUICtrlCreatePic($Image, 198, 0, 100, 110, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg

Case $GUI_EVENT_CLOSE
Exit

Case $Conversion
$loginIN = GUICtrlRead($1) ; On lit le login non crypt
$mdpIN = GUICtrlRead($2) ; On lit le mot de passe non crypt
If $loginIN = "" Or $mdpIN = "" Then ; Si un des deux champs est vide alors
Message("", "Veuillez remplir tous les champs", 1750, 45) ; on indique qu'il faut
renseigner tous les champs
Else
$loginIN = ""
$loginIN = GUICtrlRead($1) ; On lit le login

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 65 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
$loginOUT = _StringEncrypt(1, $loginIN, $Passphrase, 3) ; On le crypte
GUICtrlSetData($3, $loginOUT) ; et on l'affiche droite
$mdpIN = ""
$mdpIN = GUICtrlRead($2) ; On lit le mot de passe
$mdpOUT = _StringEncrypt(1, $mdpIN, $Passphrase, 3) ; On le crypte
GUICtrlSetData($4, $mdpOUT) ; et on l'affiche droite
_FileCreate($chemin & "\cle_tmp.reg") ; on cre un fichier .reg temporaire
$cle_tmp = FileOpen($chemin & "\cle_tmp.reg", 2)
; On y inscrit les infos :
FileWrite($chemin & "\cle_tmp.reg", "Windows Registry Editor Version 5.00" & @CRLF &
"[HKEY_LOCAL_MACHINE\SOFTWARE\OLG\SPARC]" & @CRLF & '"Login"="' & $loginOUT & '"' & @CRLF &
'"Password"="' & $mdpOUT & '"' & @CRLF)
FileWrite($chemin & "\cle_tmp.reg", '"Titre"="' & $Titre & '"' & @CRLF & '"Chemin"="' & $chemin
& '"' & @CRLF & '"Chemin_SynchroParcXP"="' & $Chemin_SynchroParcXP & '"')
FileClose($cle_tmp)

; On cre puis dite un fichier cle.reg, en doublant les "\" :


_FileCreate($chemin & "\cle.reg")
$cle = FileOpen($chemin & "\cle.reg", 2)
$cle_tmp = FileOpen($chemin & "\cle_tmp.reg", 0)
$cpt = _FileCountLines($chemin & "\cle_tmp.reg")
For $i = 1 To 5 ; On recopie le dbut du fichier temporaire, qui ne ncssite pas de changement
$line = FileReadLine($cle_tmp, $i)
FileWrite($cle, $line & @CRLF)
Next
For $i = 6 To 7 ; On modifie le reste
$line = FileReadLine($cle_tmp, $i)
$new_line = StringReplace($line, "\", "\\")
FileWrite($cle, $new_line & @CRLF)
Next
FileClose($cle_tmp)
FileClose($cle)
FileDelete($chemin & "\cle_tmp.reg") ; On supprime le fichier temporaire
FileCopy($chemin & "\cle.reg", @LogonServer & "\NETLOGON", 1)
Message("", "Gnration du login/mot de passe russie." & @CRLF & "L'application va se
fermer.", 4000, 91)
Exit 0
EndIf

Case $Vider
GUICtrlSetData($1,
GUICtrlSetData($2,
GUICtrlSetData($3,
GUICtrlSetData($4,

"")
"")
"")
"")

EndSwitch
WEnd
; ###########################################################################################################
; ########################################## F O N C T I O N S ##############################################
; ###########################################################################################################

; ######################################## Affichage message ################################################


Func Message($info, $MESSAGE, $Temps, $TailleMessage)
SplashTextOn($info, $MESSAGE, 250, $TailleMessage, -1, -1, 1)
Sleep($Temps)
SplashOff()
EndFunc

;==>Message

; ###########################################################################################################

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 66 sur 67

Licence Professionnelle Rseaux Informatiques et Industriels, IUT d'Angers


Stage au lyce Sacr Cur d'Angers (Fvrier Juin 2009)
Dossier technique
4.21

Annexe 21 : Fichier Cle_reg.txt

Fichier fusionner dans la base de registres :


Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\OLG\SPARC]
"Login"="48BD753842399D0C"
"Password"="48BD753842399D0C"
"Titre"="Console Synchroparc version :"
"Chemin"="\\\\peda\\LOGICIEL\\SPARC"
"Chemin_SynchroParcXP"="\\\\172.18.0.2\\SPARC2K0\\"

Dang-Khoa HA R2I Promo '09

Dossier technique

Page 67 sur 67

Вам также может понравиться