Skip to content

Compiler le projet

Taha Khetib edited this page May 12, 2025 · 4 revisions

Compiler le tout

Préparer l’environnement de développement

Afin de pouvoir compiler l’application, vous aurez besoin des outils suivants

- SDK Dart
- (Linux uniquement),Librairie libsecret-dev-1 (GNOME-SECRETS,nom variant d’une distro à l’autre)
- (MacOS uniquement) Outils de développement Xcode + Homebrew
- (Windows Uniquement) Chocolatey pour l’installation de Dart
- GCC (Linux&Windows) / Clang (MacOS)
- Git

N’importe quel éditeur de texte est utilisable pour développer en Dart, vous pouvez utiliser VSCode qui possède une extension dédiée au Dev Dart et si vous souhaitez un IDE complet, Android Studio est l’IDE dédié pour le développement d’application Dart/Flutter

Installation du SDK Dart

Note : Si vous avez déjà codé des applications Flutter sur votre machine et n’avez pas désinstallé le SDK Flutter, le SDK Dart est déjà installé

Sur Windows

  • Afin de pouvoir installer Dart vous devez d’aborder installer le gestionnaire de paquet Chocolatey → https://chocolatey.org
  • Une fois Chocolatey d’installé, vous pouvez débuter l’installation du SDK Dart à l’aide de la commande suivante
 choco install dart-sdk
  • Une fois l’installation terminée, vous pouvez désormais ouvrir un nouveau terminal et taper la commande dart --version pour vous assurer que le SDK Dart est bien installé

Sur MacOS

  • Afin d’installer Dart, je vous recommande d’installer le gestionnaire de paquets Homebrew (il s’occupera de tout bien installer et configurer à votre place) → https://brew.sh
  • Une fois hombrew installé correctement, tapez les commandes suivantes dans votre terminal pour lancer l’installation du SDK Dart
brew tap dart-lang/dart // Ajoute la "formule" nécessaire pour installer le SDK Dart
brew install dart
  • Une fois l’installation terminée, ouvrez un nouveau terminal et tapez la commande dart --version pour vous assurer que le SDK Dart est installé correctement

Sur GNU/Linux

  • Afin d’installer Dart, vous pouvez utiliser votre gestionnaire de paquet selon votre distribution. Pour ce guide je donnerai les instructions d’installation pour debian
  • Pour lancer l’installation tapez les commandes suivantes dans votre terminal
sudo apt-get update && sudo apt-get install apt-transport-https // Dépendance requise pour installer Dart
----------------
wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub \
  | sudo gpg  --dearmor -o /usr/share/keyrings/dart.gpg // Ajoute la clé publique de Google qui signe les paquets produits par Google
----------------
echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' \
  | sudo tee /etc/apt/sources.list.d/dart_stable.list // Ajoute le repo contenant le SDK Dart à la liste des repos utilisables par apt-get
-------
sudo apt-get update && sudo apt-get install dart // Installe dart
  • Une fois l’installation terminée ouvrez un nouveau terminal et tapez dart --version pour vous assurer que Dart est correctement installé

Installation d’autres dépendances

Vous devrez installer GCC ou Clang pour pouvoir compiler le code de la librairie C, le détail pour l’installer est donné dans les sections pour chaque OS

Spécifiques à MacOS

Étant que vous allez être amené à compiler du code C pour pouvoir générer la librairie faisant interface avec le code Dart, vous devez installer les outils de développement d’Apple pour pouvoir communiquer avec la librairie Security.h

Afin d’installer ces outils sans avoir à installer Xcode complètement, tapez la commande suivante dans votre terminal

xcode-select --install // Installe les outils de développement de base tels que GCC, Clang et librairies de développement C

Une fois l’installation terminée vous pouvez désormais continuer le guide

Spécifiques à GNU/Linux

Afin de pouvoir compiler le code C de la librairie LinuxKeychainAPI.c vous devez installer le compilateur GCC, vous pouvez le faire à l’aide de votre gestionnaire de paquet natif à votre distro Linux, pour des distros basées sur Debian, tapez la commande suivante

sudo apt install gcc

Etant que GNU/Linux ne possède pas de "trousseau de clés" par défaut, il est nécessaire d’installer la librairie permettant d’interagir avec celui-ci, j’ai utilisé gnome-secrets, pour l’installer sur un debian il faut taper la commande suivante

sudo apt install libsecret-1-dev

Attention, d'une distribution Linux à l'autre, la librairie ne possède pas exactement le même nom, vérifiez le nom de la librairie pour votre distribution

Une fois ces outils installés vous pouvez désormais continuer le processus de compilation

Spécifique à Windows

Pour pouvoir compiler la librairie C, vous devez installer GCC à travers la méthode suivante, je considère que vous avez Chocolatey d’installé sur votre système, si c’est pas le cas, installez-le à l’adresse suivante https://chocolatey.org

Tout d’abord, veuillez installer mingw à l'aide de chocolatey (Version de GCC faite pour Windows)

choco install mingw -y
  • Une fois l’installation terminée, vérifiez que GCC est correctement installé en tapant la commande gcc dans un nouveau terminal
  • Vous pouvez donc continuer le guide et lancer le programme

Lancement du programme sans le compiler

  • Dart possède un mode d’exécution "similaire" à Python, où vous pouvez lancer le programme depuis le dossier du projet, afin de faire cela, vous devez à taper la commande dart run
  • Il est a noter que le programme s’attende à ce qu’un dossier celeneCLI existe dans votre $HOME avec la librairie C compilée, pour compiler la librairie C, je vous renvoie vers @libCCompile

Activation des logs de debug

  • Afin d’activer les logs de debug, vous pouvez écrire la commande suivante
dart run -DDEBUG=true

Compiler le programme

J’ai écrit plusieurs scripts pour compiler le programme, ces derniers sont trouvables dans le dossier buildScripts à la racine du projet

Je vous recommande d’utiliser le script makeReleaseZip.sh qui compilera tout les éléments et créera une archive contenant le binaire du programme, le fichier de librairie dynamique, et un script d'installation

Pour pouvoir l’utiliser vous devez avoir la variable d’environnement $CELENE_CLI_PROJROOT réglée au chemin de la racine du projet

Afin de l’utiliser vous devez taper les commandes suivantes

cd buildScripts
chmod +x makeReleaseZip.sh
./makeReleaseZip.sh <OS> <Architecture> <n°de version>
// Exemple ./makeReleaseZip.sh macos arm64 1.1.0