{"id":353232,"date":"2024-09-04T07:10:33","date_gmt":"2024-09-04T07:10:33","guid":{"rendered":"https:\/\/www.ninjaone.com\/it-hub\/%content_hub_category%\/qu-est-ce-qu-un-shell\/"},"modified":"2024-10-13T14:37:55","modified_gmt":"2024-10-13T14:37:55","slug":"qu-est-ce-qu-un-shell","status":"publish","type":"content_hub","link":"https:\/\/www.ninjaone.com\/fr\/it-hub\/remote-access\/qu-est-ce-qu-un-shell\/","title":{"rendered":"Qu&rsquo;est-ce qu&rsquo;un shell ?"},"content":{"rendered":"<p>Un <strong>shell<\/strong> est un type de programme informatique qui vous permet (l&rsquo;utilisateur) de contr\u00f4ler votre syst\u00e8me d&rsquo;exploitation \u00e0 l&rsquo;aide d&rsquo;une <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-a-command-line-interface-cli\/\" target=\"_blank\" rel=\"noopener\">interface de ligne de commande<\/a> (CLI) ou d&rsquo;une interface utilisateur graphique (GUI). Essentiellement, les shells sont des moyens directs de communiquer avec votre syst\u00e8me d&rsquo;exploitation sur les actions \u00e0 effectuer, g\u00e9n\u00e9ralement par le biais de l&rsquo;automatisation. Ces actions peuvent aller des sauvegardes quotidiennes \u00e0 la surveillance des syst\u00e8mes et des activit\u00e9s, en passant par des audits de routine.<\/p>\n<h2>Comparaison entre un shell et un kernel<\/h2>\n<p>On ne peut parler des shells sans comprendre d&rsquo;abord en quoi ils diff\u00e8rent des kernels. En termes simples, les <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-a-kernel-overview-definition\/\" target=\"_blank\" rel=\"noopener\">kernels<\/a>, ou noyaux d&rsquo;un syst\u00e8me d&rsquo;exploitation, sont les aspects essentiels d&rsquo;un syst\u00e8me d&rsquo;exploitation. Il s&rsquo;agit de la couche primaire entre le mat\u00e9riel informatique et le logiciel, le kernel \u00e9tant responsable de l&rsquo;interaction avec le mat\u00e9riel.<\/p>\n<p>Les shells sont le point de connexion interm\u00e9diaire entre l&rsquo;utilisateur et le kernel. Ils ex\u00e9cutent les commandes \u00e9mises par l&rsquo;utilisateur \u00e0 l&rsquo;intention du noyau en traduisant d&rsquo;abord les commandes de l&rsquo;utilisateur en appels syst\u00e8me qui demandent au noyau d&rsquo;effectuer une t\u00e2che sp\u00e9cifique. C&rsquo;est pourquoi les shells sont parfois appel\u00e9s <em>interpr\u00e9teurs de commandes<\/em> : ils interpr\u00e8tent ce que vous voulez afin que le noyau puisse comprendre ce qu&rsquo;il faut faire ensuite.<\/p>\n<h2>Comment fonctionne un programme shell ?<\/h2>\n<p>Un shell peut \u00eatre un CLI ou un GUI et ne doit pas \u00eatre confondu avec un terminal. Un terminal fournit une invite de commande pour travailler avec un shell, mais le shell lui-m\u00eame utilise des scripts shell pour mettre en place l&rsquo;automatisation. Par exemple, sur un appareil Windows, le terminal par d\u00e9faut s&rsquo;appelle Command Prompt (pour les appareils macOS, il s&rsquo;appelle Terminal), et ressemble \u00e0 ceci :<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-268595 \" src=\"https:\/\/www.ninjaone.com\/wp-content\/uploads\/2024\/10\/image2-6.png\" alt=\"Une invite de commande pour l'article &quot;Qu'est-ce qu'un shell ?&quot;\" width=\"900\" height=\"551\" \/><\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/blog\/how-to-use-windows-command-prompt\/\" target=\"_blank\" rel=\"noopener\">L&rsquo;utilisation de l&rsquo;Invite de commande Windows<\/a> peut \u00eatre relativement simple, et de plus en plus d&rsquo;utilisateurs ont d\u00e9sormais recours \u00e0 <a href=\"https:\/\/www.ninjaone.com\/it-hub\/endpoint-management\/what-is-powershell\/\" target=\"_blank\" rel=\"noopener\">PowerShell<\/a>, un shell de ligne de commande et un langage de script beaucoup plus complets, pour ex\u00e9cuter l&rsquo;action souhait\u00e9e. Gardez \u00e0 l&rsquo;esprit que l&rsquo;Invite de commande <em>n&rsquo;est pas<\/em> un shell mais le terminal dans lequel un shell, tel que PowerShell, peut \u00eatre ex\u00e9cut\u00e9. PowerShell peut ressembler \u00e0 ceci :<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-268607 size-full\" src=\"https:\/\/www.ninjaone.com\/wp-content\/uploads\/2024\/10\/image3-3.png\" alt=\"Qu'est-ce qu'un shell ?\" width=\"1142\" height=\"747\" \/><\/p>\n<p>Comme vous pouvez le constater, il fournit les informations n\u00e9cessaires rapidement et facilement, en fonction de votre commande. PowerShell peut fonctionner sur n&rsquo;importe quel syst\u00e8me d&rsquo;exploitation, bien qu&rsquo;il soit principalement utilis\u00e9 sur les appareils Windows.<\/p>\n\n<p>Il convient de noter que les scripts shell ne sont pas \u00e9tiquet\u00e9s de la m\u00eame mani\u00e8re selon les syst\u00e8mes d&rsquo;exploitation. Par exemple, certains scripts peuvent \u00eatre appel\u00e9s Sh, Bash, csh et tesh. Dans les syst\u00e8mes d&rsquo;exploitation de MV d&rsquo;IBM, ils sont appel\u00e9s EXEC, alors que les scripts shell du DOS sont appel\u00e9s fichiers batch.<\/p>\n<p>Quoi qu&rsquo;il en soit, tous les shells utilisent un terminal pour afficher des commandes lisibles par l&rsquo;homme et effectuer l&rsquo;interaction ou l&rsquo;op\u00e9ration souhait\u00e9e.<\/p>\n<h2>Diff\u00e9rents types de shells<\/h2>\n<h3>Interpr\u00e9teur de commandes Bourne<\/h3>\n<p>L&rsquo;interpr\u00e9teur de commandes Bourne, parfois appel\u00e9 interpr\u00e9teur de commandes Unix d&rsquo;origine et abr\u00e9g\u00e9 en \u00ab\u00a0sh\u00a0\u00bb, a \u00e9t\u00e9 d\u00e9velopp\u00e9 en 1979 par Stephen Bourne. Il contient des fonctionnalit\u00e9s telles que le contr\u00f4le de flux et la gestion am\u00e9lior\u00e9e des cha\u00eenes de caract\u00e8res qui rendent le shell plus facile \u00e0 utiliser et \u00e0 comprendre en tant que langage de programmation. N\u00e9anmoins, le shell est connu pour \u00eatre peu flexible et peu interactif.<\/p>\n<p>Bien qu&rsquo;il ait \u00e9t\u00e9 supplant\u00e9 par le C Shell et le KornShell (entre autres), l&rsquo;interpr\u00e9teur de commandes Bourne reste populaire de nos jours en raison de sa rapidit\u00e9 et de sa compacit\u00e9.<\/p>\n<h3>Ligne de commande (C Shell)<\/h3>\n<p>Le C Shell (\u00ab\u00a0csh\u00a0\u00bb) est un shell de commande pour Unix et les syst\u00e8mes de type Unix. Il a \u00e9t\u00e9 cr\u00e9\u00e9 en 1978 par Berkeley Software Distribution et offre plusieurs am\u00e9liorations par rapport \u00e0 l&rsquo;ancien shell Bourne, en particulier pour une utilisation interactive.<\/p>\n<p>Il peut ressembler \u00e0 ceci :<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-268619 size-full\" src=\"https:\/\/www.ninjaone.com\/wp-content\/uploads\/2024\/10\/image1-1-2.png\" alt=\"Une image des shells Bourne\" width=\"1160\" height=\"594\" \/><\/p>\n<h3>KornShell<\/h3>\n<p>Les laboratoires Bell ont introduit le KornShell (\u00ab\u00a0ksh\u00a0\u00bb) au d\u00e9but des ann\u00e9es 1980. Il comprend de nombreuses fonctionnalit\u00e9s du shell C, mais il est nettement plus rapide. Outre l&rsquo;ex\u00e9cution de scripts Bourne Shell et de fonctions de type C, il int\u00e8gre \u00e9galement des fonctions arithm\u00e9tiques.<\/p>\n<h3>GNU Bourne-Again Shell<\/h3>\n<p>Le Bourne-Again Shell (\u00ab\u00a0bash\u00a0\u00bb), publi\u00e9 en 1989 par Brian Fox pour le projet GNU, est une alternative open-source au Bourne Shell. Il est comparable \u00e0 KornShell et \u00e0 C Shell, mais il comprend des touches fl\u00e9ch\u00e9es automatiquement affect\u00e9es pour une \u00e9dition et un rappel de commandes plus rapides. Bash est d\u00e9sormais consid\u00e9r\u00e9 comme l&rsquo;interpr\u00e9teur de commandes par d\u00e9faut de la plupart des distributions Linux et utilise les <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-bash-scripting\/\" target=\"_blank\" rel=\"noopener\">scripts Bash.<\/a><\/p>\n<h2>Que font les scripts de l&rsquo;interpr\u00e9teur de commandes ?<\/h2>\n<p>Plut\u00f4t que de taper chaque commande manuellement \u00e0 chaque fois que vous avez besoin de faire quelque chose, les shells, gr\u00e2ce \u00e0 leurs scripts, peuvent effectuer plusieurs t\u00e2ches simultan\u00e9ment, telles que les sauvegardes, l&rsquo;ex\u00e9cution de programmes, etc. Ils peuvent \u00e9galement automatiser les t\u00e2ches r\u00e9p\u00e9titives, ce qui r\u00e9duit le risque <a href=\"https:\/\/www.ninjaone.com\/blog\/how-human-error-relates-to-cybersecurity-risks\/\" target=\"_blank\" rel=\"noopener\">d&rsquo;erreur humaine<\/a>, minimise l&rsquo;impact potentiel des <a href=\"https:\/\/www.ninjaone.com\/it-hub\/endpoint-security\/what-is-dirty-data\/\" target=\"_blank\" rel=\"noopener\">dirty data<\/a> et am\u00e9liore consid\u00e9rablement <a href=\"https:\/\/www.ninjaone.com\/fr\/blog\/comment-ameliorer-efficacite-informatique-entreprise\" target=\"_blank\" rel=\"noopener\">l&rsquo;efficacit\u00e9 informatique<\/a>.<\/p>\n<p>Cela dit, les scripts shell ne sont pas con\u00e7us pour des t\u00e2ches complexes ou de grande envergure. De plus, comme pour les langages, il faut un certain temps pour les ma\u00eetriser. Une erreur de syntaxe, par exemple, peut provoquer des erreurs dramatiques, et vous devrez passer en revue chaque commande pour d\u00e9terminer o\u00f9 l&rsquo;erreur s&rsquo;est produite.<\/p>\n<h3>Avantages d&rsquo;un shell<\/h3>\n<p>Un shell peut lib\u00e9rer vos techniciens informatiques pour qu&rsquo;ils se concentrent sur des projets plus strat\u00e9giques. En plus de vous aider \u00e0 effectuer diverses t\u00e2ches, les shells vous permettent \u00e9galement de personnaliser vos propres scripts en fonction de vos objectifs et de vos besoins sp\u00e9cifiques.<\/p>\n<h3>Inconv\u00e9nients d&rsquo;un shell<\/h3>\n<p>Les shells peuvent \u00eatre impitoyables en termes de syntaxe. Une seule erreur peut \u00eatre difficile \u00e0 identifier et co\u00fbteuse \u00e0 long terme. Pour clarifier, la syntaxe de l&rsquo;interpr\u00e9teur de commandes est similaire \u00e0 la syntaxe utilis\u00e9e dans le langage naturel. Il s&rsquo;agit de l&rsquo;ordre des op\u00e9rations et de la fa\u00e7on dont les mots et les phrases sont agenc\u00e9s.<\/p>\n<h2>Les shells pour une meilleure efficacit\u00e9 informatique<\/h2>\n<p>Les shells et, par cons\u00e9quent, leurs scripts ne sont peut-\u00eatre pas la premi\u00e8re chose \u00e0 laquelle vous pensez lorsque vous envisagez la <a href=\"https:\/\/www.ninjaone.com\/fr\/blog\/qu-est-ce-que-la-gestion-des-terminaux\/\" target=\"_blank\" rel=\"noopener\">gestion des terminaux.<\/a> N\u00e9anmoins, les shells jouent un r\u00f4le essentiel dans la mani\u00e8re dont vos techniciens informatiques peuvent automatiser des t\u00e2ches et fournir un meilleur service \u00e0 vous, \u00e0 votre entreprise et \u00e0 vos utilisateurs finaux. S&rsquo;il n&rsquo;est pas n\u00e9cessaire de ma\u00eetriser les shells, il faut tout de m\u00eame en comprendre les bases pour obtenir de meilleurs r\u00e9sultats commerciaux.<\/p>\n","protected":false},"author":152,"featured_media":353233,"parent":0,"template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"","_lmt_disable":""},"hub_categories":[4202],"class_list":["post-353232","content_hub","type-content_hub","status-publish","has-post-thumbnail","hentry","content_hub_category-remote-access"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/content_hub\/353232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/content_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/types\/content_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/users\/152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media\/353233"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/media?parent=353232"}],"wp:term":[{"taxonomy":"content_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/fr\/wp-json\/wp\/v2\/hub_categories?post=353232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}