{"id":169,"date":"2022-03-08T10:32:55","date_gmt":"2022-03-08T09:32:55","guid":{"rendered":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/?p=169"},"modified":"2022-03-15T11:53:11","modified_gmt":"2022-03-15T10:53:11","slug":"traitement-de-donnees-en-tables","status":"publish","type":"post","link":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/2022\/03\/08\/traitement-de-donnees-en-tables\/","title":{"rendered":"Traitement de donn\u00e9es en tables"},"content":{"rendered":"\n<p>Rappels sur les donn\u00e9es<\/p>\n\n\n\n<p>Les \u00ab\u00a0donn\u00e9es\u00a0\u00bb sont \u00e0 la base de l\u2019informatique, car toute l\u2019informatique est justement le traitement de ces donn\u00e9es afin d\u2019en extraire des informations utiles ou de les transformer, rassembler, d\u2019en d\u00e9duire un raisonnement ou une pr\u00e9diction.<br>En informatique, tout est donn\u00e9, depuis les 0 et les 1 qui d\u00e9crivent l\u2019\u00e9tat des transistors dans un circuit \u00e9lectronique, jusqu\u2019\u00e0 une vid\u00e9o, en passant par les photos, les adresses, un relev\u00e9 de temp\u00e9rature ou l\u2019\u00e2ge d\u2019une personne. Les donn\u00e9es sont souvent rassembl\u00e9es pour caract\u00e9riser un objet comme l\u2019adresse d\u2019une personne (compos\u00e9e du num\u00e9ro de rue, du nom de la rue, du code postal, de la ville et du pays par exemple).\u00a0Lorsque les donn\u00e9es sont ainsi rassembl\u00e9es pour d\u00e9crire quelque chose avec plusieurs informations, on parle de donn\u00e9es structur\u00e9es<br>La conservation des donn\u00e9es est un enjeu qui existe depuis l\u2019aube des civilisations, bien avant l\u2019informatique, car on peut consid\u00e9rer que les textes de loi, les comptes et la m\u00e9moire des \u00e9v\u00e8nements historiques sont autant de donn\u00e9es qu\u2019il a fallu faire passer de g\u00e9n\u00e9ration en g\u00e9n\u00e9ration (tablettes d\u2019argile, parchemins, livres manuscrits, imprimerie\u2026).<br>Lors de l\u2019av\u00e8nement du traitement informatique des donn\u00e9es, celles-ci ont d\u2019abord \u00e9t\u00e9 conserv\u00e9es sur des cartes perfor\u00e9es avec un syst\u00e8me de lecture optique, avant de passer sur des supports magn\u00e9tiques (bandes, disques durs), puis \u00e0 nouveau optique (CD, DVD, Bluray) avant de passer \u00e0 des stockages dans des cellules m\u00e9moires (type transistors non volatil) pour les syst\u00e8mes actuellement utilis\u00e9s dans les syst\u00e8mes informatiques (cartes m\u00e9moires sd, ssd\u2026). Ces stockages de donn\u00e9es sont de plus en plus rapides pour la lecture et l\u2019\u00e9criture et leurs capacit\u00e9s augmentent tr\u00e8s vite \u00e0 mesure que toutes les informations analogiques de notre vie sont num\u00e9ris\u00e9es pour un traitement informatique de plus en plus massif.<\/p>\n\n\n\n<p><strong>Formats de stockage des donn\u00e9es<\/strong><\/p>\n\n\n\n<p>M\u00eame si, au final, toutes les donn\u00e9es num\u00e9ris\u00e9es vont \u00eatre conserv\u00e9es en binaire (0 et 1) qui correspond au format trait\u00e9 par les ordinateurs, pour qu\u2019elles soient faciles \u00e0 traiter, elles vont \u00eatre organis\u00e9es en fonction de leurs types.<br>Pour des donn\u00e9es qui doivent pouvoir \u00eatre tri\u00e9es, recoup\u00e9es et trait\u00e9es ult\u00e9rieurement pour en faire des rapports, des analyses, des graphiques\u2026 on utilise principalement des tableaux ou des listes. Ceux-ci peuvent \u00eatre inscrits dans des fichiers textes lisibles avec un indicateur de s\u00e9paration entre champs de donn\u00e9es. Le plus courant est le s\u00e9parateur par virgule (comma en anglais)\u00a0:\u00a0comma separated values (csv). Ce format convient bien pour des petites collections de donn\u00e9es. Pour de plus grosses quantit\u00e9s, on utilisera des ensembles de tables, reli\u00e9es entre elles par des r\u00e8gles et constituants des \u00ab\u00a0bases de donn\u00e9es\u00a0\u00bb (database).<br>Quand les donn\u00e9es sont plus sp\u00e9cifiques, on utilise de nombreux autres formats de stockage identifi\u00e9s par leurs extensions\u00a0: PNG, JPEG, HEIF\u2026 pour des images\u00a0; MP3, WAV, M4A\u2026 pour des sons\u00a0; MP4, AVI, M4V\u2026 pour des vid\u00e9os\u2026\u00c0 cette extension est associ\u00e9 une structure logique des donn\u00e9es et un en-t\u00eate de fichier qui permettra \u00e0 un programme d\u2019avoir des d\u00e9tails sur les informations conserv\u00e9es dans le fichier. Par exemple, un fichier vid\u00e9o enregistr\u00e9 sur un t\u00e9l\u00e9phone portable contiendra les informations suivantes\u00a0:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.cours.jlrichter.fr\/wp-content\/uploads\/2020\/01\/code.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>Les colonnes de gauche contiennent le codage du fichier en hexad\u00e9cimal (comptage en base 16 tr\u00e8s utilis\u00e9e en informatique) et \u00e0 droite sa traduction en ASCII (american standard code for information interchange) qui permet de lire ce contenu \u00ab\u00a0en clair\u00a0\u00bb. On constate que le d\u00e9but du fichier contient des informations sur le type de codage utilis\u00e9 pour la vid\u00e9o (H.264\/MPEG-A AVC Codec) suivie de nombreuses informations n\u00e9cessaires au d\u00e9codage de cette vid\u00e9o.<br>Toutes ces informations sont n\u00e9cessaires pour que le fichier puisse \u00eatre ouvert et exploit\u00e9 par d\u2019autres ordinateurs. On parle alors d\u2019interop\u00e9rabilit\u00e9.<\/p>\n\n\n\n<p><strong>Donn\u00e9es structur\u00e9es et traitement<\/strong><\/p>\n\n\n\n<p>On parle de donn\u00e9es structur\u00e9es quand un ensemble de donn\u00e9es donne des clefs d\u2019acc\u00e8s simples aux donn\u00e9es qu\u2019il contient. C\u2019est typiquement le cas d\u2019une base de donn\u00e9es qui contient des tableaux et des clefs d\u2019indexation permettant d\u2019identifier rapidement chaque ensemble de donn\u00e9es (comme un num\u00e9ro d\u2019article ou un num\u00e9ro de client), mais aussi d\u2019un fichier csv qui contient des identificateurs de colonne permettant un tri rapide.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.cours.jlrichter.fr\/wp-content\/uploads\/2020\/01\/Visualisation_of_a_simple_DBMS_Model.png\" alt=\"Exemple de la structure d\u2019une base de donn\u00e9es d\u2019association (source Wikip\u00e9dia).\" \/><\/figure>\n\n\n\n<p>Exemple de la structure d\u2019une base de donn\u00e9es d\u2019association<\/p>\n\n\n\n<p>Dans l\u2019image ci-dessus, on voit que chaque information sur une personne de la base est identifi\u00e9e par un\u00a0descripteur\u00a0qui d\u00e9crit ce qu\u2019elle doit contenir (firstname \u2013 pr\u00e9nom\u00a0; lastname \u2013 nom\u00a0; date-of-birth\u00a0: date de naissance\u2026.) et chacun de ces champs est d\u00e9fini par un\u00a0<strong>type<\/strong>\u00a0pr\u00e9cis (varchar(50)\u00a0: 50 caract\u00e8res libres\u00a0; Date\u2026). Pour chaque utilisateur il y aura une ligne dans le tableau \u00ab\u00a0person\u00a0\u00bb et cette ligne contiendra les valeurs saisies lors de l\u2019enregistrement d\u2019un nouveau membre de l\u2019association.<\/p>\n\n\n\n<p><strong>R\u00e9cup\u00e9rer des donn\u00e9es structur\u00e9es<\/strong><\/p>\n\n\n\n<p>La protection des donn\u00e9es personnelles fait que de nombreuses informations pr\u00e9cises ne sont heureusement pas accessibles librement sur Internet. Il existe toutefois des sites d\u2019information ouverts regroupant des bases de donn\u00e9es \u00e0 usage publiques\u00a0: les Open Data.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.cours.jlrichter.fr\/wp-content\/uploads\/2020\/01\/opendata.png\" alt=\"\" \/><\/figure>\n\n\n\n<p><strong>Recherches, tri et calculs dans des tables de don<\/strong>n\u00e9es<\/p>\n\n\n\n<p>En choisissant un ensemble de donn\u00e9es il est possible d\u2019y effectuer de\u00a0recherches\u00a0sp\u00e9cifiques, de mettre en place un\u00a0filtre\u00a0(par ann\u00e9e par exemple), puis de cliquer sur les colonnes du tableau pour effectuer un\u00a0<strong>tr<\/strong>i\u00a0(croissant ou d\u00e9croissant).<br>Il est \u00e9galement possible de r\u00e9cup\u00e9rer les donn\u00e9es au format csv afin de les utiliser pour effectuer des\u00a0calculs\u00a0ou des\u00a0analyses\u00a0graphiques en cr\u00e9ant des repr\u00e9sentations \u00e0 partir des donn\u00e9es.<\/p>\n\n\n\n<p>Lire et \u00e9crire dans un fichier<\/p>\n\n\n\n<p>Prenons un exemple de fichier open data disponible sur les sites gouvernementaux fran\u00e7ais\u00a0: la population et la superficie des d\u00e9partements fran\u00e7ais par r\u00e9gion en 2019. Le contenu du fichier csv brut ressemble \u00e0 ceci\u00a0:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/www.cours.jlrichter.fr\/wp-content\/uploads\/2021\/01\/fichiercsv-1024x635.png\" alt=\"\" \/><\/figure>\n\n\n\n<p>On constate, comme c\u2019est assez souvent le cas (et c\u2019est bien pratique) que ce fichier contient un identifiant des colonnes du tableau, que l\u2019on appelle aussi les\u00a0descripteurs (ou en-t\u00eate), sur sa premi\u00e8re ligne. Chaque donn\u00e9e est ensuite s\u00e9par\u00e9e par un\u00a0point-virgule.<\/p>\n\n\n\n<p>Ce type de fichier peut facilement \u00eatre trait\u00e9 par un tableur pour trier, extraire ou regrouper des donn\u00e9es, mais ici nous allons voir comment traiter ces donn\u00e9es avec Python.<\/p>\n\n\n\n<p>La premi\u00e8re \u00e9tape sera d\u2019ouvrir le fichier avec un programme Python afin de pouvoir acc\u00e9der \u00e0 son contenu. Pour cela on utilise la commande \u00ab\u00a0open\u00a0\u00bb qui doit \u00eatre suivie du nom du fichier \u00e0 ouvrir et de la m\u00e9thode d\u2019ouverture\u00a0: \u00ab\u00a0r\u00a0\u00bb pour lecture (read), \u00ab\u00a0w\u00a0\u00bb pour \u00e9criture (write), par exemple.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rappels sur les donn\u00e9es Les \u00ab\u00a0donn\u00e9es\u00a0\u00bb sont \u00e0 la base de l\u2019informatique, car toute l\u2019informatique est justement le traitement de ces donn\u00e9es afin d\u2019en extraire des informations utiles ou de les transformer, rassembler, d\u2019en d\u00e9duire un raisonnement ou une pr\u00e9diction.En informatique, tout est donn\u00e9, depuis les 0 et les 1 qui d\u00e9crivent l\u2019\u00e9tat des transistors [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/posts\/169"}],"collection":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/comments?post=169"}],"version-history":[{"count":1,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/posts\/169\/revisions"}],"predecessor-version":[{"id":170,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/posts\/169\/revisions\/170"}],"wp:attachment":[{"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/media?parent=169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/categories?post=169"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/yb-isn.fr\/2021\/nsi\/matthieu\/wp-json\/wp\/v2\/tags?post=169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}