Programmation bash sous Linux

Cette longue page donne plusieurs informations sur la programmation en BASH sous Linux (Mint).
Je suis sous Linux Mint avec l'environnement Connamon.



Références sur bash et zenity

bash est un langage de programmation, prévu principalement à être utilisé dans un Terminal, qui excelle dans la manipulation de fichiers et l'automatisation de tâches sous Linux.
"BASH" signifie Bourne-Again SHell, Bourne étantle nom de la personne qui a écrit la première version de ce langage.
Ce langage est très opaque au premier abord, illisible et sans chance de compréhension du code, si on a pas appris les instructions,
mais il est extrêmement performant dans l'automatisation et le traitement de fichiers.
Scripting Bash, par Ordirepar, une suite de vidéos pour apprendre le bash.

zenity est un programme utilisable par bash pour avoir des boites de dialogues en bash.
Zenity : Des boites de dialogue pour vos scripts shell :.
Une vidéo youtube présentant le logiciel zenity.
"Zenity : Boites de dialogue graphiques aux scripts shell".
La page Web du créateur de la vidéo précédente, spécifique sur zenity.
Zenity, dans Wiki ubuntu-fr. Il semble que la page officielle de zenity n'existe plus !?!.
zenity - manual page for zenity 4.2.1.


Création d'un programme d'installation pour Linux Mint et Ubuntu

Le but de ce qui suit est de montrer comment créer un programme d'installation sous Linux Mint et Ubuntu (et ses variantes).
L'exemple se base sur l'installation du programme GeTax utile au Genevois.
GeTax est un programme d'aide à remplir la déclaration d'impôts pour les genevois.
Il peut être téléchargé sur le site de la rébuplique et canton de Genève.
Cliquer sur "Télécharger GeTax2025" et sélectionner la version pour Linux (Télécharge GeTax Linux [.tar.gz]
L'année changera au fils du temps.

Marche à suivre pour créer un programme d'installation en mode graphique :

1) Télécharger le fichier texte : "inst_getax2025.sh".
Il peut être modifié en fonction de ce qui est désiré.
2) Télécharger le fichier getax2025.tar.gz du site officiel de Genève.
Un autre fichier compressé pourrait être utilisé à la place.
3) Ce que j'ai fait en plus, j'ai ajouté le logo de GeTax2025 au fichier compressé : "getax2025.tar.gz"
4) Dans un Terminal, tapez : cat inst_getax2025.sh getax2025.tar.gz > install_getax2025.run
Cela créera le programme d'installation : "install_getax2025.run"
5) Rendez ce programme exécutable, en tapant : "chmod 755 install_getax2025.run"
Cela ne sert à rien pour une personnes qui télécharge le programme d'Internet. C'est une sécurité.
Soit on met le programme dans un fichier compressé, que l'utilisateur devra décompresser et ainsi les droits d'exécutions sont conservés,
soit l'utilisateur doit faire un clique droit sur le fichier, voir ses propriétés, puis Attributs et indiquer que le fichier est exécutable.
6) Mettez le programme d'installation "install_getax2025.run" à disposition des utilisateurs.
Dans le lien de téléchargement, mettre l'attribut : "download='install_getax2025.run'" pour qu'il ne soit pas ouvert dans une page Web.
En double cliquant dessus, un utilisateur lancera le programme d'installation qui ferra :
° Créera un sous-dossier "Apps" du dossier de l'utilisateur et y copiera le programme GeTax
° Créera sur le bureau un raccourcis de lancement de GeTax
° Installera une machine virtuelle java, s'il n'y en a pas déjà une d'installée.
Avant ce faire ce qui précède, le programme informe l'utilisateur et lui demande ce qu'il veut installer.
Si le programme "zenity" n'est pas installé, l'installe avant tout.
"zenity" est installé par défaut sous Linux Mint et Ubuntu.
"zenity" permet d'afficher des boîtes de dialogues en mode graphique.
Exemple du code se trouvant dans le fichier : "inst_getax2025.sh" (Cliquer sur le   +   en début de ligne).
#!/bin/bash
# ------------------------------------------------------------------
# Titre        : Script d'installation automatique pour GeTax 2025 (Linux Ubuntu et dérivé, comme Mint)
# Description  : Installe Java, GeTax et crée les raccourcis menu/bureau.
# Auteur       : [Bernard Gisin]
# Date         : 13 Février 2026
# Version      : 1.0
# Testé sur    : Linux Mint 22, Ubuntu 24.04
# Dépendances  : zenity, default-jre, tar, wget (ou curl)
# Double cliquer sur le fichier : "install_getax.run"  pour l'exécuter et commencer l'installation.
# ------------------------------------------------------------------

# --- CONFIGURATION ---
#URL_TELECHARGEMENT="https://..."  # Si vous ajoutez le téléchargement auto plus tard

SOURCE="$HOME/Apps/getax2025_96x96.png"
DEST01="$HOME/Apps"
DEST02="$HOME/Apps/0icons"
# On trouve le chemin officiel du Bureau (compatible Français 'Bureau' / Anglais 'Desktop')
# La commande xdg-user-dir est standard sur Mint.
DOSSIER_BUREAU=$(xdg-user-dir DESKTOP)

# --- ÉTAPE 1 : VÉRIFICATION ET INSTALLATION DE ZENITY ---
if ! command -v zenity &> /dev/null; then
    # zenity  n'est pas déjà installé.
    # Normalement,  zenity  est installé par défaut sous  Ubuntu  et sous  Mint.
    # Pour pouvoir informer l'utilisateur de ce que l'on fait,
    # il faut que le script soit lancé dans un terminal.
    # Si ce n'est pas le cas, on exécute un terminal, avec le script à l'intérieur.
    
    # --- ÉTAPE 1.1 : FORCER LE TERMINAL ---
    # On vérifie si le script est lancé dans un terminal interactif (TTY).
    # Si ce n'est pas le cas (ex: double-clic depuis le bureau), on le relance dans un terminal.
    if [ ! -t 0 ]; then
        # x-terminal-emulator est une commande générique sous Linux (Debian/Mint/Ubuntu)
        # qui lance le terminal par défaut du système.
        x-terminal-emulator -e "$0"
        exit 0
    fi

    # Message en mode TEXTE (car Zenity n'est pas encore là)
    clear
    echo "=================================================="
    echo " INSTALLATION REQUISE"
    echo "=================================================="
    echo "Ce programme nécessite l'outil d'affichage 'Zenity'."
    echo "Il va être installé maintenant."
    echo ""
    echo "Veuillez entrer votre mot de passe administrateur (sudo)"
    echo "lorsqu'il vous sera demandé ci-dessous."
    echo "=================================================="
    echo ""

    # Installation
    # On met à jour la liste des paquets pour éviter les erreurs "paquet introuvable"
    sudo apt-get update -qq
    sudo apt-get install -y zenity

    echo ""
    echo "Vérification de l'installation..."

    # --- ÉTAPE 1.2 : TRANSITION VERS LE MODE GRAPHIQUE ---
    # On revérifie si Zenity est là maintenant
    if command -v zenity &> /dev/null; then
        # SUCCÈS : On affiche le message AVEC Zenity !
        zenity --info \
            --title="Succès" \
            --text="Zenity a été installé avec succès !\n\nL'installation de GeTax peut maintenant continuer\nen mode graphique." \
            --width=400
    else
        # ÉCHEC : On reste en mode texte pour l'erreur
        echo "ERREUR CRITIQUE : L'installation de Zenity a échoué."
        echo "Vérifiez votre connexion internet et relancez le script."
        echo "ou installez le logiciel zenity à la main et relancez ce programme."
        echo "ou utilisez le programme install_getax2025_geek.run depuis un Terminal."
        echo "Appuyez sur la touche ENTER pour quitter..."
        read
        exit 1
    fi
fi

# --- LE RESTE DE VOTRE SCRIPT (Mode Graphique) ---
# À partir d'ici, vous pouvez utiliser zenity pour tout le reste.

# --- ÉTAPE 2 : La Sélection à choix multiples
# --separator=" " est CRUCIAL ici : il remplace la barre verticale "|" par un espace
# pour que la boucle "for" comprenne bien la liste ensuite.
CHOIX=$(zenity --list --checklist \
    --title="Installation de GeTax et Java" \
    --width=650 --height=500 \
    --ok-label="Lancer" \
    --cancel-label="Quitter" \
    --text="Par défaut :\n\
° un dossier  Apps  va être créé et Getax va être installé dans ce dossier.\n\
° une icône de lancement de GeTax va être placée sur le bureau.\n\
° une machine virtuelle java va être installée, s'il n'y en a pas déjà une.\n\n\
Vous pouvez choisir de modifier les actions par défaut.\n\
Par exemple pour ne faire que la création de l'icône sur le bureau, s'il a été effacé par erreur.\n" \
    --column="Install" --column="Logiciel/choix" --column="Description" \
    --separator=" " \
    TRUE "getax_2025" "Installation du programme de déclaration d'impôts." \
    TRUE "icone_de_lancement" "Création d'une icône de lancement de GeTax sur le bureau." \
    TRUE "java" "Vérification et installation d'une machine virtuelle java." \
    2> /dev/null)
    # le  "2> /dev/null"  empêche l'affichage d'un WARNING lorsqu'on presse sur la touche ENTER.
# Si l'utilisateur annule ou ne choisit rien
if [ -z "$CHOIX" ]; then
    # zenity --error --text="Aucun logiciel sélectionné. Annulation."
    exit 0
fi

# --- ÉTAPE 3 : L'Installation
for Cas in $CHOIX; do
    # echo $Cas  # Pourl le développement

    if [[ $Cas == "getax_2025" ]]; then
        # Installation du programme GeTax 2025
        # 1. Déterminer la ligne où commence l'archive (après le marqueur __ARCHIVE_BELOW__)
        SKIP=$(awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0;}' "$0")

        # 2. Créer le dossier d'extraction
        mkdir -p "$DEST01"

        # 3. Extraire la partie binaire du présent fichier ($0)
        #echo "Extraction des fichiers..."
        tail -n +$SKIP "$0" | tar -xz -C "$DEST01"

        # 4. Crée un dossier pour l'icône et y place l'icône de GeTax2025
        mkdir -p "$DEST02"
        mv -n "$SOURCE" "$DEST02"
        rm -f "$SOURCE"

        # Au cas où l'on aurait mis des fichiers temporaires dans le dossier suivant
        #rm -rf /tmp/getax_install
    fi

    if [[ $Cas == "icone_de_lancement" ]]; then
        # Création d'une icône de lancement sur le bureau
        # La première ligne efface le contenu du fichier et y met la ligne : [Desktop Entry]
        ICI="$DOSSIER_BUREAU/getax2025.desktop"   #pour création sur le bureau
        #ICI="lance.desktop"  # pour des tests
        echo "[Desktop Entry]" > "$ICI"
        echo "Version=1.xx" >> "$ICI"
        echo "Type=Application" >> "$ICI"
        echo "Name=getax-pp-2025" >> "$ICI"
        echo "Comment=GeTax 2025, pour la déclaration d'impôts à Genève" >> "$ICI"
        echo "Exec=$DEST01/getax-pp-2025/getax-pp-2025" >> "$ICI"
        echo "Icon=$DEST02/getax2025_96x96.png" >> "$ICI"
        echo "Path=" >> "$ICI"
        echo "Terminal=false" >> "$ICI"
        echo "StartupNotify=false" >> "$ICI"

        # On assure aussi que le fichier .desktop est bien exécutable (au cas où)
        chmod 755 "$ICI"
        
        # On force le rafraîchissement (C'est l'équivalent du F5)
        # On peut cliquer sur le bureau, puis sur F5 pour mettre à jour les icônes.
        # Pour redémarrer le bureau Cinnamon, tapez Alt+F2, puis r, puis la touche ENTER
        touch "$DOSSIER_BUREAU"
    fi

    if [[ $Cas == "java" ]]; then
        # --- VÉRIFICATION ET INSTALLATION DE JAVA ---

        # 1. Test : Est-ce que Java est déjà là ?
        if command -v java &> /dev/null; then
            zenity --info --text="Java est déjà installé sur ce système.\n\
Aucune installation supplémentaire n'est requise."
        else
            # 2. Information à l'utilisateur
            zenity --info \
                --title="Composant manquant" \
                --text="Java est nécessaire pour GeTax.\n\n\
Ce composant n'est pas détecté sur votre système.\n\
Nous allons l'installer maintenant." \
                --width=400

            # 3. Boucle de demande de mot de passe (pour gérer les erreurs de frappe)
            while true; do
                # Demande du mot de passe
                PASS=$(zenity --password \
                    --title="Authentification requise" \
                    --text="Veuillez entrer votre mot de passe administrateur\npour installer Java :")

                # Si l'utilisateur annule (bouton Annuler ou Croix), on arrête tout
                if [ $? -ne 0 ]; then
                    zenity --error --text="Installation annulée. GeTax ne peut pas fonctionner sans Java."
                    exit 1
                fi

                # Test du mot de passe avec sudo
                # L'option -S lit le mot de passe depuis l'entrée standard (echo)
                # L'option -v (validate) met à jour le "ticket" sudo sans lancer de commande
                echo "$PASS" | sudo -S -v 2> /dev/null

                if [ $? -eq 0 ]; then
                    # Si le code retour est 0, le mot de passe est bon
                    break
                else
                    zenity --error --text="Mot de passe incorrect. Veuillez réessayer."
                fi
            done

            # 4. Installation avec barre de progression (Pulsante car on ne connait pas la durée exacte)
            (
                echo "# Mise à jour de la liste des paquets..."
                # Le "> /dev/null 2>&1" est indispensable ici pour ne pas envoyer le texte de apt-get à zenity
                echo "$PASS" | sudo -S apt-get update -qq > /dev/null 2>&1

                echo "# Installation de la Machine Virtuelle Java..."
                # On réinjecte le mot de passe pour être sûr (même si sudo a une mémoire tampon)
                echo "$PASS" | sudo -S apt-get install -y default-jre > /dev/null 2>&1
                
                echo "# Vérification de l'installation..."
                sleep 1

            ) | zenity --progress \
                --title="Installation de Java" \
                --pulsate \
                --auto-close \
                --no-cancel

            # 5. Vérification finale
            if command -v java &> /dev/null; then
                zenity --info --text="Java a été installé avec succès !"
            else
                zenity --error --text="Une erreur est survenue lors de l'installation de Java."
                exit 1
            fi
        fi
    fi

done

# --- ÉTAPE 4 : Information que l'installation est terminée.
zenity --info --text="Installation terminée avec succès !\n" --width=300

exit 0

# NE PAS SUPPRIMER LA LIGNE CI-DESSOUS
__ARCHIVE_BELOW__
--------------------------------------------------------------------------

Pour information, voici en exemple le fichier "install_getax2025.run" qui sera généré.
Dans le lien de téléchargement, j'ai mis l'attribut : "download='install_getax2025.run'" pour qu'il ne soit pas ouvert dans une page Web.
Il est conseillé d'ajouter au dossier contenant le fichier : 'install_getax2025.run', un fichier : ".htaccess" contenant le texte : AddType application/octet-stream .run
Cela assure que le fichier sera téléchargé et non ouvert dans une page Web.

Il faudra indiquer à l'utilisateur :

1) Télécharger le fichier : "install_getax2025.run"
2) Le rendre exécutable en faisant un clique droit sur le fichier, aller sur propriétés, puis Droits et cocher la case "Autoriser l'exécution du fichier en tant que programme".
3) Double cliquer sur le fichier : "install_getax2025.run", ce qui lancera l'installation.
Pour lancer GeTax, il suffira de cliquer sur l'icône créé sur le bureau.


Marche à suivre pour créer un programme d'installation en mode Texte :

Cette partie est plus destiné au "Geeks" désirant un programme d'installation en mode texte dans un Terminal.
Il est peut-être utile, si le programme zenity n'arrive pas à être installé.
Normalement, 'zenity' est installé par défaut sous Linux Mint et Ubuntu.
1) Télécharger le fichier texte : "inst_getax2025_geek.sh".
Il peut être modifié en fonction de ce qui est désiré.
2) Télécharger le fichier getax2025.tar.gz du site officiel de Genève.
Un autre fichier compressé pourrait être utilisé à la place.
3) Ce que j'ai fait en plus, j'ai ajouté le logo de GeTax2025 au fichier compressé : "getax2025.tar.gz"
4) Dans un Terminal, tapez : cat inst_getax2025_geek.sh getax2025.tar.gz > install_getax2025_geek.run
Cela créera le programme d'installation : "install_getax2025_geek.run"
5) Rendez ce programme exécutable, en tapant : "chmod 755 install_getax2025_geek.run"
Cela ne sert à rien pour une personnes qui télécharge le programme d'Internet. C'est une sécurité.
Soit on met le programme dans un fichier compressé, que l'utilisateur devra décompresser et ainsi les droits d'exécutions sont conservés,
soit l'utilisateur doit faire un clique droit sur le fichier, voir ses propriétés, puis Attributs et indiquer que le fichier est exécutable.
6) Mettez le programme d'installation "install_getax2025_geek.run" à disposition des utilisateurs.
Dans le lien de téléchargement, mettre l'attribut : "download='install_getax2025.run'" pour qu'il ne soit pas ouvert dans une page Web.
En double cliquant dessus, un utilisateur lancera le programme d'installation qui ferra :
° Créera un sous-dossier "Apps" du dossier de l'utilisateur et y copiera le programme GeTax
° Créera sur le bureau un raccourcis de lancement de GeTax
° Installera une machine virtuelle java, s'il n'y en a pas déjà une d'installée.
Avant ce faire ce qui précède, le programme informe l'utilisateur et lui demande ce qu'il veut installer.
Si le programme "zenity" n'est pas installé, l'installe avant tout.
"zenity" permet d'afficher des boîtes de dialogues en mode graphique.
Exemple du code se trouvant dans le fichier : "inst_getax2025_geek.sh" (Cliquer sur le   +   en début de ligne).
#!/bin/bash
# ------------------------------------------------------------------
# Titre        : Script d'installation automatique pour GeTax 2025 (Linux Ubuntu et dérivé, comme Mint)
# Description  : Installe Java, GeTax et crée les raccourcis menu/bureau.
# Auteur       : [Bernard Gisin]
# Date         : 14 Février 2026
# Version      : 1.xx (Mode Texte)
# Testé sur    : Linux Mint 22, Ubuntu 24.04
# Dépendances  : default-jre, tar
# Double cliquer sur le fichier : "install_getax_geek.run"  ou lancer dans un Terminal
# ------------------------------------------------------------------

# --- CONFIGURATION ---
SOURCE="$HOME/Apps/getax2025_96x96.png"
DEST01="$HOME/Apps"
DEST02="$HOME/Apps/0icons"
# On trouve le chemin officiel du Bureau (compatible Français 'Bureau' / Anglais 'Desktop')
# La commande xdg-user-dir est standard sur Mint.
DOSSIER_BUREAU=$(xdg-user-dir DESKTOP)

# --- FORCER LE TERMINAL ---
# On vérifie si le script est lancé dans un terminal interactif (TTY).
# Si ce n'est pas le cas (ex: double-clic depuis le bureau), on le relance dans un terminal.
if [ ! -t 0 ]; then
    # x-terminal-emulator est une commande générique sous Linux (Debian/Mint/Ubuntu)
    # qui lance le terminal par défaut du système.
    x-terminal-emulator -e "$0"
    exit 0
fi

read -p "Voulez-vous installer GeTax (dans le dossier Apps qui sera créé) (O/n) " rep1

if [[ $rep1 == "" || $rep1 == "o" || $rep1 == "O" ]]; then
  echo "Création du dossier $DEST01, s'il n'existe pas déjà."
  echo "Et copie des fichiers d'exécution de GeTax dans ce dossier."

  # 1. Déterminer la ligne où commence l'archive (après le marqueur __ARCHIVE_BELOW__)
  SKIP=$(awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0;}' "$0")

  # 2. Créer le dossier d'extraction
  mkdir -p "$DEST01"

  # 3. Extraire la partie binaire du présent fichier ($0)
  #echo "Extraction des fichiers..."
  tail -n +$SKIP "$0" | tar -xz -C "$DEST01"

  # 4. Crée in dossier pour l'icône et y place l'icône de GeTax2025
  echo "Création du dossier $DEST02 pour y placer l'icône de GeTax2025"
  mkdir -p "$DEST02"
  mv -n "$SOURCE" "$DEST02"
  rm -f "$SOURCE"

  # Au cas où l'on aurait mis des fichiers temporaires dans le dossier suivant
  #rm -rf /tmp/getax_install

  echo "Les fichiers d'exécutions de GeTax ont été installés dans le dossier $DEST01"
else
  echo "Pas d'installation de GeTax. (Taper Ctrl+C pour terminer.)"
fi

read -p "Voulez-vous créer sur le bureau une icône de lancement de GeTax (O/n) " rep2

if [[ $rep2 == "" || $rep2 == "o" || $rep2 == "O" ]]; then
  echo "Création sur le bureau d'une icône de lancement de GeTax."

  # Création d'une icône de lancement sur le bureau
  # La première ligne efface le contenu du fichier et y met la ligne : [Desktop Entry]
  ICI="$DOSSIER_BUREAU/getax2025.desktop"   #pour création sur le bureau
  #ICI="lance.desktop"  # pour des tests
  echo "[Desktop Entry]" > "$ICI"
  echo "Version=1.xx" >> "$ICI"
  echo "Type=Application" >> "$ICI"
  echo "Name=getax-pp-2025" >> "$ICI"
  echo "Comment=GeTax 2025, pour la déclaration d'impôts à Genève" >> "$ICI"
  echo "Exec=$DEST01/getax-pp-2025/getax-pp-2025" >> "$ICI"
  echo "Icon=$DEST02/getax2025_96x96.png" >> "$ICI"
  echo "Path=" >> "$ICI"
  echo "Terminal=false" >> "$ICI"
  echo "StartupNotify=false" >> "$ICI"

  # On assure aussi que le fichier .desktop est bien exécutable (au cas où)
  chmod 755 "$ICI"
  
  # On force le rafraîchissement (C'est l'équivalent du F5)
  # On peut cliquer sur le bureau, puis sur F5 pour mettre à jour les icônes.
  # Pour redémarrer le bureau Cinnamon, tapez Alt+F2, puis r, puis la touche ENTER
  touch "$DOSSIER_BUREAU"
else
  echo "Pas de création d'icône de lancement de GeTax."
fi

# 1. Test : Est-ce que Java est déjà installé ?
if command -v java &> /dev/null; then
  echo "Java est déjà installé, rien à faire de plus."
else
  # 2. Information à l'utilisateur
  echo "Java est nécessaire pour exécuter GeTax."
  echo "Ce composant n'est pas détecté sur votre système."

  read -p "Voulez-vous installer Java (O/n) " rep3

  if [[ $rep3 == "" || $rep3 == "o" || $rep3 == "O" ]]; then
    echo "Installation de java. Votre mot de passe administrateur sera nécessaire."

    # On force la réinitialisation du "ticket" sudo au cas où
    # pour être sûr de tester le mot de passe saisi.
    sudo -k
    
    # 3. Boucle de demande de mot de passe (pour gérer les erreurs de frappe)
    while true; do
      # Demande du mot de passe
      # read -s (silent) cache les caractères tapés
      # read -p (prompt) affiche le texte
      read -s -p "Veuillez entrer votre mot de passe administrateur : " PASSWORD
      echo "" # On ajoute un saut de ligne car 'read -s' n'en fait pas

      # Test du mot de passe
      # On envoie le mot de passe à sudo avec 'echo' et le pipe '|'
      # sudo -S lit ce mot de passe.
      # sudo -v (validate) vérifie si le mot de passe est bon sans lancer de commande.
      # &> /dev/null cache les messages d'erreur natifs de sudo.
      if echo "$PASSWORD" | sudo -S -v &> /dev/null; then
        echo "✅ Mot de passe accepté."
        # Le mot de passe est bon, on sort (break) de la boucle while
        break
      else
        echo "❌ Mot de passe incorrect. Veuillez réessayer."
        echo "   (Appuyez sur Ctrl+C si vous désirez annuler l'installation de Java)"
        echo ""
      fi
    done

    # 4. Installation de Java
    echo "# Mise à jour de la liste des paquets..."
    
    # -S  indique de prendre le mot de passe de la variable  $PASSWORD
    # -qq  est l'option "très silencieux". Je l'ai supprimée
    echo "$PASSWORD" | sudo -S apt-get update

    echo "# Installation de la Machine Virtuelle Java..."

    # On réinjecte le mot de passe pour être sûr (même si sudo a une mémoire tampon)
    echo "$PASSWORD" | sudo -S apt-get install -y default-jre

    # 5. Vérification finale
    if command -v java &> /dev/null; then
      echo "Java a été installé avec succès !"
    else
      echo "Une erreur est survenue lors de l'installation de Java."
    fi
  else
    echo "Java n'est pas installé, GeTax ne fonctionnera pas sans une machine virtuelle Java."
  fi
fi

echo
read -p "Installation terminée, presser sur la touche Enter pour quitter."

exit 0

# NE PAS SUPPRIMER LA LIGNE CI-DESSOUS
__ARCHIVE_BELOW__
--------------------------------------------------------------------------

Pour information, voici en exemple le fichier "install_getax2025_geek.run" qui sera généré.
Dans le lien de téléchargement, j'ai mis l'attribut : "download='install_getax2025_geek.run'" pour qu'il ne soit pas ouvert dans une page Web.


Une liste d'exemples de programmes bash, avec des exemples utilisant zenity

À VENIR...


Liens sur des vidéos youtube :

Lien sur la Playlist.

#01 Programmation d'un Arduino Nano Esp32
1ère vidéo indiquant les démarches que j'ai du faire pour programmer un Arduino Nano Esp32.
Elles sont détaillées ci-dessus également.

#02 Simulation d'un clavier suisse romand avec un Arduino Nano Esp32.
2ème vidéo indiquant comment j'ai simulé un clavier suisse romand avec un Ardiono Nano Esp32
J'ai utilisé une bibliothèque existante et implémenté le code pour qu'elle fonctionne avec un clavier suisse romande.
J'ai également ajouté des possibilité pour obtenir des caractères accentués.


Home arrow bash.html
Mise à jour le 15 février 2026 par Libre Gisin.