---
- hosts: dsi1024x600_vma405Pi2
  remote_user: sysop
  become: yes
  tasks:
    - name: Maj dépôts
      apt:
        upgrade: yes
        update_cache: yes

    - name: install "7zip"
      apt:
        name: p7zip-full
        state: present

    - name: install git
      apt:
        name: git
        state: present

    - name: install "xserver-xorg"
      apt:
        name: xserver-xorg
        state: present

    - name: install "x11-xserver-utils"
      apt:
        name: x11-xserver-utils
        state: present

    - name: install "xinit"
      apt:
        name: xinit
        state: present
#
    - name: install "openbox"
      apt:
        name: openbox
        state: present

    - name: install "chromium-browser"
      apt:
        name: chromium-browser
        state: present

    - name: install "xdotool"
      apt:
        name: xdotool
        state: present

    - name: Copie du fichier de démarrage automatique de Xorg
      copy:
        src: ./auto_startx_bashrc
        dest: /home/sysop/auto_startx_bashrc
        owner: sysop
        group: sysop
        mode: '0770'
        backup: yes

    - name: Ajout du fichier de démarrage automatique de Xorg au fichier .bashrc
      shell: /home/sysop/auto_startx_bashrc

    - name: Copie du fichier autostart
      copy:
        src: ./autostart
        dest: /home/sysop/autostart
        owner: sysop
        group: sysop
        mode: '0770'
        backup: yes

    - name: Remplacer le fichier autostart
      shell:
        cmd: cp /home/sysop/autostart /etc/xdg/openbox/autostart

    - name: Copie du fichier serveurNfcNodeJsVma405.7z
      copy:
        src: ./serveurNfcNodeJsVma405.7z
        dest: /home/sysop/serveurNfcNodeJsVma405.7z
        owner: sysop
        group: sysop
        backup: yes

    - name: décompresser le fichier serveurNfcNodeJsVma405.7z
      shell:
        cmd: 7z x serveurNfcNodeJsVma405.7z

    - name: Changer les droits du dossier serveurNfcNodeJsVma405
      shell:
        cmd: chown -R sysop:sysop /home/sysop/serveurNfcNodeJsVma405

    - name: Ajout du dépot nodes js
      shell: curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -

    - name: install "nodejs"
      apt:
        name: nodejs
        state: present

    - name: Pour nodejs, installation de "gcc" pour la compilation
      apt:
        name: gcc
        state: present

    - name: Pour nodejs, installation de "g++" pour la compilation
      apt:
        name: g++
        state: present

    - name: Pour nodejs, installation de "make" pour la compilation
      apt:
        name: make
        state: present

    - name: Pour nodejs, installation de "apt-transport-https" pour la compilation
      apt:
        name: apt-transport-https
        state: present

    - name: Installer les modules du serveurNfcNodeJsVma405
      shell:
        cmd: npm i
        chdir: /home/sysop/serveurNfcNodeJsVma405/

    - name: Création du fichier de configuration
      shell: cp chromium_env.exemple .chromium_env
      args:
        chdir: /home/sysop/serveurNfcNodeJsVma405/

    - name: Modification du hostname du fichier de configuration
      shell:
        cmd: sed -i "s/__hostname__/{{ hostname }}/" /home/sysop/serveurNfcNodeJsVma405/.chromium_env

    - name: Modification du mot de passe du fichier de configuration
      shell:
        cmd: sed -i "s/__mdp__/{{ password }}/" /home/sysop/serveurNfcNodeJsVma405/.chromium_env

    - name: Modification du token wifi du fichier de configuration
      shell:
        cmd: sed -i "s/__token__/{{ token }}/" /home/sysop/serveurNfcNodeJsVma405/.chromium_env

    - name: Modification du type de front du fichier de configuration
      shell:
        cmd: sed -i "s/__frontType__/{{ frontType }}/" /home/sysop/serveurNfcNodeJsVma405/.chromium_env

    - name: Modification du protocole(serveur) du fichier de configuration
      shell:
        cmd: sed -i "s/__protocole__/{{ protocole }}/" /home/sysop/serveurNfcNodeJsVma405/.chromium_env

    - name: Modification de l'adresse du serveur du fichier de configuration
      shell:
        cmd: sed -i "s/__serveur__/{{ serveur }}/" /home/sysop/serveurNfcNodeJsVma405/.chromium_env

    - name: Création du dossier repos "7inch-DSI-LCD-C"
      file:
        path: /home/sysop/7inch-DSI-LCD-C
        state: directory
        mode: '0775'

    - name: Rapatrier le driver de l'écran
      git:
        repo: https://github.com/waveshare/7inch-DSI-LCD-C.git
        dest: /home/sysop/7inch-DSI-LCD-C/
        clone: yes
        update: no

    - name: Installer le driver
      shell: /home/sysop/7inch-DSI-LCD-C/32/5.10.103/pi3/WS_7inchDSI1024x600.sh
      args:
        chdir: /home/sysop/7inch-DSI-LCD-C/32/5.10.103/pi3/

    - name: Ajouter la rotation de 90° au fichier de configuration /boot/config.txt
      shell:
        cmd: echo "#90°" >> /boot/config.txt && echo "dtoverlay=WS_7inchDSI1024x600_Touch,invertedx,swappedxy" >> /boot/config.txt

    - name: installe "splash screen"
      apt:
        name: rpd-plym-splash
        state: present

    - name: Installation de "fbi", pour visualiser le splash screen(logo)
      apt:
        name: fbi
        state: present

    - name: install "xserver-xorg-video-fbturbo"
      apt:
        name: xserver-xorg-video-fbturbo
        state: present

    - name: Copie du fichier image splash.png
      copy:
        src: ./splash.png
        dest: /home/sysop/splash.png
        owner: sysop
        group: sysop
        backup: yes

    - name: Suppression du logo raspberry pi, modification du fichier /boot/cmdline.txt
      shell:
        cmd: echo "\nconsoleblank=0 loglevel=1 quiet logo.nologo" >> /boot/cmdline.txt

    - name: Autoriser startx
      shell:
        cmd: sed -i "s/quiet splash plymouth.ignore-serial-consoles//" /boot/cmdline.txt

    - name: Copie du fichier du service "splashscreen.service"
      copy:
        src: ./splashscreen.service
        dest: /etc/systemd/system/splashscreen.service
        owner: sysop
        group: sysop
        mode: '0770'
        backup: yes

    - name: Activer "splashscreen.service"
      shell:
        cmd: sudo systemctl enable splashscreen.service

    - name: Démarrer "splashscreen.service"
      shell:
        cmd: sudo systemctl start splashscreen.service

    - name: Active SPI
      shell:
        cmd: echo "dtparam=spi=on" >> /boot/config.txt

    - name: Auto-login
      shell:
        cmd: raspi-config nonint do_boot_behaviour B2

    - name: Changer le propriétaire et le groupe dupériphérique
      shell: chown root:gpio /dev/gpiomem

    - name: Configurer les droits du groupe en lecture ecriture
      shell: chmod g+rw /dev/gpiomem

    - name: Ajout de l'utilisateur au groupe gpio
      shell: usermod -a -G gpio $USER

    - name: Ajout de l'utilisateur au groupe spi
      shell: usermod -a -G spi $USER

    - name: Ajout de l'utilisateur au groupe netdev
      shell: usermod -a -G netdev $USER

    - name: Redémarrage !
      reboot:
