Contrôler un CSV issu d’une IA : fichiers d’exercice et corrigé
Trois fichiers fictifs, un contrat de données, un corrigé et une trame. Comparez un fichier de référence à deux variantes : une colonne absente et un séparateur différent. Préparez une décision de reprise sans confondre lecture syntaxique et exactitude métier.
Pour : Équipes administratives et animateurs préparant une vérification de fichiers CSV.
Votre trame de travail
Vos réponses ne sont ni envoyées ni enregistrées par le site. Exportez votre fiche complétée ou vos réponses avant de quitter la page. Le PDF réunit le guide et la trame vierge. Le PDF et la version texte ne reprennent pas vos réponses.
Pour conserver votre fiche complétée en PDF, utilisez l’enregistrement en PDF dans la fenêtre d’impression de votre navigateur.
Téléchargez les trois CSV et conservez-les séparément. Lisez d’abord le contrat et les fichiers dans un éditeur de texte ; comparez ensuite les champs avec un lecteur CSV réglé sur la virgule et UTF-8. Recherchez le champ absent dans une variante et le changement de séparateur dans l’autre. Consultez le corrigé, puis préparez votre propre contrôle dans les huit rubriques. Le PDF contient contrat, représentation des pièces, corrigé et trame ; les CSV sont des annexes de la même ressource, pas trois publications supplémentaires.
Quel usage et quelle pièce de référence retenez-vous ?
Nommez fichier, version, date et résultat attendu. Utilisez des données fictives dans cet outil public.
Quel contrat de format et de données est attendu ?
Encodage, séparateur, guillemets, colonnes, types, unités, vides et identifiants attendus.
Quels enregistrements et identifiants avez-vous contrôlés ?
Notez couverture et doublons. Ne confondez pas nombre de lignes physiques et enregistrements CSV.
Comment distinguez-vous valeurs connues, vides et champs absents ?
Une case vide reste inconnue si le contrat le dit ; un zéro est une valeur ; un champ absent est un défaut de structure.
Quels écarts de structure, de séparateur ou d’encodage observez-vous ?
Localisez fichier, enregistrement, champ et valeur attendue. Gardez les pièces originales.
Quels contenus ou interprétations nécessitent un examen particulier ?
N’ouvrez pas une charge inconnue pour tester. L’interprétation en formule dépend du circuit et du logiciel.
Quel essai a réellement été réalisé et dans quel environnement ?
Décrivez outil, version, réglages et résultat observé ; n’attribuez pas à Excel un test fait par un lecteur CSV.
Quelle correction, quelle limite d’usage et quelle nouvelle vérification retenez-vous ?
Séparez conformité au contrat, import réussi et exactitude métier. Recontrôlez la version corrigée.
Les trois pièces à conserver
Référence CSV · Variante avec colonne manquante · Variante à points-virgules. Fichiers UTF-8 sans formule active, version du 27 octobre 2026. Aucune sortie d’IA n’a été utilisée : les défauts sont construits pour l’exercice.
Contrat. Trois colonnes dans cet ordre : ref_id, atelier, heures_prevues. Séparateur virgule ; guillemets doubles pour le libellé contenant une virgule ; trois enregistrements après l’en-tête. Identifiants R01 à R03, uniques, conservés comme texte. Les heures sont des nombres non négatifs avec un point décimal ou une valeur vide signifiant « non renseigné ». Aucune heure réalisée n’est décrite.
La RFC 4180 sert de référence pour les séparateurs et les guillemets. [1] Nos types métier et la convention du vide sont des choix de cet exercice, pas des obligations imposées par la RFC.
Pièce A : la référence intégrale
| ref_id | atelier | heures_prevues |
|---|---|---|
| R01 | Érable | 2.5 |
| R02 | Lagon, Est | 0 |
| R03 | Cèdre | champ vide |
Dans le fichier, le libellé Lagon, Est est entouré de guillemets doubles ; la virgule interne ne crée pas une quatrième colonne. La dernière ligne se termine par une virgule qui introduit le troisième champ vide. Ce vide est différent d’une ligne ne contenant que deux champs.
Pièces B et C : localiser les écarts
B — colonne manquante. L’en-tête et R01 sont identiques à A. R02 contient seulement l’identifiant et le libellé ; le champ des heures est absent. R03 garde ses trois champs, avec le dernier vide. Il y a toujours trois enregistrements, mais le deuxième n’a que deux champs.
C — séparateur. Les mêmes valeurs sont écrites avec des points-virgules entre champs. Lagon, Est y est un libellé sans besoin de guillemets pour sa virgule interne selon ce dialecte. C ne respecte pas notre contrat à virgules ; cela ne signifie pas que le point-virgule est interdit dans tous les échanges CSV.
Avant de lire la suite, notez pour chaque pièce : encodage, séparateur, nombre de champs par enregistrement, identifiants et sens du dernier champ. Ne remplacez aucune absence par zéro.
Corrigé : distinguer le lecteur et le contrat
| Pièce | Lecture avec virgule | Comparaison au contrat | Décision d’exercice |
|---|---|---|---|
| A | Trois champs par enregistrement | Trois identifiants et valeurs fidèles | Conforme à ce contrat ; import logiciel non testé |
| B | R02 retourne deux champs | Colonne manquante, pas une valeur vide | Demander correction ; ne pas compléter par zéro |
| C | Découpage différent des trois champs attendus | Dialecte différent | Obtenir le format convenu ou faire approuver un autre contrat |
Le paramètre strict d’un lecteur Python signale certaines entrées CSV mal formées, mais ne connaît pas notre schéma métier. [2] B peut être lu sans exception tout en restant non conforme au contrat. Une automatisation doit donc contrôler explicitement la largeur, les identifiants et les valeurs, en plus de la syntaxe.
A contient 2.5 h prévues, 0 h prévues et une valeur inconnue. On peut additionner les deux valeurs connues pour obtenir 2.5 h, mais ce nombre n’est pas le total complet des trois ateliers. Le troisième montant n’est pas établi.
Modèle rempli : rubriques 1 à 4
1. Usage. Préparer une reprise des heures prévues par atelier ; référence A v1 du 27 octobre 2026, entièrement fictive. Pas de calcul sur des heures réalisées.
2. Format. UTF-8, virgule, guillemets doubles, trois colonnes et trois enregistrements. Types et convention du vide repris du contrat ; aucune détection automatique considérée comme une preuve.
3. Couverture. R01, R02 et R03 présents une seule fois dans A et B. Dans C, la lecture doit d’abord utiliser le bon séparateur avant de comparer les identifiants ; aucun identifiant apparent dans une cellule mal découpée n’est validé.
4. Valeurs et absences. A : R01 = 2.5, R02 = 0, R03 = inconnu. B : heures de R02 absentes du schéma. Ne pas traiter ces trois situations comme un même blanc.
Modèle rempli : rubriques 5 à 8
5. Défauts. B : dernier champ absent au deuxième enregistrement. C : séparateur point-virgule différent de la convention annoncée. Les accents de référence sont Érable et Cèdre.
6. Interprétation. Aucun champ de ces pièces ne contient de formule active. Pour un export réel, l’interprétation par le tableur reste un contrôle distinct : OWASP décrit ce risque et l’absence de neutralisation universelle. [3]
7. Essai et limites. La lecture déterministe et les assertions sur ces fichiers sont consignées dans les preuves de production. Aucun modèle ni tableur n’est testé. Pour votre logiciel, inscrire sa version, ses réglages et le résultat réellement observé avant toute conclusion de compatibilité.
8. Décision. A est la référence de l’exercice ; B doit être corrigé ; C exige un format convenu ou un accord explicite de changement. Le rôle chargé de la reprise contrôle la version corrigée et conserve la trace. Aucune utilisation opérationnelle réelle n’est autorisée par ce corrigé.
Adapter à un export réel
Remplacez le contrat fictif par vos besoins, puis travaillez sur une copie autorisée. Un champ supplémentaire peut être légitime dans une nouvelle version, mais il ne doit pas apparaître silencieusement dans un import prévu pour l’ancienne structure. Gardez les versions et les écarts.
Le guide de contrôle d’un CSV expose la méthode. La décision peut rester « à vérifier dans le logiciel destinataire ». Ce statut est une information utile, pas un échec à masquer par une mention générale « fichier validé ».
Portée et limites
Exercice original avec données fictives, sans formule active ni donnée personnelle. Aucun modèle exécuté. Contrôles déterministes de texte et de lecture CSV, sans essai Excel/LibreOffice ni garantie universelle de compatibilité ou de sécurité. Les variantes sont intentionnellement non conformes au contrat de l’exercice.
Sources et méthode
- IETF : RFC 4180, Common Format and MIME Type for CSV Files
Document informatif d’octobre 2005, consulté le 27 octobre 2026. Section 2, points 3 à 7 : largeur des enregistrements, virgules et guillemets. Décrit une convention à virgules, pas une norme universelle de compatibilité avec tous les tableurs. Nos fichiers utilisent la convention explicitement déclarée dans l’exercice.
- Python : module csv, paramètres de format et lecture
Documentation courante consultée le 27 octobre 2026. Parties Dialects and formatting parameters, Reader objects et Examples : delimiter, strict, newline et encodage. Un lecteur syntaxique ne valide ni la signification des valeurs ni le nombre de champs attendu par notre application. Les essais locaux sont consignés avec la version effective de Python ; aucun test Excel ou LibreOffice n’est revendiqué.
- OWASP : CSV Injection
Page consultée le 27 octobre 2026. Description du risque de cellules interprétées comme formules dans un tableur et avertissement sur l’absence de protection universelle pour tous les consommateurs. Aucune charge active ni recette de neutralisation prétendument universelle n’est fournie ici.
Comment ces contenus sont construits · Signaler une correction
Explorer le thème : Intelligence artificielle
Cette trame aide à cadrer une discussion. Elle ne remplace pas l’analyse de votre contexte.
Lire la méthode associéeSelon votre situation
Mettre votre projet IA au travail.
Choisir un usage, cadrer un essai ou organiser un déploiement : découvrez comment nous pouvons travailler à partir de vos contraintes.