<!--
  canonical-url: https://www.avonture.be/fr/blog/bash-ascii-art
  published:     2023-12-19
  This is a static plain-Markdown mirror generated at build time.
  Visit the canonical URL above for the fully rendered page, with images and interactive components.
-->

# Bash - ASCII art

> Apprenez à ajouter des bannières en ASCII art à vos scripts Bash pour un impact visuel plus fort. Avec un exemple de code complet.

---
![Bash - ASCII art](/img/v2/ascii_art.webp)

**TL;DR**

Ce court article montre comment ajouter une bannière en ASCII art à vos scripts Bash pour un peu de style visuel, générée avec l'outil gratuit patorjk.com/software/taag et affichée en haut du script.

J'écris beaucoup de scripts Bash et j'aime garder la même approche pour chacun : une bannière, [une fonction de logging](/blog/bash-logging), [des blocs de documentation au-dessus de chaque fonction](/blog/linux-generate-documentation-from-bash-scripts). Une des choses que je fais toujours, c'est d'inclure une bonne vieille bannière en *ASCII Art*, peut-être pour le côté geek, mais surtout pour avoir un impact visuel plus fort.

J'utilise <https://patorjk.com/software/taag> pour créer mes bannières, alors regardons ça de plus près. *La même idée, appliquée à un site web plutôt qu'à une console : [Inject ASCII Art in any HTML pages rendered by Docusaurus](/blog/docusaurus-ascii-art).*

![Exemple d'ASCII art](./images/sample.webp)

De mon côté, j'implémente la bannière comme ceci :

**script.sh**

```bash
#!/usr/bin/env bash
set -euo pipefail

function __main() {

    clear

    # http://patorjk.com/software/taag/#p=display&f=Big&t=My%20Nice%20Script
    cat <<\EOF
  __  __         _   _ _             _____           _       _
 |  \/  |       | \ | (_)           / ____|         (_)     | |
 | \  / |_   _  |  \| |_  ___ ___  | (___   ___ _ __ _ _ __ | |_
 | |\/| | | | | | . ` | |/ __/ _ \  \___ \ / __| '__| | '_ \| __|
 | |  | | |_| | | |\  | | (_|  __/  ____) | (__| |  | | |_) | |_
 |_|  |_|\__, | |_| \_|_|\___\___| |_____/ \___|_|  |_| .__/ \__|
          __/ |                                       | |
         |___/                                        |_|

EOF
    printf "%s\n\n" "(c) Copyright ..."

    # Program the functions of your script here,
    # such as calling your functions

    return 0
}

__main "$@"
```

Et voici à quoi ça ressemble dans mon terminal bash :

![Terminal](./images/terminal.webp)
