Tests d’acceptation utilisateur (UAT) : processus, liste de contrôle et exemples réels

  1. Accueil
  2. Blog
  3. Tests de logiciels

Tests de logiciels

Tests d’acceptation utilisateur (UAT) : Processus, liste de contrôle et exemples réels

Un logiciel peut réussir tous les tests et échouer quand même pour les personnes qui en ont besoin. L’UAT est la vérification finale qu’elle résout le véritable problème commercial. Découvrez qui doit le diriger, comment le planifier et quand le signer.

9 min de lecture
Tests d'acceptation utilisateur (UAT) : processus, liste de contrôle et exemples réels

À retenir

  • Les tests d’acceptation des utilisateurs vérifient que les logiciels répondent aux besoins réels de l’entreprise, à l’aide de scénarios réels.
  • Il est géré par les utilisateurs professionnels ou les clients, et non par l’équipe qui a créé le logiciel.
  • Le contrôle qualité demande « est-ce que cela fonctionne comme spécifié ? », tandis que l’UAT demande « est-ce que cela résout le problème ? ».
  • Convenez des critères d’entrée, des critères de sortie et de la personne qui signe avant le début de l’UAT.

Une équipe livre un jour un système de dépenses qui réussit tous les tests techniques. Dès le premier jour, l’équipe financière découvre qu’elle ne peut pas gérer les créances multidevises, qui représentent une grande partie de son travail. Rien n’était “cassé”, mais ce n’était pas utilisable. Les tests d’acceptation des utilisateurs existent pour combler exactement ce type d’écart avant le lancement.

Ce guide explique en quoi l’UAT diffère des autres tests, comment l’exécuter étape par étape et comment décider quand vous êtes prêt à le publier. Le scénario ci-dessus et les exemples ci-dessous sont illustratifs et le processus doit être adapté à votre projet.

Qu’est-ce que l’UAT ?

L’UAT constitue généralement la phase de test finale avant la sortie, au cours de laquelle les utilisateurs prévus confirment que le logiciel peut faire son travail dans des conditions réalistes. On l’appelle également test utilisateur final ou test d’acceptation. Cela intervient après le développement et les tests du système, lorsque le produit est censé être stable.

Son but n’est pas de trouver tous les bugs. À ce stade, la plupart d’entre eux devraient déjà avoir disparu. L’objectif est la validation : avons-nous construit la bonne chose ? Les testeurs vérifient que le produit correspond aux spécifications. L’UAT valide que la spécification et le produit répondent réellement au besoin.

Tests UAT vs QA

Aspect Tests d’assurance qualité ou de système UAT
Question principale Est-ce que ça fonctionne comme spécifié ? Est-ce que cela répond au besoin de l’entreprise ?
Interprété par Testeurs et ingénieurs QA Utilisateurs professionnels ou clients
Calendrier Pendant et après le développement Juste avant la sortie
Basé sur Exigences et conceptions De vrais flux de travail d’entreprise
Concentrez-vous Défauts, cas extrêmes, intégrations Convivialité et adéquation à l’usage prévu
Connaissances techniques Souvent élevé Pas nécessaire
Résultat Rapports de bogues Acceptation ou rejet

L’UAT ne remplace pas les autres tests. Si les utilisateurs continuent de rencontrer des bugs de base, la version n’était pas prête et vous perdez leur temps limité. Ces problèmes appartiennent aux niveaux de test antérieurs et aux tests de régression.

Qui dirige l’UAT ?

Rôle Responsabilité
Utilisateurs finaux Exécutez des scénarios et donnez votre avis
Product Owner ou analyste commercial Définit la portée et rédige ou examine les scénarios
Coordonnateur UAT ou responsable de l’assurance qualité Planifie les sessions, accompagne les testeurs, suit les problèmes
Développeurs Résoudre les problèmes et répondre aux questions techniques
Commanditaire d’entreprise Prend la décision finale d’approbation

Choisissez des testeurs qui font vraiment le travail aujourd’hui. Un gestionnaire de sinistres expérimenté détectera des problèmes qu’un gestionnaire ou un mandataire ne détecterait jamais. Incluez une gamme d’expériences, car un nouvel employé révèle souvent des étapes déroutantes qu’un expert contourne sans s’en apercevoir. Et assurez-vous que leurs responsables libèrent du temps pour cela, car l’UAT ne peut pas réussir avec une charge de travail complète.

Types d’UAT

Tapez Ce qu’il vérifie Exemple
Acceptation commerciale Répond aux objectifs commerciaux Le personnel complète une véritable réclamation du début à la fin
Tests alpha Tests internes dans un cadre contrôlé Le personnel essaie une nouvelle application avant les utilisateurs externes
Test bêta De vrais clients dans des conditions réelles Un aperçu public limité
Acceptation du contrat Répond aux conditions contractuelles convenues Un client vérifie un système livré
Acceptation réglementaire Répond aux règles légales ou de conformité Vérification des règles de santé ou bancaires
Acceptation opérationnelle Prêt à fonctionner en production Processus de sauvegarde, de surveillance et de support

Le processus UAT en sept étapes

1. Définir la portée et les objectifs

Décidez de ce qui est accepté, de ce qui est hors de portée et des résultats commerciaux qui comptent. Par exemple : « Le personnel financier peut soumettre, approuver et payer une note de frais, dans n’importe quelle devise prise en charge. »

2. Convenez des critères d’acceptation

Écrivez en langage simple à quoi ressemble le succès, idéalement au début du projet plutôt que la semaine précédant le lancement. Des critères vagues conduisent ensuite à des disputes.

3. Choisir et briefer les testeurs

Sélectionnez de vrais utilisateurs, expliquez-leur le but, montrez-leur comment enregistrer les commentaires et indiquez clairement qu’ils testent le logiciel plutôt que d’être testés eux-mêmes. Beaucoup de gens craignent de se tromper.

4. Préparer l’environnement et les données

L’environnement UAT doit ressembler autant que possible à la production. Utilisez des données réalistes, configurez les rôles d’utilisateur appropriés et vérifiez les intégrations telles que la messagerie électronique. Si vous copiez des données de production, masquez d’abord les informations personnelles. Exécutez un smoke test rapide, afin que les testeurs n’arrivent pas à trouver une version cassée.

5. Écrivez des scénarios

Basez-les sur des flux de travail réels plutôt que sur des boutons individuels. Ils devraient lire comme le travail, pas comme le logiciel. Notre guide sur le cas de test par rapport au scénario de test explique le niveau de détails dont vous avez besoin.

6. Exécutez les tests et collectez des commentaires

Organisez des sessions avec une personne disponible pour vous aider. Regroupez les problèmes en un seul endroit, avec des captures d’écran. Prévoyez également du temps pour l’exploration libre, car les gens essaient des choses que les scripts n’ont jamais anticipées. Les tests exploratoires proposent des techniques utiles pour cela.

7. Corrigez, retestez et déconnectez-vous

Triez les commentaires, corrigez ce qui compte et demandez aux mêmes utilisateurs de confirmer les correctifs. Enregistrez ensuite une décision formelle.

Un cas de test UAT

Un cas de test UAT devrait être facile à suivre pour une personne non technique. Voici un exemple de système de dépenses :

ID:        UAT-012
Scenario:  Submit a foreign currency expense claim
User role: Sales employee
Before:    Logged in, with a USD receipt ready

Steps:
  1. Create a new expense claim
  2. Enter a client dinner of 80 USD and attach the receipt
  3. Submit the claim for approval

Expected:  The amount is converted to INR at the current rate
           The manager receives an approval request
           The claim shows as "Awaiting approval"

Result:    Pass / Fail
Comments:
Tester / Date:

A noter qu’il décrit une tâche réelle, pas des détails techniques, et qu’il laisse place aux commentaires. Ces commentaires s’avèrent souvent être la partie la plus précieuse, comme « cela fonctionne, mais je ne trouverais jamais ce bouton ».

Conseil : Regardez au moins un utilisateur faire cela en personne ou lors d’un appel. Les gens travaillent souvent autour de logiciels déroutants et ne le signalent jamais. Les voir hésiter vous en dit plus qu’un « Pass » ne le fera jamais.

Critères d’entrée et de sortie

Critères d’entrée (prêt à commencer) Critères de sortie (prêt à terminer)
Les tests du système sont terminés Tous les scénarios critiques ont été exécutés
Aucun bug ouvert critique ou élevé Aucun bug critique ouvert
L’environnement et les données sont prêts Le taux de réussite convenu a été atteint
Les scénarios sont revus Les problèmes restants ont un plan convenu
Les testeurs sont briefés et disponibles Le sponsor commercial a signé

Ceux-ci s’inscrivent dans le cycle de vie des tests logiciels plus large. Définissez les chiffres avec vos parties prenantes à l’avance. « Nous déciderons quand cela nous semblera approprié » a tendance à conduire à un oui précipité, motivé par le délai.

Gestion des commentaires

Les retours UAT sont un mélange de choses, et tout n’est pas un bug. Triez-le en catégories :

Tapez Exemple Action habituelle
Défaut Le total est mal calculé Correctif, en fonction de la gravité
Exigence manquée Le multidevise n’est pas pris en charge Corriger avant le lancement ou replanifier
Problème d’utilisabilité Les utilisateurs ne trouvent pas le bouton d’envoi Cela vaut souvent la peine d’être réparé
Demande de changement “Pourrait-il également exporter au format PDF ?” Ajouter au retard
Problème de formation La fonctionnalité fonctionne, mais a été mal comprise Guides de mise à jour

Utilisez des règles claires pour déterminer ce qui bloque une version, comme décrit dans gravité vs priorité. Et répondez à chaque élément, y compris ceux que vous refusez. Les gens arrêtent de donner leur avis si celui-ci semble disparaître. Notre guide sur comment rédiger un rapport de bug peut aider les testeurs à décrire clairement les problèmes.

Liste de contrôle UAT

Avant l’UAT

  • Les critères de portée et d’acceptation sont convenus par écrit
  • Les tests système et de régression sont terminés
  • Les testeurs sont choisis, briefés et disposent de temps
  • L’environnement, les comptes et les données réalistes sont prêts
  • Les données personnelles contenues dans les copies ont été masquées
  • Les scénarios sont revus par le business
  • Un endroit pour enregistrer les problèmes est mis en place
  • Le propriétaire de la signature est nommé

Pendant l’UAT

  • Un contact d’assistance est disponible
  • Les problèmes sont triés quotidiennement
  • Les progrès sont partagés avec les parties prenantes
  • Les correctifs sont déployés et retestés de manière contrôlée

Après l’UAT

  • Les critères de sortie ont été vérifiés
  • Les problèmes connus sont documentés, avec les propriétaires
  • L’approbation formelle est enregistrée
  • Les notes de formation et de version sont mises à jour
  • Une courte rétrospective a eu lieu

UAT dans les équipes Agile

L’UAT traditionnelle se présente comme une grande phase finale, où une surprise coûte cher. Les équipes agiles raccourcissent cette boucle. Les propriétaires de produits examinent chaque histoire par rapport à ses critères d’acceptation pendant le sprint, et les utilisateurs voient le logiciel fonctionnel lors des revues de sprint. De nombreuses équipes exécutent encore un UAT ciblé avant une version majeure, en particulier lorsque plusieurs fonctionnalités sont combinées en un seul flux de travail.

Avec des versions fréquentes, des techniques telles que les indicateurs de fonctionnalités et les déploiements Canary permettent aux vrais utilisateurs d’essayer progressivement de nouveaux travaux. Notez que ceux-ci complètent les tests d’acceptation, mais ne les remplacent pas automatiquement, en particulier dans les secteurs réglementés qui ont besoin d’un enregistrement formel.

Erreurs courantes

  • Le traiter comme une formalité. Une signature sans réelle utilité ne protège personne.
  • Utiliser les mauvais testeurs. Les développeurs et le contrôle qualité ont trop de connaissances sur le système pour représenter les utilisateurs.
  • Commencer avec une version instable. Les testeurs perdent rapidement confiance et intérêt.
  • Laisser cela jusqu’à la dernière minute. Vous n’avez alors pas le temps de corriger ce que vous apprenez.
  • Utilisation de données irréalistes. Les données de test présentent rarement les cas compliqués que connaît le travail réel.
  • Laisser la portée s’élargir. Traitez les nouvelles idées comme des demandes de changement, à moins qu’elles ne soient de véritables bloqueurs.

Pour conclure

L’UAT est votre dernière chance de savoir, avant sa sortie, si le logiciel aide réellement les personnes qui l’utiliseront. Planifiez-le dès le début d’un projet, recrutez de vrais utilisateurs et convenez de ce à quoi ressemble le succès. Pour votre prochaine version, essayez un changement simple : asseyez-vous avec un utilisateur pendant un scénario réel et ne dites rien pendant qu’il travaille.

Questions fréquentes

Qu’est-ce que les tests d’acceptation des utilisateurs en termes simples ?

Il s’agit de la vérification finale au cours de laquelle de vrais utilisateurs essaient le logiciel avec des tâches réalistes pour confirmer qu’il répond à leurs besoins, avant sa sortie.

Qui est responsable de l’UAT ?

Les utilisateurs professionnels ou les clients exécutent les tests. Un propriétaire de produit ou un responsable de l’assurance qualité coordonne généralement, et un sponsor commercial prend généralement la décision finale d’approbation.

Quelle est la différence entre l’UAT et les tests système ?

Les tests du système vérifient que le logiciel fonctionne comme spécifié et sont effectués par des testeurs. L’UAT vérifie qu’elle répond aux besoins de l’entreprise et est effectuée par les utilisateurs.

Quand l’UAT se produit-elle ?

Généralement après les tests du système et avant la sortie de production, une fois que le logiciel est stable. Les équipes agiles peuvent également effectuer des contrôles d’acceptation plus petits à chaque sprint.

L’UAT peut-elle être automatisée ?

Certaines parties, telles que les contrôles répétés des flux de travail de l’entreprise. Cependant, pour juger si un logiciel est utile et adapté à son objectif, il faut toujours de vraies personnes.

Continuez à apprendre

Travailler avec Stack Quora

Besoin d’aide pour les tests, WordPress ou le référencement ?

Nous aidons les équipes à proposer de meilleurs logiciels et à développer leurs sites. Dites-nous sur quoi vous travaillez et nous vous proposerons une prochaine étape claire.

Continuez à lire

Plus de guides sur tests, IA et développement moderne

Vous avez apprécié cet article ? Choisissez un sujet et accédez directement à nos nouveaux didacticiels.

Intelligence artificielle

Les hallucinations de l'IA expliquées : pourquoi les modèles de langage inventent les choses et comment les réduire

Les hallucinations de l'IA ont expliqué : ce qu'elles sont, pourquoi les modèles de langage les produisent, les types courants, comment les réduire …

Lire l'article →
DevOps

Variables d'environnement expliquées : fichiers .env, secrets et configuration correctement effectués

Variables d'environnement expliquées avec des exemples Python que nous avons exécutés : lecture et définition, pourquoi chaque valeur est une chaîne…

Lire l'article →
Développement logiciel

Limitation du débit de l'API expliquée : algorithmes, en-têtes et gestion des erreurs 429

Limitation du débit de l'API expliquée avec une simulation que nous avons exécutée : compartiment de jetons, fenêtre fixe, fenêtre glissante, 429 ré…

Lire l'article →
Automatisation des tests

Se moquer en Python : unittest.mock, patch et les erreurs qui font mentir les tests

Moquerie en Python avec unittest.mock, testée : Mock et return_value, side_effect, correctifs où un nom est utilisé, spec et autospec, dates moqueus…

Lire l'article →
Tests logiciels

Couverture du code expliquée : couverture des lignes par rapport aux branches et ce que signifie réellement 100 %

Couverture du code expliquée avec une véritable exécution de cover.py : couverture des lignes, des branches et des conditions, lecture d'un rapport,…

Lire l'article →
Bases de données et SQL

DELETE vs TRUNCATE vs DROP dans SQL : différences, restauration et quand les utiliser

DELETE vs TRUNCATE vs DROP expliqué avec SQL testé : ce que chacun supprime, restauration, déclencheurs, réinitialisation d'identité, vitesse et en …

Lire l'article →
Bases de données et SQL

Vues SQL expliquées : créez, utilisez et évitez les pièges, avec des exemples

Vues SQL expliquées avec les requêtes que nous avons exécutées : création d'une vue, résultats en direct, masquage des colonnes, performances, vues …

Lire l'article →
Développement logiciel

Interface TypeScript vs Type : différences réelles, testées avec le compilateur

Interface TypeScript vs type, vérifiée avec le vrai compilateur : ce que les deux peuvent faire, ce qu'un seul peut faire, la fusion des déclaration…

Lire l'article →
Développement logiciel

Python *args et **kwargs expliqués : fonctions flexibles avec des exemples clairs

Python *args et **kwargs expliqués avec le code que nous avons exécuté : emballage et déballage, ordre des paramètres, arguments de mot-clé uniqueme…

Lire l'article →
Développement logiciel

Fonctions Python Lambda : syntaxe, utilisations réelles et quand ne pas les utiliser

Fonctions Python lambda expliquées avec le code que nous avons exécuté : syntaxe, tri avec clé, carte et filtre, fermetures, piège de liaison tardiv…

Lire l'article →
Intelligence artificielle

Que sont les agents IA ? Comment ils fonctionnent, avec une simple boucle d'agent que vous pouvez exécuter

Que sont les agents IA ? Un guide simple sur la boucle d'agent, les outils, la mémoire et les garde-fous, avec une petite boucle Python que nous avo…

Lire l'article →
DevOps

Surveillance vs observabilité : la vraie différence, avec les journaux, les métriques et les traces

Surveillance et observabilité expliquées : échecs connus et inconnus, journaux, métriques et traces, présentation pas à pas des incidents de paiemen…

Lire l'article →
DevOps

Volumes Docker vs montages Bind : conserver les données du conteneur de la bonne manière

Volumes Docker et montages de liaison expliqués : pourquoi les données du conteneur disparaissent, volumes nommés, montages de liaison, tmpfs, exemp…

Lire l'article →
Automatisation des tests

TDD vs BDD : principales différences, une fonctionnalité conçue dans les deux sens et quand les utiliser

TDD vs BDD expliqué avec une fonctionnalité de remise construite dans les deux sens : refactor rouge-vert avec le code que nous avons exécuté, scéna…

Lire l'article →
Tests logiciels

Tests d'acceptation utilisateur (UAT) : processus, liste de contrôle et exemples réels

Les tests d'acceptation des utilisateurs sont expliqués : qui les exécute, en quoi ils diffèrent du contrôle qualité, un processus en sept étapes, u…

Lire l'article →
Bases de données et SQL

Explication des valeurs SQL NULL : IS NULL, COALESCE, NULLIF et les pièges à éviter

Les valeurs SQL NULL expliquées avec les requêtes que nous avons exécutées : logique à trois valeurs, IS NULL, COALESCE, NULLIF, comment les agrégat…

Lire l'article →
Bases de données et SQL

Instruction SQL CASE WHEN : syntaxe, exemples réels et erreurs courantes

SQL CASE WHEN expliqué avec les requêtes que nous avons exécutées : formulaires simples et recherchés, ordre des conditions, pivots avec SUM, astuce…

Lire l'article →
Développement logiciel

Qu'est-ce que JWT ? Les jetons Web JSON expliqués avec un exemple fonctionnel

Qu’est-ce que JWT ? JSON Web Tokens expliqué : les trois parties, un jeton construit et falsifié dans le code que nous avons exécuté, JWT vs session…

Lire l'article →
Développement logiciel

Boucle d'événements JavaScript expliquée : pile d'appels, microtâches et minuteries avec des exemples

La boucle d'événements JavaScript expliquée avec le code que nous avons exécuté : pile d'appels, files d'attente de tâches et de microtâches, pourqu…

Lire l'article →
Développement logiciel

Générateurs Python et rendement expliqués : économisez de la mémoire avec des exemples réels

Les générateurs Python et le rendement expliqués avec le code que nous avons exécuté : comment ils s'arrêtent et reprennent, les économies de mémoir…

Lire l'article →
Intelligence artificielle

Que sont les intégrations ? Vecteurs et similarité cosinus expliqués simplement

Que sont les intégrations ? Un guide en langage simple sur les vecteurs, la similarité cosinus et la recherche sémantique, avec un petit exemple que…

Lire l'article →
DevOps

Déploiement Bleu-Vert vs Canary : différences, compromis et comment choisir

Explication du déploiement bleu-vert ou canari : comment chacun fonctionne, coût, risque et restauration, regroupement d'utilisateurs stable que nou…

Lire l'article →
Automatisation des tests

Tests instables : quelles sont leurs causes et comment les corriger définitivement

Des tests irréguliers expliqués avec des démos que nous avons exécutées : les principales causes, comment en confirmer et en diagnostiquer une, les …

Lire l'article →
Tests logiciels

Tests de charge vs tests de contrainte : différences, métriques et exemples k6

Explication des tests de charge et des tests de stress : ce que chacun prouve, les tests de pointe et de trempage, les métriques qui comptent, pourq…

Lire l'article →
Tests logiciels

Scénario de test et scénario de test : principales différences, exemples et quand les utiliser

Scénario de test et scénario de test expliqués : des définitions claires, un tableau côte à côte, une fonctionnalité de réinitialisation de mot de p…

Lire l'article →
Bases de données et SQL

Optimisation des requêtes SQL : lire les plans d'exécution et corriger les requêtes lentes, avec des délais

Optimisation des requêtes SQL testée sur un million de lignes : lire les plans d'exécution, ajouter les bons index, corriger les filtres non Sargabl…

Lire l'article →
Bases de données et SQL

SQL UNION vs UNION ALL : différences, exemples et performances testées

SQL UNION vs UNION ALL expliqué avec les requêtes que nous avons exécutées : des doublons, les règles suivent toutes les deux, un véritable bug de d…

Lire l'article →
Développement logiciel

Tutoriel API JavaScript Fetch : GET, POST, gestion des erreurs et délais d'attente

Un didacticiel de l'API JavaScript Fetch testé sur un serveur local : GET et POST, pourquoi 404 ne lance pas, un assistant réutilisable, des chaînes…

Lire l'article →
Développement logiciel

Gestion des fichiers Python : lecture, écriture, CSV, JSON et pathlib avec exemples

Gestion des fichiers Python expliquée avec le code que nous avons exécuté : modes ouverts, avec lecture de fichiers volumineux, CSV, JSON, pathlib, …

Lire l'article →
Développement logiciel

Classes et objets Python : didacticiel POO avec des exemples réels

Classes et objets Python expliqués avec le code que nous avons exécuté : __init__, méthodes, attributs de classe par rapport à l'instance, héritage,…

Lire l'article →
Intelligence artificielle

Qu'est-ce qu'un grand modèle de langage ? Comment fonctionnent les LLM, expliqués sans battage médiatique

Qu’est-ce qu’un grand modèle de langage ? Les LLM expliqués en langage simple : jetons, intégrations, attention, formation, fenêtres de température …

Lire l'article →
DevOps

Commandes Linux pour les débutants : le guide du terminal essentiel avec des exemples

Commandes Linux pour débutants, regroupées par tâche : navigation, fichiers, affichage des journaux, grep, tuyaux, autorisations, processus et archi…

Lire l'article →
Automatisation des tests

Selenium vs Playwright : principales différences, code comparé et lequel choisir

Comparatif Selenium vs Playwright : architecture, attente, support du navigateur et du langage, débogage, même test dans les deux outils, conseils d…

Lire l'article →
Tests logiciels

Partitionnement d'équivalence : technique de conception de tests expliquée avec des exemples concrets

Le partitionnement d'équivalence expliqué : comment trouver des partitions valides et invalides, des exemples concrets d'âges, de mots de passe et d…

Lire l'article →
Tests logiciels

Gravité vs priorité dans les tests logiciels : différences, matrice et exemples réels

Explication de la gravité et de la priorité dans les tests logiciels : des définitions claires, une matrice à quatre voies avec des exemples, des éc…

Lire l'article →
Bases de données et SQL

Tutoriel sur les sous-requêtes SQL : types, sous-requêtes corrélées et EXISTE avec des exemples

Un didacticiel sur les sous-requêtes SQL avec les requêtes que nous avons exécutées : les sous-requêtes scalaires, IN, FROM et SELECT, les sous-requ…

Lire l'article →
Bases de données et SQL

Transactions SQL et ACID expliquées : COMMIT, ROLLBACK et niveaux d'isolement

Transactions SQL et ACID expliquées avec un virement bancaire que nous avons effectué : COMMIT, ROLLBACK, points de sauvegarde, verrous, niveaux d'i…

Lire l'article →
Développement logiciel

Git merge vs rebase : différences, exemples et quand utiliser chacun

Git merge vs rebase expliqué avec de vraies sorties de log, un tableau comparatif, la règle d'or du rebase et un flux de travail sûr pour les équipes.

Lire l'article →
Développement logiciel

List comprehension Python : syntaxe, exemples et cas à éviter

La list comprehension Python expliquée : syntaxe, filtres, if-else, boucles imbriquées, temps mesurés et cas où une boucle for classique est préféra…

Lire l'article →
Bases de données et SQL

Jointures SQL expliquées avec exemples (Inner, Left, Right, Full)

Comprenez les jointures SQL pas à pas avec des tables et requêtes d'exemple : INNER, LEFT, RIGHT, FULL, CROSS et SELF, plus erreurs courantes et con…

Lire l'article →