🛠️ SoftDesk Support – Développement d’une API REST sécurisée avec Django REST Framework ​
Contexte ​
Dans le cadre de ma formation chez OpenClassrooms, j’ai intégré l’équipe de SoftDesk, une société éditrice de logiciels B2B, en tant qu’ingénieur logiciel. Ma mission : développer le back-end d’une application de gestion de tickets (issues) via une API RESTful sécurisée et performante, servant de socle à des applications front-end multi-plateformes.
Objectif ​
Développer une API complète avec Django REST Framework, répondant aux exigences suivantes :
- Authentification via JSON Web Token (JWT)
- Sécurisation des accès par permissions personnalisées
- Respect des bonnes pratiques OWASP, RGPD et Green Code
- Conception et implémentation des modèles de données : User, Project, Contributor, Issue, Comment
- Fourniture d’un back-end robuste, documenté et testable via Postman
Défis techniques ​
- Mise en œuvre de l’authentification JWT (connexion, token refresh)
- Gestion fine des autorisations par rôles et par objets (lecture, écriture, suppression conditionnelles)
- Implémentation de la structure relationnelle définie (diagramme : projets, contributeurs, tickets, commentaires)
- Respect des exigences RGPD :
- Consentement explicite
- Droit d’accès, de rectification et à l’oubli
- Vérification de l’âge pour collecte des données
- Application des principes de sobriété numérique :
- Optimisation des requĂŞtes
- Mise en place d’une pagination systématique
- Structuration claire du code (DRY, PEP 8), dépendances gérées avec Poetry
Compétences développées ​
- Développement d’une API RESTful complète avec Django REST Framework
- Sécurisation des endpoints avec JWT et permissions personnalisées
- Application des standards OWASP Top 10 à l’API
- Intégration des principes RGPD dans la logique métier et les modèles utilisateurs
- Conception d’une API optimisée et sobre pour minimiser les ressources serveur
- Utilisation de Postman pour tester les endpoints et valider le comportement attendu