Qu'est-ce qu'un document ici?
En ce qui concerne les ordinateurs et la programmation informatique, un document ICI est une liste de textes permettant de définir les entrées à transmettre à un programme par le biais d’un opérateur spécial, ce qui permet de transmettre plus facilement des blocs de commandes ou des textes exceptionnellement longs. "Here document", ou "heredoc", est un terme plus général car la mise en oeuvre exacte du fonctionnement d'un document here et de ce qu'il peut contenir varie d'un système d'exploitation, d'une application ou d'un langage de programmation à l'autre. Malgré ce que son nom implique, un document here n'est généralement pas un fichier séparé, mais un bloc de texte dans un script ou est tapé ou inséré directement à la fin d'une commande de programme. Le document ici est principalement utilisé lorsque les programmes sont exécutés via un script ou un fichier de commandes à partir de la ligne de commande, où heredoc fournit soit une liste d'instructions à exécuter, soit une entrée à traiter. Selon de nombreux facteurs, un document ici peut être une simple liste de mots ou peut inclure des variables complexes ou un code de programmation que le système d'exploitation ou l'application cible peut déchiffrer.
Dans les termes les plus élémentaires, un document ICI est simplement une liste de texte comprenant des caractères de mise en forme tels que des tabulations, des retours à la ligne et des sauts de ligne. C'est un moyen pratique de passer des arguments à un programme en cours d'exécution à partir de la ligne de commande, en particulier si un fichier d'encapsuleur tel qu'un script ou un fichier de traitement par lots est utilisé. Le texte contenu dans un heredoc est envoyé au programme en cours d'exécution comme s'il était saisi par l'utilisateur exactement tel qu'il apparaît. Cela permet à un seul heredoc d'être utilisé encore et encore pour donner à un programme la même entrée de sorte qu'il puisse effectuer les mêmes tâches de manière répétée sans obliger l'utilisateur à tout rentrer de manière manuelle.
Un exemple de la façon dont un document ici fonctionne peut être vu avec un simple programme sendmail en ligne de commande qui envoie un courrier électronique. Une fois exécuté, le programme sendmail demande d’abord à l’utilisateur de saisir l’adresse électronique de destination; il demande ensuite l'objet du courrier électronique et, enfin, le texte du courrier électronique. S'il est exécuté à partir de la ligne de commande, l'utilisateur répond à chaque invite en tapant les informations, en appuyant sur la touche Retour et en attendant que le programme réponde. Quand un heredoc est utilisé dans un fichier wrapper, toutes les informations à donner au programme sendmail peuvent être saisies à l’avance, y compris les appuis sur la touche Retour, puis sauvegardées dans le fichier wrapper. De cette façon, lorsque le programme sendmail est exécuté avec heredoc, l'entrée est automatiquement transmise au programme et un courrier électronique est envoyé sans que l'utilisateur ait à faire autre chose.