Définition

Dans l’informatique, un script est un ensemble d'instructions plus ou moins court qui permet d’automatiser généralement un processus manuel. L'action d'écrire un script est appelée scripting. Le script est très utilisé dans de nombreux domaines de l’informatique, permettant d’accroître en efficacité et de réduire les erreurs humaines.

Dans le monde professionnel, cette compétence peut être utilisée du côté des systèmes d’exploitation (OS) comme une méthode d’automatisation. Les administrateurs systèmes peuvent automatiser des tâches courantes telles que la gestion des utilisateurs, la surveillance du système ou du déploiement de logiciels. Elle peut également être utilisée du côté serveur Web comme une méthode pour générer des pages dynamiques. Par exemple, un script PHP peut extraire des données d’une base de données et les afficher sous forme de pages HTML. Ou encore du côté navigateur, sous forme d’Applet d’automatisation.

L'importance du scripting est mise en avant dans l'actualité récente dans de très nombreux domaines comme la Cybersécurité avec l’automatisation des tests de vulnérabilités ou la surveillance des réseaux, l’Intelligence Artificiel avec le nettoyage de données et l’entraînement des modèles, le Cloud Computing avec l’automatisation de la gestion et le déploiement des ressources, ...

Exemples concrets

  1.    Automatisation du déploiement de poste Windows - Powershell

Lors de mon stage chez Assurinco, l’un de mes projets consistait à mettre en place un système automatisé de déploiement de postes. Ce projet est né en raison de la croissance rapide du nombre d'employés au sein de l'entreprise, ce qui rendait la configuration des postes de travail redondante.

J’ai donc conçu un script PowerShell permettant l’installation et la mise à jour automatisée de logiciels sur les postes sous Windows. Ce script gère les chemins réseau, vérifie l'existence des fichiers, et copie les applications dans un dossier temporaire avant leur installation.

Une fonction compare les logiciels installés avec les versions cibles afin de déterminer si une mise à jour est nécessaire. Le script assure également une gestion des erreurs et supprime les fichiers temporaires après l’exécution.

Grâce à ce script, nous avons ainsi réduit le temps consacré à l’installation manuelle des logiciels sur chaque poste de travail.

Vous pouvez accéder au projet réalisé en cliquant sur ce lien : ici

  1.     Migration d'une infrastructure IT - Powershell

Ce projet avait pour but la migration des systèmes informatiques des deux entités d’assurance constituant Xplorassur. Le but était d’unifier les systèmes et applications utilisés par les collaborateurs afin de faciliter la maintenance et la gestion des utilisateurs.

Les principales étapes de cette migration étaient, dans un premier temps, de migrer les comptes de 70 utilisateurs sur les différents systèmes sélectionnés. Puis, de migrer les ordinateurs des 70 utilisateurs en installant les outils nécessaires et les systèmes de sécurité imposés par Finaxy. Et enfin, d’améliorer l’infrastructure réseau de l’entité Assurinco Assurance Voyage.

Pour la partie utilisant Powershell, j’ai migré les ordinateurs de chacun des collaborateurs afin qu’ils se trouvent dans le domaine de Finaxy et qu’ils puissent récupérer leur configuration (GPO, disques, ...). Ce script me permettait de configurer l'accès administrateur local, renommer le PC et le joindre au domaine de Finaxy.

Une fois ce script exécuté sur les postes, je devais vérifier si certaines applications étaient déjà installées. Pour faire cela le plus efficacement possible, j'ai créé un second script vérifiant la présence de l'application et si elle avait la version requise.

Enfin, j'ai écrit un troisième script Powershell permettant de désinstaller certaines applications automatiquement, comme Doko Phone (Application softphone utilisée auparavant).

Ce projet est visible depuis ce lien : ici

Autocritique

Actuellement, j’estime avoir atteint un niveau confirmé en scripting grâce à mes années d'études et aux nombreux projets que j'ai réalisés tant dans le cadre de mes études que professionnellement. À l’heure actuelle, j'ai pu développer ma compétence de scripting avec différents langages tels que JavaScript, Bash, PowerShell et Python.

Cependant, je reste conscient qu’il y a toujours des opportunités d’amélioration. Le scripting permettant de faire énormément de choses, je sais que j’ai encore beaucoup de choses à découvrir sur ce sujet. Par exemple, je sais que ma marge de progression réside dans l’approfondissement de certaines bibliothèques ou frameworks. Bien que je puisse m’en sortir dans la plupart des situations, j’ai encore beaucoup de choses à découvrir dans des environnements techniques plus spécifiques.

Cette compétence est très importante dans de nombreux domaines techniques de l’informatique. En tant qu’administrateur systèmes et réseaux, elle me permet de déployer et de maintenir efficacement des solutions logicielles ainsi que d’automatiser des processus pour la gestion des infrastructures. Elle est donc essentielle pour moi afin d’améliorer mon niveau dans ce domaine et répondre aux exigences croissantes de mon poste.

Avec le recul que j'ai aujourd'hui, je conseille vivement à toutes les personnes souhaitant développer leurs compétences en scripting de ne pas se limiter aux bases, mais de s'engager dans des projets pratiques et diversifiés. La pratique régulière est la clé pour consolider ses connaissances et découvrir de nouveaux moyens d’utiliser cette compétence. De plus, il ne faut pas hésiter à passer du temps dans la compréhension des bibliothèques spécifiques à son domaine. Cela peut vraiment faire la différence dans la qualité et la performance des solutions développées.

En résumé, bien que je sois confiant dans mon niveau actuel en scripting, je suis conscient des défis continuels et je reste déterminé à élargir mes compétences.

Mon évolution dans cette compétence

Dans les prochaines années, je souhaite approfondir mes connaissances dans cette compétence, qui est pour moi essentielle étant donné son utilité dans la quasi-totalité des métiers liés à l’informatique. Cette compétence est très large et j’ai encore beaucoup de choses à apprendre sur son utilisation. Mon but est de pouvoir atteindre le niveau avancé dans la plupart des langages de script que je connais.

Pour m’améliorer, je compte m’auto-former en mettant en place des projets personnels, mais également passer des formations et certifications Python, telles que la formation de Thibault Houdon disponible sur Udemy.

Scripting