Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
Quand tu te connectes a un site, le serveur crée un token de session : une longue chaine de caracteres aleatoires qui t'identifie. Ce token …
Tu vas créer un système d'authentification complet. C'est le coeur de tout site avec des comptes utilisateurs. Écris une classe AuthSystem avec : - inscrire(username, …
Dans une application, tous les utilisateurs n'ont pas les memes droits. Un admin peut tout faire, un utilisateur standard peut lire mais pas supprimer, un …
CSRF (Cross-Site Request Forgery) est une attaque ou un site malveillant fait exécuter des actions a ton insu sur un autre site ou tu es …
Dans Django, un middleware est une classe qui se place entre la requête entrante et la vue qui va la traiter. Chaque requête HTTP passe …
Maintenant qu'on sait écrire un middleware basique, on va en faire un qui garde un historique. En vrai projet, on utiliserait le module logging de …
Dans les APIs, l'authentification se fait souvent via un header HTTP. Le client envoie un header Authorization avec un token, et le serveur vérifie ce …
En production, on veut mesurer le temps de traitement de chaque requête. Un middleware de timing mesure le temps entre l'arrivee de la requête et …
En Django, une vue est une fonction qui recoit un objet HttpRequest et retourne un objet HttpResponse. C'est la brique de base de toute application …
CRUD veut dire Create, Read, Update, Delete. Ce sont les quatre opérations de base pour gerer des données. Dans une vraie application Django, on utiliserait …
La pagination, c'est le fait de decouper une grande liste en pages. Si tu as 100 articles, tu ne veux pas tout envoyer d'un coup …
Django fournit un système de validators dans le module django.core.validators. Un validator est une fonction (ou un callable) qui recoit une valeur et leve une …
Le rate limiting (limitation de debit), c'est le videur de ton API : il limite le nombre de requêtes qu'un client peut faire dans un …
Le Cross-Site Scripting (XSS) est une attaque ou quelqu'un injecte du code JavaScript malveillant dans une page web. Par exemple, si un utilisateur ecrit alert('pirate') …
Le CSRF (Cross-Site Request Forgery) est une attaque ou un site malveillant fait des requêtes en ton nom. Django se protege automatiquement avec un token …
Ne fais jamais confiance aux données envoyees par un utilisateur. C'est la regle d'or de la sécurité web. Django fournit des validators dans django.core.validators pour …
On ne stocke JAMAIS un mot de passe en clair dans une base de données. Si la base est compromise, tous les mots de passe …
Un modèle Django est une classe Python qui représente une table dans la base de données. Chaque attribut du modèle correspond a une colonne de …
Les modèles Django peuvent avoir des relations entre eux, exactement comme les tables dans une base de données relationnelle. Les trois types de relations : …
Un modèle Django n'est pas juste un sac de données. Tu peux y ajouter des méthodes et des propriétés pour encapsuler la logique metier. C'est …
Django permet de definir des choix limites pour un champ avec le paramètre choices. C'est utile pour les champs qui ne peuvent prendre que quelques …
Un formulaire Django est une classe qui definit les champs d'un formulaire HTML, gere la validation automatiquement, et nettoie les données. C'est un outil extremement …
Django permet d'ajouter des validations personnalisees a un formulaire. Il y a deux types : 1. Validation par champ avec clean_(self) : class MonForm(forms.Form): age …
Les formulaires Django offrent de nombreux types de champs specialises. Voici les plus utiles : ChoiceField affiche une liste deroulante : COULEURS = [('rouge', 'Rouge'), …