Sommaire
Eh oui, chez Refbax, on aime bien mettre la main à la pâte et développer des outils qui facilitent la vie des développeurs. Notre dernière trouvaille ? Le SDK Python pour Directus, va vous permettre d’interagir avec votre CMS Directus en toute simplicité. Fini les heures passées à éplucher la doc de l’API, avec ce SDK, vous allez pouvoir gérer vos utilisateurs, vos fichiers et vos collections en quelques lignes de code Python. Plutôt cool, non ?
Voir le SDK Python pour Directus sur Github
Directus, le CMS headless qui a tout compris
Bon qui ne connait pas directus ?
Avec Directus, vous avez un contrôle total sur votre structure de données. Vous pouvez créer et personnaliser vos collections et champs à volonté. Et cerise sur le gâteau, vous pouvez même gérer finement les permissions et les rôles des utilisateurs.
Avant de rentrer dans le vif du sujet, petit rappel pour ceux du fond qui ne suivent pas. Directus, c’est un CMS headless open-source qui vous permet de gérer votre contenu via une interface utilisateur intuitive tout en proposant une API RESTful pour servir ce contenu sur n’importe quelle plateforme. En gros, vous stockez votre contenu dans Directus et vous pouvez ensuite le récupérer facilement via l’API pour l’afficher sur votre site web, votre app mobile, votre montre connectée ou même votre frigo intelligent si ça vous chante.
Le SDK Python de Directus, votre nouvel allié
Bon, revenons à nos moutons. Notre SDK Python, c’est un peu comme le couteau suisse du développeur Directus. Il va vous permettre de réaliser tout un tas d’opérations sans avoir à écrire des requêtes HTTP à la main. Voici quelques exemples de ce que vous pouvez faire avec :
Comment installer ?
Mais assez parlé, passons à l’action ! Pour commencer à utiliser le SDK Python pour Directus, rien de plus simple. Ouvrez votre terminal, et hop :
pip install directus-sdk-py
Et voilà, en une simple commande, vous avez le SDK prêt à l’emploi. Il ne vous reste plus qu’à l’importer dans votre projet Python :
from directus_sdk_py import DirectusClient
client = DirectusClient(url='https://votre-instance-directus.com', token='votre_token_d_acces')
Remplacez bien sûr l’URL et le token par ceux de votre instance Directus. Et maintenant, vous êtes paré pour faire des étincelles avec le SDK !
Authentification
Parce que la sécurité c’est important, le SDK vous permet de vous authentifier facilement auprès de votre instance Directus. Vous pouvez vous connecter avec vos identifiants email/mot de passe :
client.login(email='user@example.com', password='password')
Et hop, vous récupérez votre token d’accès pour les requêtes suivantes. Et si jamais vous avez fini de jouer, vous pouvez aussi vous déconnecter proprement :
client.logout()
Gestion des utilisateurs
Avec le SDK, vous pouvez récupérer, créer, mettre à jour et supprimer des utilisateurs Directus en deux temps trois mouvements. Par exemple, pour récupérer la liste de tous les utilisateurs :
users = client.get_users()
Ou pour créer un nouvel utilisateur :
user_data = {
'first_name': 'John',
'last_name': 'Doe',
'email': 'john@example.com',
'password': 'password'
}
new_user = client.create_user(user_data)
C’est pas beaucoup plus compliqué pour mettre à jour ou supprimer un utilisateur. Bref, vous avez saisi l’idée.
Gestion des fichiers
Même chose pour les fichiers, le SDK vous facilite la vie. Vous pouvez lister tous les fichiers, rechercher des fichiers selon des critères, récupérer l’URL d’un fichier et même appliquer des transformations à la volée.
Par exemple, pour récupérer une image redimensionnée et avec un filtre de flou :
display = {
"quality": 95
}
transform = [
["blur", 10],
["tint", "rgb(255, 0, 0)"]
]
transformed_url = client.get_file_url(file_id, display=display, transform=transform)
Plutôt pratique pour générer des variantes de vos images à la demande. Et si vous avez besoin de télécharger le fichier original, pas de souci :
client.download_file(file_id, 'path/to/download.jpg')
Gestion des collections et des items
Évidemment, le SDK ne serait pas complet sans la possibilité de gérer vos collections et vos items Directus. Vous pouvez récupérer une collection, lister les items d’une collection, récupérer un item spécifique, créer, mettre à jour ou supprimer un item.
Pour récupérer une collection et ses champs :
collection = client.get_collection(collection_name='articles')
Pour lister les items d’une collection avec des filtres :
request = {
"query": {
"filter": {
"status": {
"_eq": "publié"
}
}
}
}
published_articles = client.get_items('articles', request)
Et pour créer un nouvel item :
item_data = {
'title': 'Mon super article',
'body': 'Lorem ipsum dolor sit amet...',
'status': 'brouillon'
}
new_article = client.create_item('articles', item_data)
Rien de bien sorcier, mais franchement ça dépanne bien !
Le SDK est compatible avec Python 3.7+ et peut être installé facilement via pip :
pip install directus-sdk-py
Alors, convaincu ? Si vous voulez essayer le SDK Python pour Directus, n’hésitez pas à faire un tour sur le dépôt GitHub : https://github.com/reise69/directus-py-sdk. Vous y trouverez le code source, la documentation et plein d’exemples pour bien démarrer. Et si jamais vous avez des questions ou des suggestions d’amélioration, n’hésitez pas à ouvrir une issue, on est à l’écoute !
En attendant, bon codage à tous et à la prochaine pour de nouvelles aventures Python et Directus !
Tu veux en savoir plus sur "Directus / Python / SDK / SDK Python / Github / John / client / collection / utilisateur / item / fichier / install directus / instance directus" ? 😎
Comment installer Python sur Windows ?
La première étape de l'apprentissage d'un langage de programmation n'est pas toujours de faire son Hello World souvent il est nécessaire de passer par la…