SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                              Cycle ingénieur Logiciel et Système Informatique




Projet de Fin de Module
                               PROGRAMMATION SYSTEME




    LSI-SHELL
Réalisé par :                                             Proposé par :

ASSAOUY Samia.

LASRI Ayyoub.                                                      Dr. El AMRANI Chaker.

ZIANE Bilal.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                                             Cycle ingénieur Logiciel et Système Informatique




Sommaire

INTRODUCTION ............................................................................................................................................. 4


CONTEXTE DU PROJET .................................................................................................................................. 5


   Analyse du besoin : ................................................................................................................................... 5
   L’Object du projet : ................................................................................................................................... 5
   Technologies et langage :.......................................................................................................................... 5


CARACTERISTIQUES GENERALE DU SYSTEME UNIX ...................................................................................... 6


   Evolution : ................................................................................................................................................. 6
   Philosophie :.............................................................................................................................................. 7
   Caractéristiques : ...................................................................................................................................... 7
   Le Noyau : ................................................................................................................................................. 8
   Le SHELL : .................................................................................................................................................. 9
   Différentes SHELL : .................................................................................................................................... 9


UTILISATION DU SHELL................................................................................................................................ 10


   Introduction : .......................................................................................................................................... 10
       -      SHELL ? ........................................................................................................................................ 10
       -      Utilisateurs ? ............................................................................................................................... 11
   Fonctionnement du SHELL: ..................................................................................................................... 12
   Mécanisme d’interprétation du SHELL : ................................................................................................. 12
       -      Définition : .................................................................................................................................. 12
       -      PROMPT : .................................................................................................................................... 12
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                                             Cycle ingénieur Logiciel et Système Informatique


       -      Rechercher la commande : ......................................................................................................... 13
       -      Exécution d’une Commande : ..................................................................................................... 13
       -      Redirection : ................................................................................................................................ 14
       -      Lancement en arrière plan : ........................................................................................................ 14




CONCEPTION ET ANALYSE........................................................................................................................... 15


   Analyse fonctionnelle :............................................................................................................................ 15
   -       Spécifications : ................................................................................................................................ 15
       -      Acteurs : ...................................................................................................................................... 15
   Analyse Organique : ................................................................................................................................ 15
       -      Spécification des Classes : ........................................................................................................... 15


MISE EN ŒUVRE ET IMPLEMENTATION ..................................................................................................... 16


   Technologies utilisés : ............................................................................................................................. 16
   Détails sur les fonctions prédéfinis utilisés : ........................................................................................... 16
   Détails sur les fonctions implémentés : .................................................................................................. 18


CONCLUSION............................................................................................................................................... 20
Captures d’écran: ........................................................................................................................................ 22
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                         Cycle ingénieur Logiciel et Système Informatique




INTRODUCTION


Interpréteur de commandes des Systèmes GNU/LINUX SHELL est devenu pour
les administrateurs système, un outil incontournable.
Ce rapport présente une description du projet de fin de module programmation
système un SHEL personnalisé.
Dans ce cadre, nous tenons à donner une présentation de l’environnement
GNU/LINUX, ses caractéristiques et son noyau en expliquant la communication
entre l’utilisateur et le système (gérée par le noyau) via l’interpréteur des
commandes le SHELL.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique




CONTEXTE DU PROJET



Analyse du besoin :

  Notre premier travail a consisté à bien analyser le sujet avant de se lancer dans
l’implémentation.

Nous avons, dans un premier temps, commencé par étudier le SHELL GNU/Linux
pour récolter le maximum d’informations possibles.



L’Object du projet :

L’objet de notre projet c’est la réalisation d’un SHELL personnalisé, qui offre les
fonctionnalités suivantes :

    Attendre jusqu’à ce que l’utilisateur fournis une commande valide.
    Interprétation des commandes.
    Communication entre les différentes commandes via les tubes de
     communication.
    Redirection des entrées et des sortie de l’exécution de la commande.



Technologies et langage :

Système d’exploitation :               UBUNTU.

Langage de programmation :            Langage C.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique




CARACTERISTIQUES GENERALE DU SYSTEME UNIX


Evolution :

Le système d’exploitation UNIX a commencé en 1969 aux laboratoires de
recherche en informatique d’AT&T pour répondre aux besoins des ingénieurs de la
société que ken Thompson a écrit le système Unix, un système interactif qui met
l’accent sur les utilitaires de développement logiciels, partage de fichiers.

Le nom UNIX est attribué par opposition au système Multics. La première
évolution interne marquante d’Unix a été sa réécriture ,par Ken Thompson et
Denis Ritchie en langage C, lequel a été inventé pour la cause en 1971. En
1975, le système Unix est distribué aux universités et aux centres de
recherches.

 La principale université qui va travailler sur Unix est l’université de Berkeley, qui
va produire ses propres versions appelées BSD pour Berkeley Software
Distribution.

En 1979, les Bell Labs sortent leur version, la première à être diffusée dans le
monde industriel.

On peut dire qu’elle est à l’origine du développement du marché Unix.

Unix. Plusieurs facteurs vont alors jouer pour canaliser et recentrer l’offre Unix: la
complexité croissante des systèmes et l’action des utilisateurs.

(Sun Microsystems, Digital...) et lui permettre d’entrer dans le monde industriel.

Le début des années 90 est marqué par le regroupement des constructeurs au
sein de deux organisations: l’U.I. (Unix International) créée à partir de
l’accord entre A.T.&T. et Sun Microsystems d’une part et l’O.S.F. D’autre
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique



part. Le premier accord a comme objectif la convergence entre les différentes
versions.



Philosophie :

Conçus à l’origine comme un environnement de développement, Unix est
aujourd’hui un système complet intégrant un grand nombre de fonctionnalités
organisées en couches logicielles. en dehors de cette structure modulaire,
Unix se caractérise également par les concepts introduits en matière de gestion
de fichiers et de gestion des processus.



Caractéristiques :


Unix est le système d'exploitation des grands serveurs par excellence.

Multitâche, multiutilisateur, multiplateforme, réparti et sécurisé.

Ecrit en langage C, permettant ainsi une portabilité sur la plupart des architectures.

Sa popularité est, en fait, due à sa conception modulaire avec des interfaces
bien définies ainsi que la disponibilité d’outils simples qui coexistent entres elles.
Alors que les autres systèmes d’exploitation ressemblent à des ensembles
monoblocs et relativement fermés, la conception du système repose sur
différents niveaux bien distincts: le noyau, un interpréteur de commandes (le
SHELL), des bibliothèques et un nombre important d’utilitaires.

Le système Linux possède notamment les avantages suivants :
   Le support des standards de l'internet, c'est-à-dire des protocoles TCP/IP, la
    famille de protocoles utilisée sur Internet. Il est donc un moyen gratuit de créer
    un réseau local, de se connecter à Internet et de mettre en place un serveur.
   Une sécurité accrue dû à la transparence de son code source et de la réactivité de
    la communauté lors des annonces de vulnérabilités.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique



   Un cloisonnement des espaces mémoire et de l'espace disque couplé à une
    gestion pointue des droits permettant de gérer un grand nombre d'utilisateurs
    avec un niveau de risque minimal.
   Un noyau entièrement configurable en fonction du matériel de la machine sur
    laquelle le système est installé afin de maximiser les performances.




Le Noyau :

Linux est architecturé autour d'un noyau (KERNEL) chargé de prendre en charge
le matériel. On appelle distribution l'assemblage d'un ensemble de logiciels autour
d'un noyau Linux afin de fournir un système clé en main. Le noyau d'une
distribution peut-être mis à jour afin de permettre la prise en compte de matériels
récents, toutefois cette manipulation consistant à recompiler le noyau est délicate
car elle nécessite un certain niveau de connaissance du système et du matériel. La
recompilation du noyau est à réserver aux spécialistes ou bien aux utilisateurs prêts
à rendre inutilisable leur système dans le but d'apprendre.

La plupart des distributions proposent également une installation graphique qui
leur est propre ainsi qu'un système de gestion de paquetages permettant d'installer
automatiquement des logiciels en gérant les dépendances (les logiciels sous Linux
sont parfois liés à des librairies externes ou s'appuient sur d'autres logiciels).
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                               Cycle ingénieur Logiciel et Système Informatique



Chaque distribution possède ses avantages et ses inconvénients. En effet si
certaines sont plus adaptées à des débutants et proposent des interfaces graphiques
évoluées, d'autres privilégient la sécurité ou l'évolutivité. Les distributions les plus
connues sont :
   La distribution RedHat ;
   La distribution Debian ;
   La distribution SuSe ;
   La distribution Knoppix ;
   La distribution Slackware ;
   La distribution Mandriva.




Le SHELL :



        Le SHELL, comme le normalien, ne connaît que deux états :

         le travail ;
         l'inactivité.

     Le SHELL, une fois lancé, est inactif : il attend qu'on lui donne des ordres.
Quand on lui en donne un, il l'exécute ; et quand il a terminé, il retourne à son état
d'inactivité, en attente d'un nouveau commandement.


Différentes SHELL :

Il y a deux familles de SHELL :

         le Bourne-SHELL (sh) :
             o z-SHELL (zsh).
             o Bash.
             o ksh.
             o le c-SHELL (csh) :                  tcsh.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                          Cycle ingénieur Logiciel et Système Informatique




UTILISATION DU SHELL

Introduction :

   - SHELL ?

On parle souvent de Linux en disant que c’est le paradis des fanas de la « ligne de
commandes ». En effet, sous Linux, ou dans tout système Unix, il est tout à fait
possible de gérer le système uniquement avec des commandes écrites par
l’utilisateur ou par un programme, script …

Le SHELL est donc l’interface entre la commande et le noyau linux. C’est en fait
la couche la plus externe du système, celle qui entoure le noyau d’où son nom de
« SHELL » ou « Coquille ». Ainsi, lorsque l’utilisateur tape une commande dans
une console, le SHELL l’interprète et le transmet au noyau Linux. Pour interagir
avec le noyau, il vous faut donc le SHELL et un terminal, une console virtuelle ou
une autre interface graphique.

Pour expliquer ceci autrement, le SHELL est un exécutable capable d’interpréter
les commandes, de les transmettre au noyau et de retourner la réponse. Voici un
schéma qui illustre la place du SHELL dans le système:



On voit que le SHELL est bien à l’interface entre le noyau Linux et l’utilisateur par
le biais d’une console, d’une application ou entre le noyau et une application, un
script.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique




   - Utilisateurs ?


En résumé, à un utilisateur correspond les renseignements suivants:

• un nom de login,

• un mot de passe,

• un iud,

• un ou plusieurs groupes de travail,

• un répertoire HOME,

• un SHELL par défaut.

    L’utilisateur de base:

Il utilise les applicatifs mis à sa disposition, il «customise» les applications, il
possède des droits d’accès traditionnels, il doit veiller à utiliser les ressources
(disques, CPU,...) avec modération afin de ne pas surcharger le système.

    Le programmeur:

Il possède les mêmes droits que l’utilisateur de base, il a en plus la possibilité de
programmer ses propres applications, il utilise donc dans ce cas, les outils de
développement installés sur le système, il a accès aux compilateurs et à
l’interpréteur.

    L’administrateur système:

Il possède les mêmes droits que le programmeur. Son rôle est plus grand: il gère le
système, il possède des droits d’accès étendus (il peut descendre dans toutes
les arborescences de son système), il crée des comptes pour tous les
utilisateurs de son serveur, il veille au bon fonctionnement général du
système, il installe les outils nécessaires à la communauté, il surveille et
régularise la charge du système et des ressources de la machine.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                          Cycle ingénieur Logiciel et Système Informatique



Fonctionnement du SHELL:

    New Line correspond au retour à la ligne (généralement la touche Entrée).




Mécanisme d’interprétation du SHELL :
   - Définition :


Le SHELL est l’interpréteur de commandes, il n’est pas inclus dans le noyau
d’Unix. Quand un utilisateur rentre dans le système, le SHELL par défaut qui lui a
été donné, est automatiquement lancé et toute la session se déroule en fait
dans ce SHELL. Lorsque cet utilisateur tape une commande, le SHELL la lit,
l’interprète et lance son exécution. La ligne tapée peut ne comporter qu’une seule
commande mais peut aussi être complexe.

   - PROMPT :


Le SHELL indique qu’il est prêt à recevoir une nouvelle commande en affichant le
prompt (par défaut «$»). Toute commande se termine par un passage à la
ligne, dans certains cas, le passage à la ligne à une signification particulière
pour la commande tapée et n’est donc pas considéré comme un terminateur de
commande. Dans ce cas, le SHELL affiche le deuxième prompt (par défaut
«>») pour indiquer qu’il attend la suite de la commande.

Il est aussi possible de taper plusieurs commandes sur la même ligne en les
séparant par un «;».
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                          Cycle ingénieur Logiciel et Système Informatique



   - Rechercher la commande :


Si la commande tapée correspond à une commande interne du SHELL, cette
commande est exécutée à l’intérieur de ce SHELL. Sinon, si la commande
correspond à une fonction (cf. partie sur le langage de programmation) elle est elle
aussi exécutée à l’intérieur du SHELL.

Dans tous les autres cas, la commande se réfère à un fichier de l’arborescence. Si le
nom ne comporte pas de caractère «/», le SHELL examine la variable PATH pour
rechercher le répertoire où ce trouve cette commande. Un nouveau SHELL est
alors créé pour exécuter cette commande.

Si la commande est un script SHELL, le SHELL lit toutes les lignes du script et les
exécutent. Si la commande appelle un fichier binaire exécutable, le code et les
données associées du processus du deuxième SHELL sont remplacés par le code et
les données associés à la commande.



   - Exécution d’une Commande :


La première chose c’est de lire la commande, l’analyser si elle est valide, et ensuite
l’exécuter

          Pour exécuter une commande son nom suffit généralement. Cela veut
         dire dans ce cas que c’est une commande interne ou qu’elle est localisable
         dans le chemin d’exécution de l’utilisateur (PATH).

          Dans le cas contraire, il faut :

               donner le chemin absolu de la commande
               ou se trouver dans le répertoire où se trouve la commande
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique



   - Redirection :


Avant de lancer un processus, le SHELL lui attribue trois fichiers:

• Une entrée standard (par défaut le clavier),

• Une sortie standard (par défaut l’écran),

• Une sortie d’erreur standard (par défaut l’écran).

Ces trois directions peuvent être liées à d’autres fichiers que ceux indiqués ci-
dessus grâce aux commandes de redirection. Le SHELL associera donc d’autres
fichiers que le clavier ou l’écran et il lancera ensuite la commande.



   - Lancement en arrière plan :


Lorsqu’on lance une commande, le SHELL attend la fin de l’exécution de cette
dernière avant de redonner la main à l’utilisateur.

Si on ajoute un «&» à la fin de la ligne de commande, le SHELL
n’attends plus la fin de l’exécution de cette commande, il la lance en arrière
plan.

Quand on lance une commande en arrière plan dans un SHELL interactif (c’est à
dire pas dans un Script SHELL), le SHELL renvoie à l’écran le numéro du job
pour le SHELL qui a lancé la commande ainsi que le numéro du processus dans la
table des processus.

Le caractère «&» est un terminateur de commande, il est donc possible de
taper une commande à la suite sans passage à la ligne.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                          Cycle ingénieur Logiciel et Système Informatique




CONCEPTION ET ANALYSE

Analyse fonctionnelle :
   - Spécifications :
    Le SHELL demande la commande en invite de commande ( PROMPT ).
    Le SHELL interprète un ou plusieurs commandes.
    La commande a un ou plusieurs arguments.
    La sortie de l’exécution d’une commande peut être redirigée vers un fichier.
    Communication entre commandes par les pipes.



   - Acteurs :
Utilisateur du SHELL peut exécuter un ou plusieurs commandes.



Analyse Organique :
  - Spécification des Classes :
Une seule classe suffit pour la mise en œuvre, c’est la classe commande.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                          Cycle ingénieur Logiciel et Système Informatique




MISE EN ŒUVRE ET IMPLEMENTATION
Technologies utilisés :

Langage C : un langage interactif, portable, inventé avec UNIX par DENNIS
RITCHIE.



Détails sur les fonctions prédéfinis utilisés :



#include <string.h>

char *strchr (const char *s, int c);
char *strrchr (const char *s, int c);

La fonction strchr() renvoie un pointeur sur la première occurrence du
caractère c dans la chaîne s.


#include <string.h>
char *strtok (char *s, const char *delim);


Un élément lexical (token) est une chaîne non vide de caractères qui
n'appartiennent pas à la chaîne delim, suivie de 0 ou d'un caractère appartenant
à delim.

#include <sys/types.h>
#include <sys/stat.h>
struct stat {
 dev_t st_dev, /* identification du disque logique */
 ino_t st_ino; /* i-nombre du fichier sur ce disque */
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique



 mode_t st_mode, /* type et droits d’accès */
 nlink_t st_nlink; /* nombre de liens physiques (Hard) */
 uid_t st_uid; /* propriétaire du fichier */
 gid_t st_gid; /* groupe propriétaire du fichier */
 off_t st_size; /* tai11e du fichier */
 time_t st_atime; /* date de dernier accès */
 time_t st_mtime ; /* date de dernière modification */
 time_t st_ctime; /* date de dern. modif. du i–noeud */
}
 Contient la définition de la structure stat qui est utilisée pour obtenir les
informations contenues dans le nœud d’un fichier.

char * getenv ( const char * name );


Retourne la valeur des variables d’environnements.

free( <Pointeur> );
libère le bloc de mémoire désigné par le <Pointeur>; n'a pas d'effet si le pointeur a
la valeur zéro.

char *fgets( char *str, int nb, FILE *flux) ;
La fonction fgets() lit jusqu'à nb-1 caractères depuis le fichier flux et stocke le
résultat dans str. La chaîne de caractère produite par fgets() est toujours terminée
par NULL.

#include <assert.h>

void assert( int exp );

assert(expression). Si expression est fausse (ou égale à 0), alors un message
d'erreur est affiché et le programme est arrêté par abort
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique




Détails sur les fonctions implémentés :

Fonction =           void afficherPrompt()

Description :

                 Affiche une prompt pour l’utilisateur : UTILISATEUR @
             CHEMAIN

Fonction =           void lireLaCommande(char* buffer)

Description :

                   Lit l’entrée standard, vide l’entrée si on dépasse la taille du
buffer.Termine à ‘n’.

Fonction =      void remplirLaStructure(char* commandLine, struct
command_t* parsed_command)

Description :

             Prends la ligne de commande séparée par espace.

      Argc Le nombre des arguments.

      Argv Les arguments séparés par espace.



Fonction =           char* commandesPerso(char* cmd,int i)

Description :

      Définition de nos commandes personnalisées.

Fonction =           void passerLePath(char* dirs[])

Description :
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                           Cycle ingénieur Logiciel et Système Informatique


             Affiche les dossiers séparés par le délimiteur ‘ :’




Fonction =           char* chercherLaCommandeDansLesPaths(char* argv[], char*
dir[])

Description :

       Rechercher la commande si existe ou pas, et Vérifie si le fichier ordinaide a
les droit d’exécution.

Fonction =           void lesRedirections(struct command_t* command, struct IO*
fid)

Description :

      Fonction de gestion et détection des redirections.

Fonction = void executerLesCommandes(struct command_t* command, struct
command_t* command2, int pipe_proc)

Description :

      Détermine la manière d’exécution des processus, et gère les pipes si
nécessaire.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                          Cycle ingénieur Logiciel et Système Informatique




CONCLUSION


Notre projet nous a permit de renforcer tout les connaissances que nous avons
acquis dans la programmation système, et nous a donné une occasion bénéfique sur
différents plans technique et technologique.



Cette initiative n’est qu’un début pour plusieurs autres projets beaucoup plus
étendues. Nous espérons que nous étions à la hauteur et que notre effort sera
apprécié.
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

               Cycle ingénieur Logiciel et Système Informatique




ANNEXES
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

                     Cycle ingénieur Logiciel et Système Informatique



Captures d’écran:
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

              Cycle ingénieur Logiciel et Système Informatique
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

              Cycle ingénieur Logiciel et Système Informatique
Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique

              Cycle ingénieur Logiciel et Système Informatique

Weitere ähnliche Inhalte

Was ist angesagt?

Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFEHedi Riahi
 
Copie de exposã© pfe
Copie de exposã© pfeCopie de exposã© pfe
Copie de exposã© pfeRiadh K.
 
Les prix de transfert dans les groupes de sociétés
Les prix de transfert dans les groupes de sociétésLes prix de transfert dans les groupes de sociétés
Les prix de transfert dans les groupes de sociétésFINALIANCE
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobileNader Somrani
 
Présentation pfe Conception et Réalisation application web
Présentation pfe Conception et Réalisation application webPrésentation pfe Conception et Réalisation application web
Présentation pfe Conception et Réalisation application webFaissoilMkavavo
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesSirine Barguaoui
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecomlitayem bechir
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Pfe sadki imen
Pfe sadki imenPfe sadki imen
Pfe sadki imenSadki Imen
 
Présentation finale
Présentation finalePrésentation finale
Présentation finaleheniBa
 
Développement d'une PoC utilisant les blockchains
Développement d'une PoC utilisant les blockchainsDéveloppement d'une PoC utilisant les blockchains
Développement d'une PoC utilisant les blockchainsJuan Luis Jiménez Laredo
 
Exemple de Team building
Exemple de Team building Exemple de Team building
Exemple de Team building Thibault TSIMI
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRouâa Ben Hammouda
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Ramzi Noumairi
 
présentation soutenance PFE
présentation soutenance PFEprésentation soutenance PFE
présentation soutenance PFEHeithem Moumni
 

Was ist angesagt? (20)

Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Présentation
Présentation Présentation
Présentation
 
gestion de projet
gestion de projetgestion de projet
gestion de projet
 
Copie de exposã© pfe
Copie de exposã© pfeCopie de exposã© pfe
Copie de exposã© pfe
 
Les prix de transfert dans les groupes de sociétés
Les prix de transfert dans les groupes de sociétésLes prix de transfert dans les groupes de sociétés
Les prix de transfert dans les groupes de sociétés
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobile
 
Présentation pfe Conception et Réalisation application web
Présentation pfe Conception et Réalisation application webPrésentation pfe Conception et Réalisation application web
Présentation pfe Conception et Réalisation application web
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecom
 
Presentation,PFE
Presentation,PFEPresentation,PFE
Presentation,PFE
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Gimsi
GimsiGimsi
Gimsi
 
Pfe sadki imen
Pfe sadki imenPfe sadki imen
Pfe sadki imen
 
Présentation finale
Présentation finalePrésentation finale
Présentation finale
 
Développement d'une PoC utilisant les blockchains
Développement d'une PoC utilisant les blockchainsDéveloppement d'une PoC utilisant les blockchains
Développement d'une PoC utilisant les blockchains
 
Exemple de Team building
Exemple de Team building Exemple de Team building
Exemple de Team building
 
Rapport de Mémoire Master Recherche
Rapport de Mémoire Master RechercheRapport de Mémoire Master Recherche
Rapport de Mémoire Master Recherche
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
présentation soutenance PFE
présentation soutenance PFEprésentation soutenance PFE
présentation soutenance PFE
 

Andere mochten auch

Prestataires logistique
Prestataires logistique Prestataires logistique
Prestataires logistique sanaejebbour
 
Stratégie d'entreprise - Etude de cas : Décathlon
Stratégie d'entreprise - Etude de cas : DécathlonStratégie d'entreprise - Etude de cas : Décathlon
Stratégie d'entreprise - Etude de cas : DécathlonBenjamin Poisson
 
Conception d'une chaine logistique
Conception d'une chaine logistiqueConception d'une chaine logistique
Conception d'une chaine logistiquelolihinda
 
Catálogo Exposición Más Cuento Que Calleja
Catálogo Exposición Más Cuento Que CallejaCatálogo Exposición Más Cuento Que Calleja
Catálogo Exposición Más Cuento Que Callejacgomezp
 
Les gendarmes de Givors....
Les gendarmes de Givors....Les gendarmes de Givors....
Les gendarmes de Givors....guest678f9f
 
Formation Commerciale
Formation CommercialeFormation Commerciale
Formation Commercialeguest1ba860
 
Importancia Bloque 0
Importancia Bloque 0Importancia Bloque 0
Importancia Bloque 0Pablo Angulo
 
Nostalgia De Sevilla ( P P Tminimizer)
Nostalgia De Sevilla ( P P Tminimizer)Nostalgia De Sevilla ( P P Tminimizer)
Nostalgia De Sevilla ( P P Tminimizer)rafasanlo
 
Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)
Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)
Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)isantisteban
 
Publier sur internet en respectant le droit
Publier sur internet en respectant le droitPublier sur internet en respectant le droit
Publier sur internet en respectant le droitsophiebocquet
 
Libro+Mujeres+Y+Tercer+Sector
Libro+Mujeres+Y+Tercer+SectorLibro+Mujeres+Y+Tercer+Sector
Libro+Mujeres+Y+Tercer+Sectorguestfc2c7
 
Alliance Française de Bâle Programme avril à juin 2015
Alliance Française de Bâle Programme avril à  juin 2015Alliance Française de Bâle Programme avril à  juin 2015
Alliance Française de Bâle Programme avril à juin 2015Bâle Région Mag
 

Andere mochten auch (20)

Prestataires logistique
Prestataires logistique Prestataires logistique
Prestataires logistique
 
Entrepreneuriat féminin au Maroc
Entrepreneuriat féminin au Maroc Entrepreneuriat féminin au Maroc
Entrepreneuriat féminin au Maroc
 
Stratégie d'entreprise - Etude de cas : Décathlon
Stratégie d'entreprise - Etude de cas : DécathlonStratégie d'entreprise - Etude de cas : Décathlon
Stratégie d'entreprise - Etude de cas : Décathlon
 
Externalisation scm
Externalisation scm Externalisation scm
Externalisation scm
 
Conception d'une chaine logistique
Conception d'une chaine logistiqueConception d'une chaine logistique
Conception d'une chaine logistique
 
Catálogo Exposición Más Cuento Que Calleja
Catálogo Exposición Más Cuento Que CallejaCatálogo Exposición Más Cuento Que Calleja
Catálogo Exposición Más Cuento Que Calleja
 
Les gendarmes de Givors....
Les gendarmes de Givors....Les gendarmes de Givors....
Les gendarmes de Givors....
 
Formation Commerciale
Formation CommercialeFormation Commerciale
Formation Commerciale
 
Importancia Bloque 0
Importancia Bloque 0Importancia Bloque 0
Importancia Bloque 0
 
Nano-Or
Nano-OrNano-Or
Nano-Or
 
Nostalgia De Sevilla ( P P Tminimizer)
Nostalgia De Sevilla ( P P Tminimizer)Nostalgia De Sevilla ( P P Tminimizer)
Nostalgia De Sevilla ( P P Tminimizer)
 
Arman
ArmanArman
Arman
 
Actividad Santo Domingo
Actividad Santo DomingoActividad Santo Domingo
Actividad Santo Domingo
 
Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)
Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)
Reduccion De Costes En Tiempos De Crisis (ETEA Nov '08)
 
Publier sur internet en respectant le droit
Publier sur internet en respectant le droitPublier sur internet en respectant le droit
Publier sur internet en respectant le droit
 
Libro+Mujeres+Y+Tercer+Sector
Libro+Mujeres+Y+Tercer+SectorLibro+Mujeres+Y+Tercer+Sector
Libro+Mujeres+Y+Tercer+Sector
 
La Comunicacion
La ComunicacionLa Comunicacion
La Comunicacion
 
Tot Kom9
Tot Kom9Tot Kom9
Tot Kom9
 
Orientation pour ton organisme inscrit sur CanaDon
Orientation pour ton organisme inscrit sur CanaDonOrientation pour ton organisme inscrit sur CanaDon
Orientation pour ton organisme inscrit sur CanaDon
 
Alliance Française de Bâle Programme avril à juin 2015
Alliance Française de Bâle Programme avril à  juin 2015Alliance Française de Bâle Programme avril à  juin 2015
Alliance Française de Bâle Programme avril à juin 2015
 

Ähnlich wie Rapport de projet shell

Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonMohammed TAMALI
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
Ubiquité et intelligence ambiante
Ubiquité et intelligence ambianteUbiquité et intelligence ambiante
Ubiquité et intelligence ambianteSarah
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Emeric Tapachès
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsUniversité de Rennes 1
 
Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007
Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007  Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007
Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007 Nabil Bouzerna
 
Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...Mohamed Ben Bouzid
 
Mémoire fin de cycle1
Mémoire fin de cycle1Mémoire fin de cycle1
Mémoire fin de cycle1Mustafa Bachir
 
Rapport projet UniceBot
Rapport projet UniceBotRapport projet UniceBot
Rapport projet UniceBottheoopparadigm
 
resume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdf
resume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdfresume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdf
resume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdfFootballLovers9
 
Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...
Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...
Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...Abderrahmane Belhimer
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Manuel ns1.3
Manuel ns1.3Manuel ns1.3
Manuel ns1.3thiedia
 

Ähnlich wie Rapport de projet shell (20)

Tpe nguyen tien-thinh
Tpe nguyen tien-thinhTpe nguyen tien-thinh
Tpe nguyen tien-thinh
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
vanderpypendaniel_msc
vanderpypendaniel_mscvanderpypendaniel_msc
vanderpypendaniel_msc
 
Deploy automatic in the cloud
Deploy automatic in the cloudDeploy automatic in the cloud
Deploy automatic in the cloud
 
Ubiquité et intelligence ambiante
Ubiquité et intelligence ambianteUbiquité et intelligence ambiante
Ubiquité et intelligence ambiante
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007
Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007  Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007
Nabil bouzerna - Mémoire d'ingénieur / Master Thesis ENSIIE - ADVESTIGO - 2007
 
Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...Mise en place d'une solution de détection des pirates et des malwares dans le...
Mise en place d'une solution de détection des pirates et des malwares dans le...
 
Fourth year internship report
Fourth year internship reportFourth year internship report
Fourth year internship report
 
Mémoire fin de cycle1
Mémoire fin de cycle1Mémoire fin de cycle1
Mémoire fin de cycle1
 
Rapport projet UniceBot
Rapport projet UniceBotRapport projet UniceBot
Rapport projet UniceBot
 
resume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdf
resume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdfresume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdf
resume-cours-theorique-culture-et-technique-du-numerique-61574f6e0c5c0-1_2.pdf
 
PFE_Report
PFE_ReportPFE_Report
PFE_Report
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatique
 
Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...
Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...
Mémoire de fin d'études. Modules: SI Helpdesk , Gestion Park informatique , B...
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
B1
B1B1
B1
 
Manuel ns1.3
Manuel ns1.3Manuel ns1.3
Manuel ns1.3
 

Mehr von Bilal ZIANE

Seven habits of highly effective people ziane bilal
Seven habits of highly effective people  ziane bilalSeven habits of highly effective people  ziane bilal
Seven habits of highly effective people ziane bilalBilal ZIANE
 
Finger prints presentation opencv
Finger prints presentation opencvFinger prints presentation opencv
Finger prints presentation opencvBilal ZIANE
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingBilal ZIANE
 
Presentation mini shell version1
Presentation mini shell version1Presentation mini shell version1
Presentation mini shell version1Bilal ZIANE
 
Rapport eucalyptus cloud computing
Rapport eucalyptus cloud computingRapport eucalyptus cloud computing
Rapport eucalyptus cloud computingBilal ZIANE
 
Toad lsi ziane bilal
Toad lsi ziane bilalToad lsi ziane bilal
Toad lsi ziane bilalBilal ZIANE
 
Eucalyptus presentation ( LSI cloud computing )
Eucalyptus presentation ( LSI cloud computing )Eucalyptus presentation ( LSI cloud computing )
Eucalyptus presentation ( LSI cloud computing )Bilal ZIANE
 

Mehr von Bilal ZIANE (7)

Seven habits of highly effective people ziane bilal
Seven habits of highly effective people  ziane bilalSeven habits of highly effective people  ziane bilal
Seven habits of highly effective people ziane bilal
 
Finger prints presentation opencv
Finger prints presentation opencvFinger prints presentation opencv
Finger prints presentation opencv
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Presentation mini shell version1
Presentation mini shell version1Presentation mini shell version1
Presentation mini shell version1
 
Rapport eucalyptus cloud computing
Rapport eucalyptus cloud computingRapport eucalyptus cloud computing
Rapport eucalyptus cloud computing
 
Toad lsi ziane bilal
Toad lsi ziane bilalToad lsi ziane bilal
Toad lsi ziane bilal
 
Eucalyptus presentation ( LSI cloud computing )
Eucalyptus presentation ( LSI cloud computing )Eucalyptus presentation ( LSI cloud computing )
Eucalyptus presentation ( LSI cloud computing )
 

Kürzlich hochgeladen

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 37
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 37
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 

Kürzlich hochgeladen (16)

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 

Rapport de projet shell

  • 1. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique Projet de Fin de Module PROGRAMMATION SYSTEME LSI-SHELL Réalisé par : Proposé par : ASSAOUY Samia. LASRI Ayyoub. Dr. El AMRANI Chaker. ZIANE Bilal.
  • 2. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique Sommaire INTRODUCTION ............................................................................................................................................. 4 CONTEXTE DU PROJET .................................................................................................................................. 5 Analyse du besoin : ................................................................................................................................... 5 L’Object du projet : ................................................................................................................................... 5 Technologies et langage :.......................................................................................................................... 5 CARACTERISTIQUES GENERALE DU SYSTEME UNIX ...................................................................................... 6 Evolution : ................................................................................................................................................. 6 Philosophie :.............................................................................................................................................. 7 Caractéristiques : ...................................................................................................................................... 7 Le Noyau : ................................................................................................................................................. 8 Le SHELL : .................................................................................................................................................. 9 Différentes SHELL : .................................................................................................................................... 9 UTILISATION DU SHELL................................................................................................................................ 10 Introduction : .......................................................................................................................................... 10 - SHELL ? ........................................................................................................................................ 10 - Utilisateurs ? ............................................................................................................................... 11 Fonctionnement du SHELL: ..................................................................................................................... 12 Mécanisme d’interprétation du SHELL : ................................................................................................. 12 - Définition : .................................................................................................................................. 12 - PROMPT : .................................................................................................................................... 12
  • 3. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique - Rechercher la commande : ......................................................................................................... 13 - Exécution d’une Commande : ..................................................................................................... 13 - Redirection : ................................................................................................................................ 14 - Lancement en arrière plan : ........................................................................................................ 14 CONCEPTION ET ANALYSE........................................................................................................................... 15 Analyse fonctionnelle :............................................................................................................................ 15 - Spécifications : ................................................................................................................................ 15 - Acteurs : ...................................................................................................................................... 15 Analyse Organique : ................................................................................................................................ 15 - Spécification des Classes : ........................................................................................................... 15 MISE EN ŒUVRE ET IMPLEMENTATION ..................................................................................................... 16 Technologies utilisés : ............................................................................................................................. 16 Détails sur les fonctions prédéfinis utilisés : ........................................................................................... 16 Détails sur les fonctions implémentés : .................................................................................................. 18 CONCLUSION............................................................................................................................................... 20 Captures d’écran: ........................................................................................................................................ 22
  • 4. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique INTRODUCTION Interpréteur de commandes des Systèmes GNU/LINUX SHELL est devenu pour les administrateurs système, un outil incontournable. Ce rapport présente une description du projet de fin de module programmation système un SHEL personnalisé. Dans ce cadre, nous tenons à donner une présentation de l’environnement GNU/LINUX, ses caractéristiques et son noyau en expliquant la communication entre l’utilisateur et le système (gérée par le noyau) via l’interpréteur des commandes le SHELL.
  • 5. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique CONTEXTE DU PROJET Analyse du besoin : Notre premier travail a consisté à bien analyser le sujet avant de se lancer dans l’implémentation. Nous avons, dans un premier temps, commencé par étudier le SHELL GNU/Linux pour récolter le maximum d’informations possibles. L’Object du projet : L’objet de notre projet c’est la réalisation d’un SHELL personnalisé, qui offre les fonctionnalités suivantes :  Attendre jusqu’à ce que l’utilisateur fournis une commande valide.  Interprétation des commandes.  Communication entre les différentes commandes via les tubes de communication.  Redirection des entrées et des sortie de l’exécution de la commande. Technologies et langage : Système d’exploitation : UBUNTU. Langage de programmation : Langage C.
  • 6. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique CARACTERISTIQUES GENERALE DU SYSTEME UNIX Evolution : Le système d’exploitation UNIX a commencé en 1969 aux laboratoires de recherche en informatique d’AT&T pour répondre aux besoins des ingénieurs de la société que ken Thompson a écrit le système Unix, un système interactif qui met l’accent sur les utilitaires de développement logiciels, partage de fichiers. Le nom UNIX est attribué par opposition au système Multics. La première évolution interne marquante d’Unix a été sa réécriture ,par Ken Thompson et Denis Ritchie en langage C, lequel a été inventé pour la cause en 1971. En 1975, le système Unix est distribué aux universités et aux centres de recherches. La principale université qui va travailler sur Unix est l’université de Berkeley, qui va produire ses propres versions appelées BSD pour Berkeley Software Distribution. En 1979, les Bell Labs sortent leur version, la première à être diffusée dans le monde industriel. On peut dire qu’elle est à l’origine du développement du marché Unix. Unix. Plusieurs facteurs vont alors jouer pour canaliser et recentrer l’offre Unix: la complexité croissante des systèmes et l’action des utilisateurs. (Sun Microsystems, Digital...) et lui permettre d’entrer dans le monde industriel. Le début des années 90 est marqué par le regroupement des constructeurs au sein de deux organisations: l’U.I. (Unix International) créée à partir de l’accord entre A.T.&T. et Sun Microsystems d’une part et l’O.S.F. D’autre
  • 7. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique part. Le premier accord a comme objectif la convergence entre les différentes versions. Philosophie : Conçus à l’origine comme un environnement de développement, Unix est aujourd’hui un système complet intégrant un grand nombre de fonctionnalités organisées en couches logicielles. en dehors de cette structure modulaire, Unix se caractérise également par les concepts introduits en matière de gestion de fichiers et de gestion des processus. Caractéristiques : Unix est le système d'exploitation des grands serveurs par excellence. Multitâche, multiutilisateur, multiplateforme, réparti et sécurisé. Ecrit en langage C, permettant ainsi une portabilité sur la plupart des architectures. Sa popularité est, en fait, due à sa conception modulaire avec des interfaces bien définies ainsi que la disponibilité d’outils simples qui coexistent entres elles. Alors que les autres systèmes d’exploitation ressemblent à des ensembles monoblocs et relativement fermés, la conception du système repose sur différents niveaux bien distincts: le noyau, un interpréteur de commandes (le SHELL), des bibliothèques et un nombre important d’utilitaires. Le système Linux possède notamment les avantages suivants :  Le support des standards de l'internet, c'est-à-dire des protocoles TCP/IP, la famille de protocoles utilisée sur Internet. Il est donc un moyen gratuit de créer un réseau local, de se connecter à Internet et de mettre en place un serveur.  Une sécurité accrue dû à la transparence de son code source et de la réactivité de la communauté lors des annonces de vulnérabilités.
  • 8. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique  Un cloisonnement des espaces mémoire et de l'espace disque couplé à une gestion pointue des droits permettant de gérer un grand nombre d'utilisateurs avec un niveau de risque minimal.  Un noyau entièrement configurable en fonction du matériel de la machine sur laquelle le système est installé afin de maximiser les performances. Le Noyau : Linux est architecturé autour d'un noyau (KERNEL) chargé de prendre en charge le matériel. On appelle distribution l'assemblage d'un ensemble de logiciels autour d'un noyau Linux afin de fournir un système clé en main. Le noyau d'une distribution peut-être mis à jour afin de permettre la prise en compte de matériels récents, toutefois cette manipulation consistant à recompiler le noyau est délicate car elle nécessite un certain niveau de connaissance du système et du matériel. La recompilation du noyau est à réserver aux spécialistes ou bien aux utilisateurs prêts à rendre inutilisable leur système dans le but d'apprendre. La plupart des distributions proposent également une installation graphique qui leur est propre ainsi qu'un système de gestion de paquetages permettant d'installer automatiquement des logiciels en gérant les dépendances (les logiciels sous Linux sont parfois liés à des librairies externes ou s'appuient sur d'autres logiciels).
  • 9. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique Chaque distribution possède ses avantages et ses inconvénients. En effet si certaines sont plus adaptées à des débutants et proposent des interfaces graphiques évoluées, d'autres privilégient la sécurité ou l'évolutivité. Les distributions les plus connues sont :  La distribution RedHat ;  La distribution Debian ;  La distribution SuSe ;  La distribution Knoppix ;  La distribution Slackware ;  La distribution Mandriva. Le SHELL : Le SHELL, comme le normalien, ne connaît que deux états :  le travail ;  l'inactivité. Le SHELL, une fois lancé, est inactif : il attend qu'on lui donne des ordres. Quand on lui en donne un, il l'exécute ; et quand il a terminé, il retourne à son état d'inactivité, en attente d'un nouveau commandement. Différentes SHELL : Il y a deux familles de SHELL :  le Bourne-SHELL (sh) : o z-SHELL (zsh). o Bash. o ksh. o le c-SHELL (csh) : tcsh.
  • 10. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique UTILISATION DU SHELL Introduction : - SHELL ? On parle souvent de Linux en disant que c’est le paradis des fanas de la « ligne de commandes ». En effet, sous Linux, ou dans tout système Unix, il est tout à fait possible de gérer le système uniquement avec des commandes écrites par l’utilisateur ou par un programme, script … Le SHELL est donc l’interface entre la commande et le noyau linux. C’est en fait la couche la plus externe du système, celle qui entoure le noyau d’où son nom de « SHELL » ou « Coquille ». Ainsi, lorsque l’utilisateur tape une commande dans une console, le SHELL l’interprète et le transmet au noyau Linux. Pour interagir avec le noyau, il vous faut donc le SHELL et un terminal, une console virtuelle ou une autre interface graphique. Pour expliquer ceci autrement, le SHELL est un exécutable capable d’interpréter les commandes, de les transmettre au noyau et de retourner la réponse. Voici un schéma qui illustre la place du SHELL dans le système: On voit que le SHELL est bien à l’interface entre le noyau Linux et l’utilisateur par le biais d’une console, d’une application ou entre le noyau et une application, un script.
  • 11. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique - Utilisateurs ? En résumé, à un utilisateur correspond les renseignements suivants: • un nom de login, • un mot de passe, • un iud, • un ou plusieurs groupes de travail, • un répertoire HOME, • un SHELL par défaut.  L’utilisateur de base: Il utilise les applicatifs mis à sa disposition, il «customise» les applications, il possède des droits d’accès traditionnels, il doit veiller à utiliser les ressources (disques, CPU,...) avec modération afin de ne pas surcharger le système.  Le programmeur: Il possède les mêmes droits que l’utilisateur de base, il a en plus la possibilité de programmer ses propres applications, il utilise donc dans ce cas, les outils de développement installés sur le système, il a accès aux compilateurs et à l’interpréteur.  L’administrateur système: Il possède les mêmes droits que le programmeur. Son rôle est plus grand: il gère le système, il possède des droits d’accès étendus (il peut descendre dans toutes les arborescences de son système), il crée des comptes pour tous les utilisateurs de son serveur, il veille au bon fonctionnement général du système, il installe les outils nécessaires à la communauté, il surveille et régularise la charge du système et des ressources de la machine.
  • 12. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique Fonctionnement du SHELL: New Line correspond au retour à la ligne (généralement la touche Entrée). Mécanisme d’interprétation du SHELL : - Définition : Le SHELL est l’interpréteur de commandes, il n’est pas inclus dans le noyau d’Unix. Quand un utilisateur rentre dans le système, le SHELL par défaut qui lui a été donné, est automatiquement lancé et toute la session se déroule en fait dans ce SHELL. Lorsque cet utilisateur tape une commande, le SHELL la lit, l’interprète et lance son exécution. La ligne tapée peut ne comporter qu’une seule commande mais peut aussi être complexe. - PROMPT : Le SHELL indique qu’il est prêt à recevoir une nouvelle commande en affichant le prompt (par défaut «$»). Toute commande se termine par un passage à la ligne, dans certains cas, le passage à la ligne à une signification particulière pour la commande tapée et n’est donc pas considéré comme un terminateur de commande. Dans ce cas, le SHELL affiche le deuxième prompt (par défaut «>») pour indiquer qu’il attend la suite de la commande. Il est aussi possible de taper plusieurs commandes sur la même ligne en les séparant par un «;».
  • 13. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique - Rechercher la commande : Si la commande tapée correspond à une commande interne du SHELL, cette commande est exécutée à l’intérieur de ce SHELL. Sinon, si la commande correspond à une fonction (cf. partie sur le langage de programmation) elle est elle aussi exécutée à l’intérieur du SHELL. Dans tous les autres cas, la commande se réfère à un fichier de l’arborescence. Si le nom ne comporte pas de caractère «/», le SHELL examine la variable PATH pour rechercher le répertoire où ce trouve cette commande. Un nouveau SHELL est alors créé pour exécuter cette commande. Si la commande est un script SHELL, le SHELL lit toutes les lignes du script et les exécutent. Si la commande appelle un fichier binaire exécutable, le code et les données associées du processus du deuxième SHELL sont remplacés par le code et les données associés à la commande. - Exécution d’une Commande : La première chose c’est de lire la commande, l’analyser si elle est valide, et ensuite l’exécuter Pour exécuter une commande son nom suffit généralement. Cela veut dire dans ce cas que c’est une commande interne ou qu’elle est localisable dans le chemin d’exécution de l’utilisateur (PATH). Dans le cas contraire, il faut :  donner le chemin absolu de la commande  ou se trouver dans le répertoire où se trouve la commande
  • 14. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique - Redirection : Avant de lancer un processus, le SHELL lui attribue trois fichiers: • Une entrée standard (par défaut le clavier), • Une sortie standard (par défaut l’écran), • Une sortie d’erreur standard (par défaut l’écran). Ces trois directions peuvent être liées à d’autres fichiers que ceux indiqués ci- dessus grâce aux commandes de redirection. Le SHELL associera donc d’autres fichiers que le clavier ou l’écran et il lancera ensuite la commande. - Lancement en arrière plan : Lorsqu’on lance une commande, le SHELL attend la fin de l’exécution de cette dernière avant de redonner la main à l’utilisateur. Si on ajoute un «&» à la fin de la ligne de commande, le SHELL n’attends plus la fin de l’exécution de cette commande, il la lance en arrière plan. Quand on lance une commande en arrière plan dans un SHELL interactif (c’est à dire pas dans un Script SHELL), le SHELL renvoie à l’écran le numéro du job pour le SHELL qui a lancé la commande ainsi que le numéro du processus dans la table des processus. Le caractère «&» est un terminateur de commande, il est donc possible de taper une commande à la suite sans passage à la ligne.
  • 15. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique CONCEPTION ET ANALYSE Analyse fonctionnelle : - Spécifications :  Le SHELL demande la commande en invite de commande ( PROMPT ).  Le SHELL interprète un ou plusieurs commandes.  La commande a un ou plusieurs arguments.  La sortie de l’exécution d’une commande peut être redirigée vers un fichier.  Communication entre commandes par les pipes. - Acteurs : Utilisateur du SHELL peut exécuter un ou plusieurs commandes. Analyse Organique : - Spécification des Classes : Une seule classe suffit pour la mise en œuvre, c’est la classe commande.
  • 16. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique MISE EN ŒUVRE ET IMPLEMENTATION Technologies utilisés : Langage C : un langage interactif, portable, inventé avec UNIX par DENNIS RITCHIE. Détails sur les fonctions prédéfinis utilisés : #include <string.h> char *strchr (const char *s, int c); char *strrchr (const char *s, int c); La fonction strchr() renvoie un pointeur sur la première occurrence du caractère c dans la chaîne s. #include <string.h> char *strtok (char *s, const char *delim); Un élément lexical (token) est une chaîne non vide de caractères qui n'appartiennent pas à la chaîne delim, suivie de 0 ou d'un caractère appartenant à delim. #include <sys/types.h> #include <sys/stat.h> struct stat { dev_t st_dev, /* identification du disque logique */ ino_t st_ino; /* i-nombre du fichier sur ce disque */
  • 17. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique mode_t st_mode, /* type et droits d’accès */ nlink_t st_nlink; /* nombre de liens physiques (Hard) */ uid_t st_uid; /* propriétaire du fichier */ gid_t st_gid; /* groupe propriétaire du fichier */ off_t st_size; /* tai11e du fichier */ time_t st_atime; /* date de dernier accès */ time_t st_mtime ; /* date de dernière modification */ time_t st_ctime; /* date de dern. modif. du i–noeud */ } Contient la définition de la structure stat qui est utilisée pour obtenir les informations contenues dans le nœud d’un fichier. char * getenv ( const char * name ); Retourne la valeur des variables d’environnements. free( <Pointeur> ); libère le bloc de mémoire désigné par le <Pointeur>; n'a pas d'effet si le pointeur a la valeur zéro. char *fgets( char *str, int nb, FILE *flux) ; La fonction fgets() lit jusqu'à nb-1 caractères depuis le fichier flux et stocke le résultat dans str. La chaîne de caractère produite par fgets() est toujours terminée par NULL. #include <assert.h> void assert( int exp ); assert(expression). Si expression est fausse (ou égale à 0), alors un message d'erreur est affiché et le programme est arrêté par abort
  • 18. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique Détails sur les fonctions implémentés : Fonction = void afficherPrompt() Description : Affiche une prompt pour l’utilisateur : UTILISATEUR @ CHEMAIN Fonction = void lireLaCommande(char* buffer) Description : Lit l’entrée standard, vide l’entrée si on dépasse la taille du buffer.Termine à ‘n’. Fonction = void remplirLaStructure(char* commandLine, struct command_t* parsed_command) Description : Prends la ligne de commande séparée par espace. Argc Le nombre des arguments. Argv Les arguments séparés par espace. Fonction = char* commandesPerso(char* cmd,int i) Description : Définition de nos commandes personnalisées. Fonction = void passerLePath(char* dirs[]) Description :
  • 19. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique Affiche les dossiers séparés par le délimiteur ‘ :’ Fonction = char* chercherLaCommandeDansLesPaths(char* argv[], char* dir[]) Description : Rechercher la commande si existe ou pas, et Vérifie si le fichier ordinaide a les droit d’exécution. Fonction = void lesRedirections(struct command_t* command, struct IO* fid) Description : Fonction de gestion et détection des redirections. Fonction = void executerLesCommandes(struct command_t* command, struct command_t* command2, int pipe_proc) Description : Détermine la manière d’exécution des processus, et gère les pipes si nécessaire.
  • 20. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique CONCLUSION Notre projet nous a permit de renforcer tout les connaissances que nous avons acquis dans la programmation système, et nous a donné une occasion bénéfique sur différents plans technique et technologique. Cette initiative n’est qu’un début pour plusieurs autres projets beaucoup plus étendues. Nous espérons que nous étions à la hauteur et que notre effort sera apprécié.
  • 21. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique ANNEXES
  • 22. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique Captures d’écran:
  • 23. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique
  • 24. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique
  • 25. Faculté Des Sciences et Techniques de Tanger - Département Génie Informatique Cycle ingénieur Logiciel et Système Informatique