Professional Documents
Culture Documents
Introduction
Ces dernières années, les entreprises transnationales n’ont cessé de réaliser une montée
en puissance et en nombre. Pour les transnationales se spécialisant dans le développement et
la production de logiciels informatique, la synchronisation entre les différentes équipes des
différentes filiales devient une tâche primordiale pour le bon avancement du travail.
C’est dans ce contexte que se situe ce travail qui consiste à la réalisation d’une
application qui assure la synchronisation entredeux environnements distants, dans ce cas les
deux environnements de deux filiales distantes, pour le compte de l’entreprise transnationale
GLTRADE.
Stage d’Eté 1
Ecole Nationale des Sciences de l’Informatique GL Trade
I- Introduction
Dans ce chapitre, nous présentons le cadre général de notre projet. En effet, nous
commençons par la présentation de l’organisme d’accueil GL Trade. Ensuite, nous décrivons
le sujet du projet.
II- Présentation de l’organisme d’accueil
1. GL Trade
Le groupe GL Trade a été créé en 1987 par Pierre GATIGNOL et Louis Christophe
LAURENT. Il offre à la communauté financière une large gamme de solutions logicielles
pour couvrir le processus complet d’un ordre de bourse, du donneur d’ordre au trader :
logiciels de négociations et de gestion des ordres, réseau, informations de marchés, logiciels
de gestion de risques et services associés du Front au Back Office. Tous ces services sont
accessibles à travers son réseau propriétaire GLNET connecté à plus de 500 institutions en la
matière et plus de 80 marchés à travers le monde.
GL Trade est une société anonyme dont le capital social dépasse les 300 millions
d’Euros.
Stage d’Eté 2
Ecole Nationale des Sciences de l’Informatique GL Trade
des marges. Le Groupe GL Trade s’est développé au fil des années et aujourd’hui il est
devenu l’un des acteurs incontournables sur son marché.
2. GL Trade MENA
GL Trade Tunis est l’un des trois centres de développement de la société à travers le
monde. C’était au début une filiale de l’Ubitrade. Dirigée par Yassine BRAHIM (the chief
executive officer d’Ubitrade ), GL Trade Tunis ou GL Trade MENA (Middle East and North
Africa) fournit les supports techniques de développement aux clients de la région. GL Trade
MENA engage 136 personnes dont 85% sont des ingénieurs de recherche et développement.
Le centre de Tunis couvre toute la région de l’Afrique du Nord et du Moyen Orient et en
particulier Dubaï où GL Trade a signé un accord de partenariat avec une bourse de la place.
Stage d’Eté 3
Ecole Nationale des Sciences de l’Informatique GL Trade
Ce chapitre nous a servi à mettre le projet dans son cadre. En effet, ce projet d’été est
effectué dans GL Trade et consiste à la synchronisation d’environnements de développement
distants. Le chapitre suivant permettra d’introduire plusieurs concepts nécessaires à la
compréhension de ce chapitre à savoir : le Shell Unix, les fichiers cron et crontab, etc.
Stage d’Eté 4
Ecole Nationale des Sciences de l’Informatique GL Trade
Dans ce chapitre, nous allons énumérer les différents besoins fonctionnels et non
fonctionnels de notre application, lesquels besoins vont éclaircir mieux son fonctionnement.
I- Etude de l’existant et solution retenue
1. Etude de l’existant
GL Trade Tunis est l’un des trois centres de développement de la société à travers le
monde. Vu l’importance de son rôle dans le cursus de développement, les codes sources se
trouvant sur le serveur GL Trade MENA doivent toujours être mis à jour par rapport au
serveur central se trouvant à Londres. Ce contrôle se base sur les dates de modification de ces
codes (versions). C'est-à-dire, chaque version du serveur de Londres plus récente que celle se
trouvant sur le serveur de Tunis doit être téléchargée pour remplacer l’ancienne version.
2. Solutions envisagées
Stage d’Eté 5
Ecole Nationale des Sciences de l’Informatique GL Trade
tâche peut sembler simple, un administrateur aura une grande difficulté à localiser toutes les
nouvelles versions en les comparant avec les versions existantes, sans qu’une ou plusieurs
versions ne passent inaperçues ou sans se tromper sur l’une d’elles, sans oublier la perte de
temps qui accompagne cette tâche.
Stage d’Eté 6
Ecole Nationale des Sciences de l’Informatique GL Trade
Une fois la solution à développer est fixée et les besoins fonctionnels et non fonctionnels
énumérés, il est possible maintenant de concevoir clairement l’architecture de notre système ce qui
sera le sujet du chapitre suivant.
Stage d’Eté 7
Ecole Nationale des Sciences de l’Informatique GL Trade
Notre conception doit prévoir toutes les communications et les échanges entre les deux
serveurs. Pour y parvenir, il faut mettre en place un scénario de synchronisation possible.
Cette application reçoit en entrée un fichier main_directories.txt à partir duquel, on peut lire
les emplacements des répertoires concernés par la synchronisation. Premièrement, le serveur
local se connecte au serveur distant. Sur ce dernier, il y a génération d’un fichier
all_files_list_dist qui contient la liste des fichiers se trouvant dans les répertoires mentionnés
dans le fichier main_directories.txt sur le serveur distant. Ce fichier sera téléchargé par la
suite à partir du serveur distant. De nouveau sur le serveur local, il y a génération d’un fichier
all_files_list_locqui contient la liste des fichiers se trouvant dans les mêmes emplacements
mais sur le serveur local. Une fois les deux fichiers générés, leur comparaison devient
possible et il y aura comme résultat un fichier maj_output qui contient la liste des fichiers à
télécharger du serveur distant. A partir de cette liste, le téléchargement des mises à jour est
effectué et le travail est terminé.
Un premier point à remarquer est que pour envoyer et recevoir des fichiers et ensuite
faire des traitements là-dessus, il faudrait soit avoir une reproduction exacte du répertoire de
travail, soit avoir une connaissance parfaite des chemins des fichiers et des répertoires. Pour
pallier à ce problème, nous allons utiliser les variables d’environnements qui doivent exister
sur les deux serveurs sans se soucier de leurs contenus.
Stage d’Eté 8
Ecole Nationale des Sciences de l’Informatique GL Trade
Il reste à mentionner que le choix de ces variables d’environnements n’est pas définitif
et on peut selon les besoins leur apporter des modifications, soit en ajoutant de nouvelles
variables, soit en modifiant les valeurs de celles existantes.
Autre que ces modules, on trouve d’autres modules supplémentaires qui son très
importants pour le bon fonctionnement de l’application :
➢ Le module var_dist, qui permet de récupérer la valeur d’une variable
d’environnement du serveur distant.
➢ Le module loc_to_dist, qui permet de placer le fichier main_directories.txt
(DIR_UPDATE) sur le serveur distant pour s’en servir lors de la génération de la liste
des fichiers sur le serveur distant.
➢ Le module convert_time qui prend en entrée le fichier all_files_list_dist pour
convertir les dates et heures de modification des fichiers distants aux dates et heures
de modification des fichiers locaux. Ce traitement est nécessaire lorsque les deux
serveurs, local et distant, n’appartiennent pas au même fuseau horaire, ce qui est le cas
pour nous, pour pouvoir ensuite effectuer la comparaison correctement.
➢ Les modules clean et clean_dist qui ont pour rôle d’effacer tout fichier tampon utilisé
au cours de l’exécution de l’application.
VIII- Conception détaillée
Stage d’Eté 10
Ecole Nationale des Sciences de l’Informatique GL Trade
Une fois tous les modules et les étapes définis, il est temps de se concentrer maintenant
sur chaque module indépendamment.
Au début, ce sont les modules principaux qui seront décrits c'est-à-dire ceux qui
correspondent aux cinq étapes décrites auparavant.
Une fois la liste distante est générée, le module dist_to_loc se charge de son transfert du
serveur distant vers le serveur local en prenant comme paramètres l’emplacement de ce fichier
sur le serveur distant et l’emplacement où il doit être stocké sur le serveur local.
Jusqu’ici les étapes terminées sont les deux premières. Celle qui vient juste après est la
génération de la liste des fichiers sur le serveur local et c’est le module gen_all_files_list qui
assure cette tâche comme mentionné auparavant.
Maintenant que les deux fichiers, la liste des fichiers sur le serveur local et la liste des
fichiers sur le serveur distant, sont à notre disposition, la comparaison peut être effectuée via
le module compare_files qui prend comme paramètres les deux listes : le premier paramètre
est le fichier local, le deuxième est le fichier distant (l’ordre est très important pour la fiabilité
des résultats). La comparaison entre les fichiers se base sur leurs dates de modification. Le
Stage d’Eté 11
Ecole Nationale des Sciences de l’Informatique GL Trade
test se fait tout d'abord sur les années, les mois, puis les jours, ensuite les heures et enfin les
minutes pour déterminer si un fichier du serveur distant est plus récent que son homologue sur
le serveur local. Le produit de ce module est le fichier MAJ_OUTPUT_FILE qui contient
les fichiers existants sur le serveur distant et qui sont plus récents que ceux existants sur le
serveur local ou encore les fichiers qui existent sur le serveur distant et non sur le serveur
local.
La dernière étape est donc le téléchargement des mises à jour. C’est le module
maj_download qui assure ce traitement. Ceci consiste à télécharger chaque fichier présent
dans le fichier MAJ_OUTOUT_FILE et le placer dans le répertoire équivalent du serveur
local à celui où il était placé sur le serveur distant, par exemple si un fichier était placé dans le
répertoire RIMS_COM sur le serveur distant, il doit aussi être placé dans le répertoire
RIMS_COM sur le serveur local. Ce module fait appelle à un autre, dist_to_loc, qui assure le
transfert d’un fichier du serveur distant vers le serveur local. Ce module prend comme
paramètres la source du fichier à télécharger et la destination où il doit être stocké.
Ainsi les grandes lignes sont tracées et reste à décrire les autres modules
supplémentaires.
module : le fichier à convertir (celui téléchargé du serveur distant) et le fichier avec les dates
convertit dans l’heure du serveur local.
Enfin, les deux modules clean et clean_dist sont responsable d’enlever tous les fichiers
qui ont servi lors de la synchronisation : clean pour le nettoyage au niveau du serveur local,
clean_dist au niveau du serveur distant.
Bien qu’une description détaillée de tous les modules soit fournie, il reste encore à fixer
quelques choix concernant le protocole de connexion, la méthode d’authentification et le
protocole de transfert de fichiers qui sont primordiaux pour le développement de l’application.
Pour SSH, il existe deux méthodes d’authentification : authentification par mot de passe
ou authentification par clés symétriques.
Pour la première méthode, lors de la connexion, l’utilisateur est invité à entrer un mot
de passe qui est transmis au serveur, qui le compare à une empreinte du mot de passe associé
à l'utilisateur. Le mot de passe en clair est encapsulé dans une communication secrète, et
devient «inviolable» sur le réseau.
Pour l’authentification par clés symétriques, il y a trois étapes principales pour établir
une connexion et qui sont [Net1]:
➢ Génération de «bi-clé asymétrique» (c'est à dire un couple clé-privée/clé-publique)
sur une machine, en général la machine cliente. Cette bi-clé est stockée dans un sous-
répertoire (par exemple ~/.ssh avec OpenSSH) de l'utilisateur.
➢ Copie de la clé publique sur la machine serveur sur laquelle on souhaite pouvoir
utiliser cette authentification. Cela consiste à ajouter la ligne correspondant à la clé
Stage d’Eté 13
Ecole Nationale des Sciences de l’Informatique GL Trade
publique présente dans le répertoire où elle a été générée (par exemple, le contenu du
fichier ~/.ssh/id_dsa.pub) dans un fichier du serveur situé dans le répertoire de
l'utilisateur (par exemple ~/.ssh avec OpenSSH). Le nom de ce fichier dépend de la
version de SSH mais se nomme souvent authorized_keys ou authorization.
➢ Entrée de la «passphrase» au moment de la séquence de connexion. Afin
d'automatiser l'entrée de la «passphrase», il est possible d'utiliser un utilitaire
permettant de ne la rentrer qu'une seule fois par session locale : ssh-agent.
FTP ou File Transfer Protocol a été utilisé pendant de nombreuses années en tant que
principale méthode pour transférer des fichiers d'un ordinateur à un autre. Les clients FTP et
les serveurs sont très largement disponibles. Toutefois, il existe des problèmes de sécurité
avec FTP. Quand vous établissez une connexion FTP, votre mot de passe sur le système
distant est transmis sans aucune forme de cryptage. FTP n’est donc généralement pas
recommandé.
L’alternative sécurisée de FTP est SFTP (un peu comme FTP, avec un peu moins de
fonctionnalités mais encore plus sécurisé) et SCP (Secure Copy), sauf que ces deux protocoles
offrent différents avantages.
Suite à l’établissement d’une connexion via SFTP, l’utilisateur peut effectuer une série
d’opération (y compris plusieurs qui ne sont pas réellement des transferts, tels que lister le
contenu d’un répertoire ou même la suppression de fichiers sur le système distant). Avec SCP,
une seule commande permet de transférer un fichier ou un groupe de fichiers, mais pour lister
par exemple les fichiers d’un répertoire sur le système distant, il faudrait y procéder en
utilisant une session SSH indépendante [Net2].
Stage d’Eté 14
Ecole Nationale des Sciences de l’Informatique GL Trade
Or, selon les étapes décrites auparavant, le transfert de fichiers est indépendant de tout
autre traitement, et toute opération autre que le transfert de fichiers sur le serveur distant est
assurée par SSH, ce qui nous mène à choisir SCP qui a l’avantage de transférer un groupe de
fichier ce qui n’est pas le cas avec SFTP.
IX- Conclusion
Dans ce chapitre nous avons détaillé la conception de notre application et des différents
modules qui la forment. Et maintenant, après avoir détaillé la conception, fixé le protocole et
la méthode de connexion ainsi que le protocole de transfert, nous allons passer au chapitre
suivant qui traite la phase de réalisation.
Stage d’Eté 15
Ecole Nationale des Sciences de l’Informatique GL Trade
Chapitre4: Réalisation
Dans ce chapitre, nous présentons le travail réalisé, le choix de la plateforme utilisé ainsi que
l’environnement de développement et les différentes techniques utilisées pour le codage de la
solution.
I- L’environnement de développement
1. Environnement matériel :
La mise en place de mon application est faite sur une machine qui a les caractéristiques
suivantes :
➢ Processeur Intel Pentium 4 avec une fréquence d’horloge de 3.06GHz.
➢ Mémoire vive de taille 1 Go.
➢ Disque dur de capacité 80Go.
➢ Ecran 17 pouces.
2. Environnement logiciel
De nouvelles versions de RHEL sont livrées tous les 18 à 24 mois. Quand Red Hat fournit une
nouvelle version de RHEL, les clients peuvent mettre à jour leur version gratuitement à condition
d'avoir un abonnement en cours.
Toutefois, les restrictions sur la marque déposée ne permettent pas la copie et la redistribution
de la distribution complète [Net3].
Stage d’Eté 16
Ecole Nationale des Sciences de l’Informatique GL Trade
2.2.Shell Unix
Pour parvenir à bien développer cette application, c’est le Shell Unix qui sera utilisé vu la
variété des commandes qu’il offre.
[http://www.commentcamarche.net/linux/linshell.php3]
L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où
son nom anglais «shell», qui signifie «coquille».
Le shell est ainsi chargé de faire l'intermédiaire entre le système d'exploitation et l'utilisateur
grâce aux lignes de commandes saisies par ce dernier. Son rôle consiste ainsi à lire la ligne de
commande, interpréter sa signification, exécuter la commande, puis retourner le résultat sur les
sorties.
Le shell est ainsi un fichier exécutable chargé d'interpréter les commandes, de les transmettre
au système et de retourner le résultat. Il existe plusieurs shells, les plus courants étant sh (appelé
«Bourne shell»), bash («Bourne again shell»), csh («C Shell»), Tcsh («Tenex C shell»), ksh («Korn
shell») et zsh («Zero shell»). Leur nom correspond généralement au nom de l'exécutable.
Chaque utilisateur possède un shell par défaut, qui sera lancé à l'ouverture d'une invite de
commande. Le shell par défaut est précisé dans le fichier de configuration /etc/passwd dans le
dernier champ de la ligne correspondant à l'utilisateur. Il est possible de changer de shell dans une
session en exécutant tout simplement le fichier exécutable correspondant, par exemple : /bin/bash
[Net4].
Un autre type de scripts Shell a été utilisé lors de la phase de développement : ce sont les
scripts utilisant Expect.
[Translation basée sur le man de linux (man expect)]
Expect est un programme qui "parle" à d'autres programmes interactifs selon un script.
Suivant ce dernier, Expectsait à quoi s'attendre d'un programme et ce que la bonne réponse devrait
être. Un langage interprété prévoit des structures de branchement et de contrôle de haut niveau
pour diriger le dialogue. En outre, l'utilisateur peut prendre le contrôle et interagir directement à la
demande, et après, rendre le contrôle au script. Expect est basée sur TCL.
Stage d’Eté 17
Ecole Nationale des Sciences de l’Informatique GL Trade
En général, Expect est utile pour faire fonctionner n'importe quel programme qui requiert une
interaction entre le programme et l'utilisateur. Ce qui est important est que l'interaction peut être
caractérisée par programmation. Expect peut également rendre le contrôle à l'utilisateur (sans
arrêter le programme étant contrôlé) s'il le souhaite. De même, l'utilisateur peut redonner le contrôle
au script à tout moment (Cette partie est à la base une traduction du manuel de expect sous Linux).
La commande expect est l’opposé de send. Elle attend une réponse qui provient
habituellement d’un processus. La commande expect peut s’attendre à une chaîne bien spécifique,
mais plus souvent expect est utilisée pour s’attendre à toute chaîne qui correspond à un motif donné.
Stage d’Eté 18
Ecole Nationale des Sciences de l’Informatique GL Trade
Dans cet exemple, la commande scp est lancée. Le système renvoie une chaîne se terminant
par « password : ». Ensuite, il y a envoie du mot de passe au système qui après vérification, renvoie
le prompt.
2.4.Cron et Crontab
➢ Cron
Cron est le nom d'un programme qui permet aux utilisateurs des systèmes Unix d'exécuter
automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à
l'avance, ou selon un cycle défini à l'avance. Le nom est dérivé du grec chronos (χρόνος), signifiant
le temps.
Il s'agit d'une fonctionnalité très utile pour des tâches routinières d'administration système,
mais elle peut très bien être exploitée pour tout autre chose. Par exemple, on peut demander à cron
Stage d’Eté 19
Ecole Nationale des Sciences de l’Informatique GL Trade
de jouer tel fichier mp3 tous les jours à sept heures sauf le samedi et le dimanche afin de se réveiller
en musique.
Cron est un démon (daemon), ce qui ─ dans le jargon Unix ─ désigne un programme qu'on ne
lance qu'une seule fois après le démarrage de l'ordinateur et qui reste en tâche de fond en attendant
qu'on ait besoin de lui. Le démon cron (crond) attend ainsi jusqu'au moment spécifié dans le fichier
de configuration (que l'on appelle la crontab) puis effectue l'action correspondante et se rendort
jusqu'à l'événement suivant.
Le démon cron est lancé par le compte root. Si on le tue (par la commande kill), il est
automatiquement relancé par le système [Net6].
➢ Crontab
Crontab est le nom du programme sous Unix (ou Linux) qui permet d'éditer des tables de
configuration du programme cron. La commande crontab édite en fait un fichier relatif à
l'utilisateur qui l'exécute, et en vérifie la syntaxe. Ce fichier se situe dans l'arborescence /var, par
exemple :
/var/spool/cron/crontabs/utilisateur (AIX, HP-UX, Debian GNU/Linux et Ubuntu)
/var/spool/cron/tabs/utilisateur (SuSE GNU/Linux)
/var/cron/tabs/utilisateur (FreeBSD et OpenBSD)
Ainsi pour l'utilisateur root sur une machine Debian, la table cron sera stockée dans :
/var/spool/cron/crontabs/root
Certains systèmes Linux (SuSE, Debian, RedHat) disposent en plus d'une crontab centralisée
dans /etc/crontab. Sur SuSE, on trouve également /etc/cron.d, /etc/cron.hourly, /etc/cron.daily,
/etc/cron.weekly et /etc/cron.monthly [Net7].
Pour lancer crontab et configurer crond, il suffit de taper : crontab -e et on tombe sur un écran
vi. Les paramètres sont pris en compte dès que l'on quitte vi. Les lignes de crontab sont de deux
genres : des commandes cron qui sont les commandes système à exécuter et à quel moment, et des
(re)définitions de variables d'environnement. On donne ligne par ligne les commandes à exécuter.
Les lignes ont le format suivant :
moment commande
Les commandes sont tout simplement celle que l'utilisateur taperait s'il les exécutait lui-même.
Stage d’Eté 20
Ecole Nationale des Sciences de l’Informatique GL Trade
Chaque champ est séparé par un espace et plusieurs éléments du même type sont séparés par
des virgules (sans espace). Exemple sous Linux :
0,10,20,30,40,50 * 1 * 7 /usr/bin/test
Cette ligne signifie : "exécute /usr/bin/test toutes les 0, 10, 20... minutes de toutes les heures du
premier jour de chaque mois qui doit être un lundi (tous les ans)...". La combinaison est assez
étrange de par son sens, mais c'est relativement puissant. Le principe en gros est de ne paramétrer
que les éléments qui sont intéressants et de mettre une * pour les autres. Pour lancer test toutes les
minutes, il suffit de taper :
* * * * * /usr/bin/test
La plus petite fréquence avec laquelle on exécute une commande est donc de 1 minute.
Les lignes de crontab permettent aussi de (re)définir des variables d'environnement pour
l'exécution des commandes cron. Cela se fait très simplement :
VARIABLE=VALEUR
Le shell utilisé sous Red Hat Entreprise Linux est bash (Bourne Again Shell). Pour que les
variables d’environnement définies dans le chapitre précédent soient prises en compte à chaque fois
qu’on lance le terminal ou qu’on exécute un script, elles ont été définies dans le fichier
$HOME/.bashrc, sauf que ce fichier n’est pas lu avant l'exécution des commandes par cron. Cela
Stage d’Eté 21
Ecole Nationale des Sciences de l’Informatique GL Trade
peut entraîner des comportements étranges des scripts et difficiles à comprendre. Pour résoudre le
problème, il faut sourcer ce fichier avant de lancer la commande. Par exemple [Net8]:
* * * * * . $HOME/.bashrc; /usr/bin/test
X- Tests et validation
Plusieurs tests ont été effectués pour vérifier le bon fonctionnement de notre application en ce
qui concerne la génération des listes de fichiers, ainsi qu’à la connexion au serveur distant et le
transfert de fichiers entre les deux serveurs. D’autres tests ont porté aussi sur le lancement
automatique et le bon fonctionnement du programme cron.
XI- Chronogramme du projet
La figure ci-dessous représente les durées des différentes tâches effectuées pendant ce projet
durant la période de sept semaines.
N°Semaine 1 2 3 4 5 6 7
Documentation
Spécification
conception
réalisation
Test et validation
Rédaction du rapport
Stage d’Eté 22
Ecole Nationale des Sciences de l’Informatique GL Trade
XII- Conclusion
Suite à la présentation de ces outils et ces notions qui permettrons de mieux comprendre le
fonctionnement de l’application, nous allons maintenant entamer la phase d’analyse et spécification.
Stage d’Eté 23
Ecole Nationale des Sciences de l’Informatique GL Trade
Conclusion générale
Ce projet a été une bonne occasion pour approfondir pour mettre en pratique mes
connaissances concernant le système d’exploitation Linux et de les approfondir encore plus en
exploitant d’autres techniques et outils de développement tels que la manipulation des crontab et
l’utilisation du programme expect.
D’autre part, ce projet a constitué une bonne occasion d’intégrer le milieu professionnel
puisqu’il représente ma première expérience au sein d’un établissement professionnel autre que
l’ENSI ce qui m’a fait découvrir davantage le travail au sein d’un groupe.
Enfin, l’application réalisée reste un point de départ qui laisse des grandes possibilités
d’extension et d’amélioration surtout pour généraliser son fonctionnement aux serveurs de toutes les
filiales de GL Trade et ne plus se contenter de l’employer entre le serveur de Londres et celui de
Tunis seulement.
Stage d’Eté 24
Ecole Nationale des Sciences de l’Informatique GL Trade
Neto graphie
[Net1] http://virologie.free.fr/documents/openSSH/ssh_introduction.html
[Net2] http://www.cam.ac.uk/cs/filetransfer/compare.html
[Net3]http://fr.wikipedia.org/wiki/Red_Hat_Enterprise_Linux
[Net4]http://www.commentcamarche.net/linux/linshell.php3
[Net5] http://oreilly.com/catalog/expect/chapter/ch03.html
[Net6] http://fr.wikipedia.org/wiki/Cron
[Net7] http://fr.wikipedia.org/wiki/Crontab
[Net8] http://www.themanualpage.org/unix/cron.php
Stage d’Eté 25
Ecole Nationale des Sciences de l’Informatique GL Trade
INTRODUCTION.................................................................. ........1
I- Introduction.............................................................................................2
IV- Conclusion............................................................................................4
IV- Conclusion............................................................................................7
I- Conception générale................................................................................8
III- Conclusion..........................................................................................15
I- L’environnement de développement........................................................16
1. Environnement matériel :........................................................................... ............16
2. Environnement logiciel............................................................................ ...............16
2.1. Red Hat Entreprise Linux............................................................. ....................16
2.2. Shell Unix............................................................................. ...........................17
2.3. Shell utilisant Expect.................................................................... ...................17
Stage d’Eté 26
Ecole Nationale des Sciences de l’Informatique GL Trade
IV- Conclusion..........................................................................................23
Stage d’Eté 27
Ecole Nationale des Sciences de l’Informatique GL Trade
Stage d’Eté 28