Livre_silo 30 août 2013 16:32 Page 24
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
24
Informatique pour tous
Suivant les systèmes, il peut s’appuyer sur diverses informations :
• le nom du fichier et tout particulièrement son suffixe. Ainsi, un fichier dont le nom se
termine par .odt sera t-il identifié comme un fichier OpenDocument (le gestionnaire
consulte pour cela une table qui associe un type de fichier à chaque suffixe connu) ;
• le contenu du fichier ;
• le fait que l’utilisateur ait ou non le droit d’exécuter ce fichier ;
• sur certains systèmes (Mac OS X en particulier), les métadonnées associées au fichier
donnant son type.
Une fois le type déterminé, le gestionnaire de fichiers consulte une table (commune à tout
le système ou spécifique au gestionnaire, commune à tous les utilisateurs ou spécifique
à l’utilisateur) indiquant à quelle application est associé ce type de fichier. Il lance alors
l’application, en lui fournissant pour argument (c’est-à-dire comme information supplémentaire) le nom du fichier à ouvrir. Là encore, la situation est exactement la même que
si on avait tapé ooffice nomdufichier dans un shell en mode texte.
SAVOIR-FAIRE Écrire un programme et le lancer
Tout utilisateur peut écrire ses propres programmes. Pour cela, il a trois possibilités :
• Les écrire en langage machine. C’est une tâche ardue car il s’agit d’un langage de
bas niveau dans lequel il est difficile ou au minimum fastidieux d’implanter des
idées un tant soit peu complexes. De plus un tel programme est spécifique à la
machine pour laquelle il a été écrit et risque de ne pas fonctionner sur une autre.
• Utiliser un compilateur. Un programme écrit dans un langage évolué est traduit par
le compilateur pour donner un programme en langage machine.
• Faire appel à un interpréteur d’un langage évolué. Un interpréteur est un programme exécutable qui va lire le texte d’un programme dans un langage évolué
pour l’exécuter pas à pas, sans passer par la phase intermédiaire de compilation.
La compilation demande un traitement préliminaire avant de pouvoir exécuter le
programme que l’on a écrit, mais produit en général des applications efficaces. À
l’inverse, on peut interpréter un programme immédiatement après l’avoir écrit, mais
il aura tendance à s’exécuter moins rapidement.
Le choix entre compilation et interprétation dépend très largement du langage dans
lequel on programme : certains ne proposent qu’une seule des deux possibilités,
d’autres laissent le choix. Il existe même des situations intermédiaires où un programme peut être compilé dans un langage qui est plus proche du langage machine
mais qui doit encore être interprété (on parle de bytecode). Pour des applications écrites
en Python, à l’heure actuelle, on utilise usuellement un interpréteur. Voir en annexe
le TP sur la création de programmes autonomes, section A.1 pour la mise en œuvre
concrète de la compilation ou de l’interprétation d’un programme.
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
24
Informatique pour tous
Suivant les systèmes, il peut s’appuyer sur diverses informations :
• le nom du fichier et tout particulièrement son suffixe. Ainsi, un fichier dont le nom se
termine par .odt sera t-il identifié comme un fichier OpenDocument (le gestionnaire
consulte pour cela une table qui associe un type de fichier à chaque suffixe connu) ;
• le contenu du fichier ;
• le fait que l’utilisateur ait ou non le droit d’exécuter ce fichier ;
• sur certains systèmes (Mac OS X en particulier), les métadonnées associées au fichier
donnant son type.
Une fois le type déterminé, le gestionnaire de fichiers consulte une table (commune à tout
le système ou spécifique au gestionnaire, commune à tous les utilisateurs ou spécifique
à l’utilisateur) indiquant à quelle application est associé ce type de fichier. Il lance alors
l’application, en lui fournissant pour argument (c’est-à-dire comme information supplémentaire) le nom du fichier à ouvrir. Là encore, la situation est exactement la même que
si on avait tapé ooffice nomdufichier dans un shell en mode texte.
SAVOIR-FAIRE Écrire un programme et le lancer
Tout utilisateur peut écrire ses propres programmes. Pour cela, il a trois possibilités :
• Les écrire en langage machine. C’est une tâche ardue car il s’agit d’un langage de
bas niveau dans lequel il est difficile ou au minimum fastidieux d’implanter des
idées un tant soit peu complexes. De plus un tel programme est spécifique à la
machine pour laquelle il a été écrit et risque de ne pas fonctionner sur une autre.
• Utiliser un compilateur. Un programme écrit dans un langage évolué est traduit par
le compilateur pour donner un programme en langage machine.
• Faire appel à un interpréteur d’un langage évolué. Un interpréteur est un programme exécutable qui va lire le texte d’un programme dans un langage évolué
pour l’exécuter pas à pas, sans passer par la phase intermédiaire de compilation.
La compilation demande un traitement préliminaire avant de pouvoir exécuter le
programme que l’on a écrit, mais produit en général des applications efficaces. À
l’inverse, on peut interpréter un programme immédiatement après l’avoir écrit, mais
il aura tendance à s’exécuter moins rapidement.
Le choix entre compilation et interprétation dépend très largement du langage dans
lequel on programme : certains ne proposent qu’une seule des deux possibilités,
d’autres laissent le choix. Il existe même des situations intermédiaires où un programme peut être compilé dans un langage qui est plus proche du langage machine
mais qui doit encore être interprété (on parle de bytecode). Pour des applications écrites
en Python, à l’heure actuelle, on utilise usuellement un interpréteur. Voir en annexe
le TP sur la création de programmes autonomes, section A.1 pour la mise en œuvre
concrète de la compilation ou de l’interprétation d’un programme.
