Pages annexes, exemples et details techniques dans une mise en page plus lisible.
Les SDKs officiels permettent d'intégrer facilement l'API Militant dans vos applications Python et JavaScript/Node.js.
requestsaxioscurl -fsSL https://api.militant.revlibertaire.com/sdk/install-python.sh | sh
python3 -m pip install requests
curl -fsSL https://api.militant.revlibertaire.com/sdk/install-javascript.sh | sh
npm install axios
Si vous utilisez curl -o vendor/militant-sdk/..., le dossier parent doit exister sinon curl retourne souvent curl: (23).
mkdir -p vendor/militant-sdk && curl -fsSLo vendor/militant-sdk/militant.py https://api.militant.revlibertaire.com/sdk/python/militant.py
python3 -m pip install requests
mkdir -p vendor/militant-sdk && curl -fsSLo vendor/militant-sdk/militant.js https://api.militant.revlibertaire.com/sdk/javascript/militant.js
npm install axios
import syssys.path.append('./vendor/militant-sdk')
from militant import MilitantClient
const MilitantClient = require('./vendor/militant-sdk/militant');
Si vous preferez un projet tres simple, placez directement militant.py ou militant.js a la racine de votre application.
from militant import MilitantClientInitialiser
client = MilitantClient('https://militant.revlibertaire.com')Se connecter
user = client.login('username', 'password')Recuperer le fil d'actualite
timeline = client.get_timeline()Creer un post
post = client.create_post('Hello from Python!')
const MilitantClient = require('./militant');(async () => {
// Initialiser
const client = new MilitantClient('https://militant.revlibertaire.com');
// Se connecter
const user = await client.login('username', 'password');
// Recuperer le fil d'actualite
const timeline = await client.getTimeline();
// Creer un post
const post = await client.createPost('Hello from JavaScript!');
})();
Les deux SDKs couvrent une large partie de l'API et servent de base officielle pour les integrations courantes :
X-Flutter-App: militant-flutter-v1Note :
Pour une documentation complète avec tous les exemples:
L'API et les SDKs supportent:
client = MilitantClient('https://militant.revlibertaire.com')
client.login('bot_username', 'bot_password')Récupérer les signalements
reports = client.get_reports()
for report in reports['data']:
if report['reason'] == 'spam':
# Voter pour approuver
client.vote_on_report(report['id'], 'approve')
const client = new MilitantClient('https://militant.revlibertaire.com');// Login utilisateur
await client.login(username, password);
// Afficher le fil d'actualité
const timeline = await client.getTimeline(1, 20);
displayPosts(timeline.data.items);
// Créer un post avec upload
const formData = new FormData();
formData.append('file', imageFile);
const upload = await client.uploadMedia(formData);
await client.createPost('Check this out!', upload.data.url);
client = MilitantClient('https://militant.revlibertaire.com')
client.login('username', 'password')Exporter toutes les données
data = client.export_data()Sauvegarder en JSON
import json
with open('my_data.json', 'w') as f:
json.dump(data, f, indent=2)
Problème avec un SDK? Ouvrez une issue sur GitLab:
Les contributions sont les bienvenues! Pour contribuer: 1. Fork le projet sur GitLab 2. Créez une branche pour votre fonctionnalité 3. Committez vos changements 4. Poussez vers la branche 5. Ouvrez une Merge Request
Les SDKs sont distribués sous la même licence que l'API Militant. Voir le fichier LICENSE à la racine du projet.