Tile38 est une base de données géospatiale haute performance conçue pour le suivi en temps réel et la gestion de barrières géographiques (geofencing). Compiler cette solution depuis les sources est une excellente méthode pour assurer la compatibilité avec votre environnement de développement spécifique sur macOS ou Windows.
Prérequis techniques
Avant de lancer le processus de build, assurez-vous de disposer des outils suivants :
- Go (1.18+) : Le runtime Go est indispensable pour la compilation.
- Git : Pour récupérer le code source du dépôt.
- Outils de build :
- Windows : Un environnement GCC, tel que MSYS2 ou MinGW.
- macOS : Les outils de ligne de commande Xcode (
xcode-select --install).
Clonage du dépôt source
Récupérez le code source officiel via la commande suivante :
git clone https://github.com/tidwall/tile38.git
cd tile38
Procédure sur Windows
Pour compiler sous Windows, configurez vos variables d'environnement afin de supporter les modules Go :
set GO111MODULE=on
set CGO_ENABLED=1
Utiilsez ensuite les cibles définies dans le Makefile pour générer les exécutables :
mingw32-make server cli
Les fichiers tile38-server.exe et tile38-cli.exe seront générés à la racine. Pour valider l'installation, lancez le serveur : .\tile38-server.exe.
Procédure sur macOS
Sur macOS, le processus est simplifié grâce à la gestion native des outils Unix :
make server cli
Une fois la compilation terminée, vous pouvez tester la connexion au serveur immédiatement :
./tile38-cli
> PING
PONG
Optimisation et automatisation
Pour les builds de production, le projet inclut un script d'automatisation situé dans le dossier scripts/. Vous pouvez générer des archives prêtes à être déployées sur différentes architectures en utilisant :
make dist
Si vous rencontrez des lenteurs lors de la phase de compilation, vous pouvez exploiter la parallélisation des cœurs de votre processeur avec l'option -j :
make -j8 server
Dépannage courant
- Erreurs CGO : Si la compilation échoue à cause de CGO, vérifiez que votre compilateur GCC est correctement référencé dans votre variable d'environnement
PATH. - Conflits de versions : Assurez-vous d'utiliser une version récente de Go, car des fonctionnalités de modules récentes sont requises par les dépendances de Tile38.
- Vérification : En cas de comportement inattendu, consultez les tests unitaires intégrés dans le dossier
internal/pour vérifier que les composants critiques sont correctement construits.