Compiler Freetube pour Ubuntu 22.04 et 24.04
Préambule
- Ce tutoriel décrit la compilation du logiciel Freetube.
- Le système d'exploitation utilisé est Ubuntu 22.04 LTS, mais le tutoriel peut être adapté à d'autres distributions Linux, ainsi qu'à Windows ou macOS.
Sources
- Documentation Freetube : Building From Source
- Dépôt Git de Freetube : GitHub - FreeTubeApp
Pré-requis
Assurez-vous d'avoir installé les éléments suivants :
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.
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.
Avant de commencer, je tiens à préciser que sur mon ordinateur, nvm (Node Version Manager) était déjà installé. Je ne me souviens pas de l'avoir installé manuellement, il est donc possible qu'il ait été installé par un autre outil ou script ou d'un environnement de développement.
Cependant, pour ceux qui n'ont pas nvm installé ou qui souhaitent l'installer, voici la méthode recommandée] :
- 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
- Chargez l'environnement
source ~/.bashrc
- 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 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.
- Pour cela il faut ajouter le dépôt Yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update
- Maintenant on peut installer Yarn :
sudo apt install --no-install-recommends yarn
L'option --no-install-recommends est utilisée pour indiquer à apt de ne pas installer les paquets recommandés qui sont généralement installés par défaut avec le paquet principal.
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.
targets = Platform.LINUX.createTarget(['deb'], arch)
- Enregistrez et fermez le fichier (dans `nano`, appuyez sur `CTRL + X`, puis `Y`, puis `Entrée`).
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).
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
- Méthode graphique : méthode que vous pouvez conseiller si vous partagez votre paquet deb avec quelqu'un d'autre.
- Faites un clique 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 !