Introduction
Pourquoi utiliser les scripts ?
Depuis toujours, les administrateurs système utilisent des scripts pour automatiser les tâches fastidieuses. En effet, quoi de plus inintéressant que la répétition d’opérations d’administration telles que la création de comptes utilisateurs, pour ne citer que la plus classique. En revanche, quoi de plus valorisant et enrichissant personnellement que d’écrire un script qui réalisera ces tâches à notre place ?
On pourrait s’imaginer que l’investissement du temps passé à développer un script n’est rentable que si l’on y consacre moins de temps qu’en effectuant les tâches manuellement, mais ceci est une vision restreinte des choses. Et vous allez en comprendre la raison…
Pour reprendre l’exemple cité précédemment, imaginons que nous ayons 200 comptes utilisateurs à créer. Si l’on passe en moyenne cinq minutes par compte (en n’étant ni dérangé par le téléphone, ni par les utilisateurs, ni par une réunion ultra importante planifiée à la dernière minute), il nous faudra environ deux à trois jours à plein temps pour réaliser le travail, sans compter toutes les erreurs qui se seront fatalement immiscées (nom mal orthographié, oubli de créer...
Historique des langages de script
Au commencement de l’histoire de l’informatique, il y avait Unix… Ce système d’exploitation a vu le jour en 1968, et avec lui sont apparus les premiers environnements d’exécution de scripts appelés « shells » (ou « coquilles » en français). En voici quelques-uns, pour ne citer que les plus connus (dans l’ordre chronologique) : Bourne shell (sh), C shell (csh), Korn shell (ksh), Bash shell (le shell bash est un projet GNU initié par la Free Sofware Foundation). On appelle « scripts shell » les scripts développés pour ces environnements. Ils sont aujourd’hui encore largement employés pour l’administration des systèmes Unix/Linux.
Pendant ce temps, Bill Gates développait les premières versions de DOS à Bellevue dans la banlieue de Seattle dont la toute première version s’appelait Q-DOS pour Quick and Dirty Operating System, système d’exploitation réalisé à la va-vite. C’est en 1981 que le MS-DOS fit son apparition dans sa version 1.0 avec les premiers scripts batch (fichiers portant l’extension .bat). Ces derniers étaient (et sont toujours) très limités en termes de fonctionnalités, mais ils sont encore utilisés par les administrateurs de systèmes Windows pour la réalisation de tâches simples.
1987 est l’année du lancement du langage PERL (Practical Extraction and Report Language), développé par Larry Wall, dans sa version 1.0, pour les plates-formes Unix. Ce langage - dont les fonctionnalités ont été empruntées aux scripts shell et au langage C - a pour objectif la manipulation des fichiers, des données et des processus. Il fallut patienter encore dix années afin...
Intérêt des scripts par rapport aux langages de programmation
Un script est un simple fichier texte dans lequel s’enchaînent toutes les instructions qui le composent, à l’image de n’importe quel code source. La différence entre un langage de script et un langage de programmation à proprement parler (comme C/C++, C#, Visual Basic, ou Delphi) tient au fait qu’un script n’est pas compilé, c’est-à-dire qu’il n’est pas transformé en un binaire directement exécutable par la machine, mais qu’il faut obligatoirement un interpréteur de commandes appelé aussi « hôte de script » ou « shell » pour lancer le script.
Un des intérêts majeurs des scripts par rapport aux langages de programmation classiques est qu’il faut peu d’instructions pour arriver à faire la même chose ou des opérations similaires. La syntaxe est généralement simplifiée et la programmation moins contraignante (pas besoin de déclarer les variables, peu de types de données, etc.). De plus, le code source d’un script est toujours accessible.
Pour résumer…
Les scripts permettent :
-
Un gain de temps : ils sont capables de réaliser des tâches complexes et d’être lancés automatiquement par le système, sans intervention humaine. Du fait de leur simplicité, les tâches d’administration s’effectuent plus rapidement. Les scripts font donc gagner un temps considérable aux administrateurs.
-
De limiter les erreurs : un script n’a besoin d’être écrit qu’une seule fois et peut être utilisé un grand nombre de fois. Par conséquent, les risques d’erreurs liés à la réalisation manuelle d’une tâche sont grandement diminués. Les scripts sont donc synonymes de reproductibilité, et de qualité.
-
Plus de flexibilité : les scripts peuvent s’adapter à toutes les situations en intégrant un minimum de logique.