Vous êtes sur la page 1sur 2

Instructions :

1. Limite de temps : 3 heures


2. Environnement : Les candidats peuvent utiliser n'importe quel environnement de
développement de leur choix.
3. Soumission : Créer un repos GIT public avec les installation et le communiquer le lien au
responsable avant de commencer

Tâches du test :

Tâche 1: Modèles Django (25 points)

Créez un modèle Django pour une application de blog simple. Le modèle devrait inclure les
champs suivants :

- Titre (CharField)
- Contenu (TextField)
- Auteur (ForeignKey vers le modèle utilisateur de Django)
- Date de publication (DateTimeField)
- Est publié (BooleanField)

Écrivez une migration Django pour ce modèle.

Tâche 2: Vues Django (15 points)

Créez une vue Django REST framework qui affiche une liste de tous les articles de blog
publiés. Incluez le titre, le contenu, le nom d'utilisateur de l'auteur et la date de publication
dans la réponse de l'API. La vue doit être accessible à l'adresse `/api/posts/`.

Tâche 3: Formulaires Django (15 points)

Créez un sérialiseur Django REST framework pour le modèle d'article de blog créé dans la
tâche 1. Le sérialiseur doit inclure des champs pour le titre, le contenu et la publication.
Utilisez le modèle utilisateur intégré de Django pour le champ Auteur.

Tâche 4: Tests Django (15 points)

Écrivez un cas de test Django REST framework qui vérifie si l'endpoint `/api/posts/` retourne
un code d'état 200. Utilisez la classe APITestCase.

Tâche 5: API Django (20 points)

Étendez l'API Django REST framework pour inclure des opérations CRUD pour les articles de
blog. Implémentez des points de terminaison pour créer, mettre à jour et supprimer des
articles de blog. Utilisez des sérialiseurs et des vues appropriés.

- Créer : `/api/posts/create/` (Requête POST)


- Mettre à jour : `/api/posts/{id}/update/` (Requête PUT)
- Supprimer : `/api/posts/{id}/delete/` (Requête DELETE)

Tâche bonus (10 points):

Mettez en place une authentification basée sur les jetons pour l'API. Assurez-vous que seuls
les utilisateurs authentifiés peuvent créer, mettre à jour et supprimer des articles de blog.

Vous aimerez peut-être aussi