• Email : contact@refbax.com

Directus Python SDK : Le couteau suisse pour votre CMS Directus

Facebook
Twitter
LinkedIn
Temps de lecture : 3 minutes

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 !

Comment installer Python sur Windows ?

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…

Laisser un commentaire

Sur le même thème 🤩

Comment installer Python sur Windows ?

Comment installer Python sur Windows ?

Publié le 23 novembre 2021
Lire la suite
Reverse domain IP checker avec Python

Reverse domain IP checker avec Python

Publié le 29 décembre 2022
Lire la suite
Introduction à Python

Introduction à Python

Publié le 23 novembre 2021
Lire la suite
Déclaration et commentaire en Python

Déclaration et commentaire en Python

Publié le 25 novembre 2021
Lire la suite
Python 3.13 : un compilateur JIT et la fin du GIL ?

Python 3.13 : un compilateur JIT et la fin du GIL ?

Publié le 13 mai 2024
Lire la suite
Comment envoyer un mail avec Python ?

Comment envoyer un mail avec Python ?

Publié le 23 novembre 2021
Lire la suite
Qui suis-je ! 👨‍💻

Enfilez-votre cape

Apprenez le webmarketing et le code grâce à nos différentes ressources et améliorez la visibilité de votre site internet, grâce à nos outils SEO.

refbax superhero bas