Skip to content

🛠️ SoftDesk Support – Développement d’une API REST sécurisée avec Django REST Framework ​

SoftDesk

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

Liens utiles ​

Logo de Gitlab