👋 Pour bien commencer
Une API (Interface de Programmation d'Application) permet à vos programmes de discuter avec nos serveurs.
Toutes les requêtes doivent être envoyées à https://api.aragonite.fr suivi du chemin (ex: /monitor/health).
Authentification : Certaines routes nécessitent une clé API pour des raisons de sécurité.
Lisez la description de chaque service pour savoir comment envoyer cette clé (En-tête spécifique ou Authorization).
🖥️ Pterodactyl Monitor GET
/monitor/*
Ces routes vous permettent de vérifier l'état des serveurs et du VPS.
Sécurité : Toutes ces routes (sauf /health) nécessitent la clé API via l'en-tête (Header) :
X-Api-Key: VOTRE_CLE_API
fetch("https://api.aragonite.fr/monitor/health")
.then(res => res.json())
.then(data => console.log(data));
{
"status": "ok"
}
fetch("https://api.aragonite.fr/monitor/containers", {
headers: { "X-Api-Key": "VOTRE_CLE_API" }
})
.then(res => res.json())
.then(data => console.log(data));
{
"total": 15,
"running": 12,
"stopped": 3,
"servers": [
{
"uuid": "381709e4-272d-4a89-a1d2-f6343502e648",
"status": "running",
"running": true,
"image": "nodejs_20",
"ports": ["4028/tcp", "4028/udp"]
}
]
}
fetch("https://api.aragonite.fr/monitor/containers/381709e4-272d-4a89-a1d2-f6343502e648", {
headers: { "X-Api-Key": "VOTRE_CLE_API" }
})
.then(res => res.json())
.then(data => console.log(data));
{
"running": true,
"uuid": "381709e4-272d-4a89-a1d2-f6343502e648",
"status": "running",
"image": "nodejs_20",
"ports": ["4028/tcp", "4028/udp"]
}
{
"status": "ok",
"alive": true,
"hostname": "vps-aragonite",
"uptime_seconds": 1123450,
"docker": "ok"
}
{
"hostname": "vps-aragonite",
"uptime_seconds": 1123450,
"cpu": {
"usage_percent": 14.2,
"cores": 10,
"load": { "1min": 1.25, "5min": 1.40, "15min": 1.35 }
},
"memory": {
"total_mb": 64000,
"used_mb": 32500,
"available_mb": 31500,
"used_percent": 50.8
},
"disk": {
"total_gb": 800.0,
"used_gb": 450.5,
"free_gb": 349.5,
"used_percent": 56.3
},
"containers": { "total": 42, "running": 38 }
}
👤 Discord Avatar & Username GET
/discord/*
Récupérez facilement la photo de profil ou le pseudo d'un utilisateur Discord avec son identifiant (ID).
Sécurité : Aucune clé n'est requise. C'est public !
fetch("https://api.aragonite.fr/discord/avatar/1540310140576858182")
.then(res => res.json())
.then(data => console.log(data));
{
"avatar": "https://cdn.discordapp.com/avatars/1540310140576858182/a_f3...png"
}
{
"username": "ap.pi",
"displayName": "APPI"
}
🧠 Intelligence Artificielle (Ollama) POST
/ia/*
Utilisez nos modèles d'IA locaux pour générer du texte, discuter avec l'IA, ou analyser des images !
Sécurité : L'accès est protégé. Utilisez l'en-tête (Header) X-Api-Key pour vos requêtes.
fetch("https://api.aragonite.fr/ia/api/tags", {
headers: { "X-Api-Key": "VOTRE_CLE_API" }
})
.then(res => res.json())
.then(data => console.log(data));
{
"models": [
{
"name": "llama3:8b",
"model": "llama3:8b",
"size": 4700000000
},
{
"name": "llava:latest",
"model": "llava:latest",
"size": 4700000000
}
]
}
fetch("https://api.aragonite.fr/ia/api/chat", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "VOTRE_CLE_API"
},
body: JSON.stringify({
model: "llama3:8b",
messages: [
{ role: "system", content: "Tu es un assistant sarcastique." },
{ role: "user", content: "Pourquoi le ciel est bleu ?" }
],
stream: false
})
})
.then(res => res.json())
.then(data => console.log("Réponse :", data.message.content));
{
"model": "llama3:8b",
"created_at": "2026-08-21T12:00:00.000Z",
"message": {
"role": "assistant",
"content": "Parce que la lumière bleue se diffuse plus. Cherche sur Google, franchement..."
},
"done": true
}
fetch("https://api.aragonite.fr/ia/api/generate", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "VOTRE_CLE_API"
},
body: JSON.stringify({
model: "llava", // Le modèle de Vision !
prompt: "Décris-moi ce que tu vois sur cette image.",
images: ["iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg=="], // Image Base64
stream: false
})
})
.then(res => res.json())
.then(data => console.log("L'IA voit :", data.response));
{
"model": "llava",
"created_at": "2026-08-21T12:05:00.000Z",
"response": "Je vois un pixel de couleur rouge. L'image est extrêmement petite.",
"done": true
}