AkamaSoft

Aujourd’hui, les API REST sont indispensables pour connecter des applications web, mobiles et des services tiers. Dans ce guide complet, vous apprendrez pas à pas comment créer une API avec Django Rest Framework (DRF), la sécuriser, puis l’utiliser dans une application frontend ou mobile.

Cet article est conçu pour les débutants mais respecte les standards professionnels utilisés en entreprise.

Chez Akamasoft, nous développons des solutions API modernes, sécurisées et évolutives pour les entreprises africaines et internationales.


1. Comprendre le fonctionnement d’une API REST

Une API permet à plusieurs applications de communiquer entre elles.

Schéma simplifié du fonctionnement :

[ Application Mobile ]
           |
           v
[ API Django REST ]
           |
           v
[ Base de données ]

L’API agit comme un intermédiaire sécurisé entre le client (mobile, web) et la base de données.


2. Prérequis techniques

  • Python 3.9+
  • Connaissances de base en Python
  • Un éditeur de code (VS Code recommandé)
  • Notions de terminal / ligne de commande

3. Installation de Django et Django Rest Framework

pip install django djangorestframework

Création du projet :

django-admin startproject api_project
cd api_project

Création de l’application :

python manage.py startapp api

Ajoutez dans settings.py :


INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'rest_framework',
    'api',
]

4. Création de la base de données


from django.db import models

class Produit(models.Model):
    nom = models.CharField(max_length=150)
    description = models.TextField()
    prix = models.DecimalField(max_digits=10, decimal_places=2)
    date_creation = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.nom

Appliquer les migrations :


python manage.py makemigrations
python manage.py migrate

---

5. Création du Serializer (conversion vers JSON)


from rest_framework import serializers
from .models import Produit

class ProduitSerializer(serializers.ModelSerializer):
    class Meta:
        model = Produit
        fields = '__all__'

---

6. Création de l’API (Views)


from rest_framework import viewsets
from .models import Produit
from .serializers import ProduitSerializer

class ProduitViewSet(viewsets.ModelViewSet):
    queryset = Produit.objects.all()
    serializer_class = ProduitSerializer

---

7. Configuration des URLs


from django.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import ProduitViewSet

router = DefaultRouter()
router.register(r'produits', ProduitViewSet)

urlpatterns = [
    path('api/v1/', include(router.urls)),
]

➡️ URL finale :

http://127.0.0.1:8000/api/v1/produits/

---

8. Sécurisation de l’API

Activation de l’authentification


REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
}

Installation des tokens


pip install djangorestframework-authtoken
python manage.py migrate

---

9. Tester l’API

Outils recommandés :

  • Postman
  • Insomnia

Header requis :


Authorization: Token VOTRE_TOKEN

---

10. Performance et scalabilité

Optimisation des performances

  • Pagination des résultats
  • Mise en cache avec Redis
  • Optimisation des requêtes SQL

Scalabilité

[ Client ]
     |
[ NGINX ]
     |
[ Django API ]
     |
[ Redis / Database ]
  • Dockerisation
  • Load Balancing
  • Microservices

---

11. Connexion avec une application frontend ou mobile

Exemple avec JavaScript (fetch)


fetch('http://localhost:8000/api/v1/produits/', {
  headers: {
    'Authorization': 'Token VOTRE_TOKEN'
  }
})
.then(res => res.json())
.then(data => console.log(data));

Architecture globale

[ React / Flutter / Vue ]
           |
           v
     [ API Django ]
           |
           v
     [ Base de données ]

---

12. Bonnes pratiques de sécurité

  • Utiliser HTTPS
  • Ne jamais exposer les clés secrètes
  • Limiter les permissions
  • Mettre à jour régulièrement les dépendances

---

Conclusion

Vous savez maintenant créer une API REST complète, sécurisée et prête pour la production avec Django Rest Framework.

Chez Akamasoft, nous accompagnons les entreprises dans le développement d’API modernes, performantes et sécurisées, adaptées aux réalités du marché africain et international.

Auteur: Mvondo bekey anael sixako

ceo | founder
COMPETENCES
  • • Maitrise des environnements Unix, Linux, Mac, Windows, IOS et Android
  • • Programmation Orientée Objet : Python, Ruby, C++, Java, PHP, Js
  • • Certifier linux Lpi (101, 102, 202, 203, 301, 303)
  • • Certifier Adwords Professional , Certifier Ceh (6, 7, 8, 9, 10, 11)
  • • Maîtrise parfaite de : Docker, VMware sphère, Microsoft Hyper, Citrix, Virtual box,promox vm
Annonce