Aller au contenu

Compiler Freetube pour Ubuntu 22.04 et 24.04

De OSWiki

Préambule

  • Freetube est un lecteur YouTube open source conçu pour protéger la vie privée.
  • Ce tutoriel décrit la compilation de Freetube à partir des sources ce qui est utile parfois quand la version stable n'est pas encore sortie et que Freetube ne fonctionne plus.
  • Le système d'exploitation utilisé est Ubuntu 22.04 LTS ou Ubuntu 24.04 LTS, mais le tutoriel peut être adapté à d'autres distributions Linux, ainsi qu'à Windows ou macOS.

Sources

Pré-requis

Assurez-vous d'avoir installé les éléments suivants (installations décrites ci-dessous) :

  • Git
  • build-essentiel
  • npm
  • nvm
  • Node.js
  • Yarn

Git

Pour installer Git utiliser les commandes suivantes dans un terminal :

sudo apt update
sudo apt install git

build-essential, npm

  • Le paquet build-essential sur les systèmes basés sur Debian, comme Ubuntu, est un méta-paquet qui regroupe un ensemble d'outils et de bibliothèques nécessaires pour compiler des logiciels à partir de leur code source.
  • npm (Node Package Manager) est le gestionnaire de paquets par défaut pour Node.js, permettant aux développeurs d'installer, de gérer et de partager des bibliothèques et des dépendances JavaScript. Vous trouverez plus d'inforamtions sur le fonctionnement de npm ici.

Pour installer build-essential et npm, exécutez :

sudo apt install build-essential  npm

Installer nvm

nvm est un outil très utile pour gérer les versions de Node.js et npm.

Méthode recommandée :

  1. Installez curl si ce logiciel n'est pas déjà installé sur votre système :
     sudo apt install curl 
  2. Télécharger et installer nvm. Exécutez la commande suivante :
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  3. Chargez l'environnement
    source ~/.bashrc
  4. Après avoir installé nvm, vérifier si les lignes suivantes ont été ajoutées à votre fichier de configuration de shell ( ~/.bashrc ou ~/.zshrc) :
     export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
    
    • Si ces lignes sont présentes : Cela signifie que nvm est correctement configuré pour être chargé automatiquement à chaque fois que vous ouvrez un nouveau terminal.
    • Si ces lignes ne sont pas présentes : Vous pouvez les ajouter manuellement à la fin de votre fichier de configuration de shell. Rechargez l'environnement.

Node.js

  • Node.js est un environnement d'exécution JavaScript côté serveur qui permet d'exécuter du code JavaScript en dehors d'un navigateur, facilitant le développement d'applications web et de serveurs.
  • Il est recommandé d'utiliser une version LTS (version avec un nom de code ).
  • Ce tutoriel a été écrit le 22 février 2025 et, à cette date les sources de Freetube ne compile pas avec une version inférieure à v22.14.0. Il semble qu'il faille utilisez la version LTS de Node.js la plus récente.

Commandes utiles

  • Listez les versions installée de Node.js avec la commande
nvm ls
  • Pour trouver la version active de node.js :
node -v
  • Installer une version LTS de Node.js (ici la version 22.04 LTS)
nvm install 22
  • Utiliser une version de Node.js (par exemple la version 22.04)
nvm use 22
  • Définir la version 22.04 TLS comme version de Node.js utilisée par défaut :
nvm alias default 22

Installer Node.js

nvm install 22
nvm use 22
nvm alias default 22

Installer Yarn

  • Yarn est un gestionnaire de paquets alternatif à npm, conçu pour être rapide et fiable, offrant des fonctionnalités telles que la mise en cache des paquets et la gestion des dépendances en parallèle.
  • Installer Yarn :
sudo npm install -g yarn

Compiler Freetube

Cloner le dépôt FreeTube

  • Placez vous dans le dossier de votre choix et lancez la commande :
git clone https://github.com/FreeTubeApp/FreeTube.git
  • Cette commande télécharge le dossier FreeTube complet des sources du logiciel FreeTube.

Modifier le script de construction

  • Placez-vous dans le dossier Freetube :
cd FreeTube
  • Ouvrez le fichier `_scripts/build.js` dans un éditeur de texte (par exemple, `nano`) :
nano _scripts/build.js
  • Recherchez la ligne contenant `Platform.LINUX.createTarget` et modifiez-la pour supprimer les cibles que vous ne souhaitez pas construire.
  • Dans Ubuntu, on utilise un fichier .deb pour installer FreeTube, donc ici, on ne conserve que deb dans la liste des fichiers générés. Adaptez cette ligne à ce que vous désirez faire. Il est à noter qu'il existe également une ligne pour macOS et une ligne pour Windows. Utilisez-les à bon escient.
  • Ligne recherchée :
 targets = Platform.LINUX.createTarget(['deb', 'zip', '7z', 'apk', 'rpm', 'AppImage', 'pacman'], arch)
  • La ligne modifiée devient :
 targets = Platform.LINUX.createTarget(['deb'], arch) 
  • Enregistrez et fermez le fichier (dans `nano`, appuyez sur `CTRL + X`, puis `Y`, puis `Entrée`).

Installer les dépendances

  • Avant de construire le projet vous devez installer les dépendances nécessaires.
  • Exécutez la commande suivante dans le terminal (vous êtes dans le dossier Freetube ). :
npm install
  • Vous aurez peut-être des avertissements mais, cela n'empêche pas l'installation des dépendances et la compilation de Freetube.

Compiler FreeTube

  • Compilez FreeTube avec la commande suivante (vous êtes dans le dossier Freetube ):
npm run build
  • Si vous exécutez un système d'exploitation Linux 64 bits et que vous souhaitez créer des binaires pour l'architecture ARM64, vous pouvez utiliser la commande suivante :
npm run build:arm

Cette commande compile le projet pour l'architecture ARM64, ce qui est utile si vous prévoyez d'exécuter l'application sur des dispositifs basés sur ARM, comme les Raspberry Pi.

Vérifier le dossier de construction

Après la compilation, un dossier `build/` sera créé dans le répertoire du projet. Vous pouvez y trouver le fichier .deb (ou cibles choisies dans le fichier build.js).

Installer Freetube

Sauvegardes

  • Tout d'abord, dans Freetube, faites une sauvegarde de votre historique, vos abonnements et vos listes de lecture depuis Paramètres / Données / Exporter vos abonnements, Exporter l'historique et Exporter des listes de lecture.
  • Si vous avez installé Freetube avec un fichier .deb, vous pouvez faire une sauvegarde du fichier de configuration de FreeTube. Depuis quelques versions il n'est plus supprimé pendant une mise à jour mais c'est plus sûr. Ce fichier est dans /home/<user>/.config/FreeTube. Vous pourrez supprimer cette sauvegarde quand le logiciel se sera lancé correctement (Remplacez <user> par votre nom d'utilisateur).
cp -R /home/<user>/.config/Freetube  /home/<user>/.config/Freetube_old

Faire de la place

  • Désinstaller l'ancienne version que vous aviez installée avec une archive deb. (La version snap peut être conservée mais ne fonctionnera sans doute plus).
sudo apt remove freetube

Installation

  • Installez la nouvelle version de Freetube
  • En ligne de commande (remplacez <version> par la version du paquet .deb)
     sudo dpkg -i <chemin vers le fichier deb>/freetube_<version>_amd64.deb
    • Dans Ubuntu 24.04 il a fallu modifier les droits du fichier /opt/FreeTube/chrome-dandbox
    sudo chmod 4755 /opt/FreeTube/chrome-sandbox
  • Méthode graphique : méthode que vous pouvez conseiller si vous partagez votre paquet deb avec quelqu'un d'autre.
    • Faites un clic gauche sur le fichier .deb (freetube_<version>_amd64.deb).
    • Cliquez sur "Ouvrir avec une autre application".
    • Sélectionnez "Installation de l'application".

Si des erreurs se sont glissées dans ce tutoriel, veuillez me le signaler sur Mastodon. Merci !