Scripting or not scripting ?
Un script est un ensemble de fonctions interprété par un langage de programmation qui lui est propre. Comparé aux développements de programmes qui eux sont compilables et donnent en final un ensemble de binaires figés.
Le code source (ou les sources voire le source) est un ensemble d’instructions écrites dans un langage de programmation informatique de haut niveau, compréhensible par un être humain entraîné, permettant d’obtenir un programme pour un ordinateur.
Les systèmes d’exploitation ne peuvent pas directement exploiter le code source ; ils ne peuvent que lancer des exécutables. Le code source doit donc être :
- Transformé en code compréhensible par la machine par l’opération de compilation ;
- Transformé en code compréhensible par une machine virtuelle, donc compilé aussi
- Ou être exécuté tel quel par un interpréteur.
Quelle est la différence ? Un binaire dit compilé, est en faite codage remplit de fonctions, variables, procédure, et autres, va être directement interprété, compilé et linké en langage binaire ou assembleur.
Le langage le plus proche de l’ordinateur, soit les fameux 0 et 1.
A la différence des codes sources compilés, les scripts sont interprétés. En clair, il obligatoire que le script réalisé soit présent avec le programme qui est apte à comprendre le langage utilisé pour s’exécuter. Il est dont impératif d’installer ce(s) langages de scripts avant tout usage de ces scripts, sans quoi il ne fonctionneront pas.
Le langage de script est un langage de programmation qui permet de manipuler les fonctionnalités d’un système informatique, configuré pour fournir à l’interpréteur de ce langage, un environnement et une interface qui déterminent les possibilités de celui-ci.
Le langage de script est généralement exécuté à partir de fichiers contenant le code source du programme qui sera interprété. Historiquement ils ont été créés pour raccourcir le processus traditionnel de développement édition-compilation-édition des liens-exécution propre aux langages compilés.
Les premiers langages étaient souvent appelés langage de commande ou langage d’enchaînement des travaux (JCL : Job Control Language), car ils permettaient simplement d’automatiser une succession de commandes simples, à la manière d’un « script » de théâtre.
Certains langages scripts permettent de réaliser un programme binaire embarquant l’interpréteur, ses librairies logicielles et le codage script en question. De ce fait, ce script devient portable sans besoin d’installer tout le langage. Bien évidemment, ces scripts deviennent un légèrement lourds que des vrais programmes compilés, mais très intéressants en terme de développements rapides.
Dans le sens le plus traditionnel, qui est celui des shell scripts, un script sert principalement à lancer et coordonner l’exécution de programmes.
Dans sa version la plus simple, un script ne spécifie qu’une suite de programmes à appeler dans un ordre donné (par exemple éditeur de texte, compilateur, éditeur de liens et exécution du code objet). Cela crée rapidement des inefficiences : à quoi bon en effet tenter de charger et d’exécuter un programme dont la compilation a échoué ?
- On y ajoute donc assez vite une possibilité d’exécution conditionnelle simple (||, &&) en fonction du résultat de l’étape immédiatement précédente (il ne sert à rien d’exécuter si la compilation est mauvaise).
- La possibilité d’y employer des variables, des paramètres, des structures de contrôle (répétition, exécution conditionnelle), etc. fait des langages de scripts de véritables langages de programmation.
- On peu construire des interfaces graphiques permettant des interactions; Voir effectuer le contrôle d’autres pour des installations automatisés par exemple.
Voici quelques listes de languages scripts et leur options d’embarquement de l’interpréteur, ainsi que leur environnement logiciels.
php : multi-os, modulable, interpretable via ligne de commande et serveur web.
perl : multi-os, modulable, interpretable via ligne de commande et serveur web, binarisation possible.
AutoIt : Windows, modulable, interpretable via ligne de commande et serveur web, binarisation possible.
KixStart: Windows, modulable, interpretable via ligne de commande.
Python : multi-os, modulable, interpretable via ligne de commande et serveur web, binarisation possible.
Vbs/Wsh : Windows, interpretable via ligne de commande.
Ruby : multi-os, modulable, interpretable via ligne de commande et serveur web, binarisation possible.
ReBol : multi-os, modulable. PowerShell : Windows, modulable, interpretable via ligne de commande.
AppleScript : modulable. interpretable, compilable. Spécifique au monde Mac OS 10.
Et les Awk, Korn, Bash, CmdDos, etc …
Bien évidemment la liste n’est pas exaustive.
Retrouvez toutes les sources et binaire de scripts par langages :
Les scripts AutoIt d’HiddenSoftware:
A noter : L’ensemble des binaires téléchargeable sont garanties sans virus connu. Attention certains antivirus comme AVP peuvent-être sensible à ces binaires. Choses assez normales, puisqu’au lieu de détecter un vrai troyen, ces antivirus détectent dans le binaire, l’interpréteur embarqué ! CQFD !
La ma série « Auto… », voici des scripts pour faciliter l’industrialisation de vos environnements de production.
AutoControlServices
AutoSendEvents
AutoConnect
AutoClean
AutoDefrag
Pwd-Gen
TestMail
ExecTempo
Les scripts PHP:
en cours
Les scripts Perl:
en cours

Pour lire sa bio ... |