12,90 € TTC
p. 08 Écrivez votre premier script « Shell »
p. 44 Utilisez les structures de contrôle et autres mécanismes de la programmation « Shell »
p. 76 Gérez vos processus et sous-processus
p. 90 Découvrez les fonctionnalités avancées du « Bash » et les bonnes pratiques
p. 112 Mise en pratique : réalisation d’un outil de contrôle de qualité de 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
Relecture par Pauline Durand-Mabire
RemerciementsMa 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/ |
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
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.
Avant-dernier article de notre étude de la programmation « Shell » - nous avons déjà couvert beaucoup de terrain, mais il nous reste encore un sujet essentiel et complexe à aborder : la gestion et l’utilisation des processus.
Dernier article de notre étude - arrivés à ce stade, la prise en main de la programmation « Shell » est plus que bien avancée. Prenons maintenant quelques instants pour discuter de bonnes pratiques et de techniques avancées de programmation qui pourraient se révéler très pratiques...