#!/bin/bash

## Vérifier la présence de firefox-esr, le désinstaler.
## Installer firefox via les dépôts Mozilla.
## Modifier en conséquence ci-dessous le chemin dans /usr/lib/

#!/usr/bin/env bash


# ================================
# Fonctions utilitaires
# ================================
echo_info() { echo -e "\e[1;34m[INFO]\e[0m $*"; }
echo_warn() { echo -e "\e[1;33m[WARN]\e[0m $*"; }
echo_err()  { echo -e "\e[1;31m[ERROR]\e[0m $*"; }

# ================================
# Étape 1 : Détection de Firefox ESR
# ================================
if dpkg -l | grep -qw firefox-esr; then
  echo_info "Firefox ESR est détecté."

  # ================================
  # Étape 2 : Sauvegarde du profil utilisateur
  # ================================
  FIREFOX_DIR="${HOME}/.mozilla/firefox"
  BACKUP_DIR="${HOME}/firefox_esr_backup_$(date +%Y%m%d_%H%M%S)"

  if [[ -d "$FIREFOX_DIR" ]]; then
    echo_info "Sauvegarde du profil Firefox ESR depuis : $FIREFOX_DIR"
    mkdir -p "$BACKUP_DIR"
    cp -a "$FIREFOX_DIR" "$BACKUP_DIR/"
    echo_info "Profil sauvegardé dans : $BACKUP_DIR"
  else
    echo_warn "Aucun répertoire de profil Firefox trouvé dans $FIREFOX_DIR."
  fi

  # ================================
  # Étape 3 : Suppression de Firefox ESR
  # ================================
  echo_info "Suppression de Firefox ESR..."
  sudo apt remove --purge -y firefox-esr
  #sudo apt autoremove -y
else
  echo_info "Firefox ESR n’est pas installé — aucune sauvegarde ni suppression nécessaire."
fi

# ================================
# Étape 4 : Ajout du dépôt officiel Mozilla
# ================================
echo_info "Ajout du dépôt officiel Mozilla pour Firefox."

sudo install -d -m 0755 /etc/apt/keyrings
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | \
  sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

DEB_CODENAME=$(lsb_release -cs)
echo_info "Code-nom Debian détecté : ${DEB_CODENAME}"

if [[ "${DEB_CODENAME}" == "trixie" || "${DEB_CODENAME}" == "bookworm" ]]; then
  sudo tee /etc/apt/sources.list.d/mozilla.sources > /dev/null <<EOF
Types: deb
URIs: https://packages.mozilla.org/apt
Suites: mozilla
Components: main
Signed-By: /etc/apt/keyrings/packages.mozilla.org.asc
EOF
else
  echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | \
    sudo tee /etc/apt/sources.list.d/mozilla.list > /dev/null
fi

sudo tee /etc/apt/preferences.d/mozilla > /dev/null <<EOF
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
EOF

# ================================
# Étape 5 : Installation de Firefox standard
# ================================
echo_info "Mise à jour des dépôts et installation de Firefox."
sudo apt update
sudo apt install -y firefox

echo_info "Installation terminée. Version installée :"
firefox --version

echo_info "✅ Script terminé avec succès."



### Installation de ublock Origin

mkdir tmp

# On télécharge l'extension depuis addons.mozilla.org
wget https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi -O tmp/latest.xpi

# On renomme le fichier avec l'uid de l'extension
mv tmp/latest.xpi tmp/uBlock0@raymondhill.net.xpi

# On crée
sudo mkdir -p /usr/lib/firefox/distribution/extensions/
sudo cp tmp/uBlock0@raymondhill.net.xpi /usr/lib/firefox/distribution/extensions/

# On force les droits en lecture du fichier.
# A vérifier si c'est vraiment utile...
sudo chmod 644 /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi

## TO BE CONTINUED
# Homepage custom avec liens vers service publics + + google search + background
#
