Découvrez la préface du hors-série consacré aux scripts shell !

Avec le succès de Linux et le besoin croissant d’automatisation dans la gestion de systèmes informatiques – en particulier le fameux « Cloud » – l’utilisation de scripts « Shell », que certains auraient bien aimé voir décroître ou même complètement disparaître, est, au contraire, encore plus d’actualité aujourd’hui. Qu’il s’agisse d’automatiser des tâches répétitives, de concevoir des installations de logiciels ou systèmes entièrement automatisés – ou même simplement de créer des procédures fiables pour exécuter des tâches récurrentes, les scripts « Shell » font encore partie du paysage aujourd’hui. Néanmoins, leur apprentissage n’est pas toujours systématique dans les filières de formation professionnelle, et les concepts inhérents aux mécanismes d’interprétation et à la syntaxe du « Shell » laissent souvent perplexes les développeurs (plus habitués au paradigme de la programmation procédurale, objet ou même fonctionnelle) comme les administrateurs de systèmes (qui, de leur côté, sont simplement moins habitués à la programmation en général).

Ainsi, pour de nombreux utilisateurs et concepteurs de scripts « Shell », l’outil reste souvent cryptique, et de nombreux scripts sont donc de fait souvent mal conçus, mais aussi parfois remplacés par d’autres technologies, plus familières, mais au final beaucoup moins adaptées. À titre d’anecdote, un de mes collègues développeur Java, a émis il y a un peu la possibilité de remplacer les scripts « Shell » de lancement d’un de nos produits Java par un (autre) programme Java, dans le but de supprimer ces derniers. L’idée, assez absconse, venait surtout d’un manque de connaissances de la syntaxe et des capacités du « Shell », et d’une impression que le « Shell » est « compliqué » et surtout peu fiable.

C’est loin d’être le cas ! Le « Shell », lorsque l’on en comprend bien les mécanismes, est au contraire un langage complet, puissant, mais disposant aussi de tout ce qui est nécessaire pour réaliser des scripts fiables. C’est donc tout l’enjeu de ce hors-série : présenter à son lecteur, de manière très complète et didactique, les mécanismes de contrôle et les bonnes pratiques. Ceci pour s’assurer que le lecteur, à l’issue de ce hors-série, se sente confiant dans sa maîtrise du langage, mais dispose aussi de tous les outils nécessaires pour réaliser des scripts efficaces, mais aussi robustes… Et tout cela en seulement quelques heures ! 🙂

Romain Pelisse

Remerciements

Ma formation à « Unix » et à la programmation « Shell » doit beaucoup à l’excellent cours que donnait M. Sylvain Baudry, à l’ESME Sudria [1], dans le cadre des enseignements délivrés par le département informatique mené par M. Jean-Pierre Petit. Je souhaite donc tout naturellement leur dédier, à tous les deux, ce hors-série.

En outre, il est important de signaler au lecteur que le « polycopié » de M.Sylvain Baudry, un ouvrage très complet, entièrement en français, a été publié [2], sous une licence « GNU General Public License v2», et peut être librement téléchargé (au format PDF) ou consulté en ligne. Il forme une excellente référence complémentaire pour le lecteur.

Et, le lecteur déjà confirmé, et amateur de LaTeX est bien sûr invité à contribuer au projet… 🙂

[1] ESME Sudria : http://www.esme.fr/

[2] Le projet « Unix Initiation » sur GitHub : https://github.com/belaran/free-docs/

Laisser un commentaire