1 — Premiers pas
Ce tutoriel part de zéro : vous n’avez pas encore compilé gAgent et vous voulez faire tourner votre premier agent en moins de dix minutes.
Prérequis système
sudo apt install cmake g++ libboost-all-dev libconfig++-dev \
flex bison libzmq3-dev
Étape 1 — Compiler gAgent
Clonez le dépôt et lancez le build :
git clone <url-du-depot> gAgent
cd gAgent
cmake -S . -B build
cmake --build build -j$(nproc)
Puis installez dans dist/ (le préfixe par défaut) :
cmake --install build/
Vous obtenez le répertoire dist/ à la racine du projet :
dist/
├── src/ ← template de démarrage
├── include/gagent/ ← headers publics
├── lib/libgagent.so
└── bin/
├── agentplatform
├── agentmanager
├── agentmonitor
└── agentview
Note
Si vous avez déjà un dist/ fourni (archive, release), passez directement
à l’étape 2 — pas besoin de recompiler.
Étape 2 — Copier le template dans votre projet
dist/src/ contient un projet prêt à l’emploi.
Copiez-le là où vous voulez travailler :
cp -r dist/src/ ~/mes-agents/hello
cd ~/mes-agents/hello
Le contenu :
hello/
├── CMakeLists.txt ← trouve gAgent automatiquement
├── main.cpp ← un agent qui dit Hello toutes les secondes
└── README.md
Étape 3 — Compiler votre agent
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
CMake cherche gAgent dans ../ (le dist/ adjacent).
Si vous avez déplacé dist/ ailleurs, précisez son chemin :
cmake .. -DCMAKE_PREFIX_PATH=/chemin/vers/dist
Étape 4 — Lancer
La bibliothèque libgagent.so se trouve dans dist/lib/.
Il faut indiquer ce chemin au linker dynamique au lancement :
LD_LIBRARY_PATH=/chemin/vers/dist/lib ./build/hello
Résultat attendu :
[HelloAgent] Hello ! (1/5)
[HelloAgent] Hello ! (2/5)
[HelloAgent] Hello ! (3/5)
[HelloAgent] Hello ! (4/5)
[HelloAgent] Hello ! (5/5)
Astuce
Pour ne pas retaper LD_LIBRARY_PATH à chaque fois, vous pouvez l’exporter
dans votre shell ou utiliser ldconfig :
# Option A — export dans le shell courant
export LD_LIBRARY_PATH=/chemin/vers/dist/lib:$LD_LIBRARY_PATH
# Option B — installation système (nécessite sudo)
echo "/chemin/vers/dist/lib" | sudo tee /etc/ld.so.conf.d/gagent.conf
sudo ldconfig
Suite
Modifiez
main.cpppour ajouter vos propres behaviours.Lancez
dist/bin/agentplatformpour activer la plateforme FIPA (AMS + DF).Consultez Messagerie entre agents pour faire communiquer deux agents.