From bc758f2280ab4b43d43da990b60ece3d6b1512a0 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Fri, 14 Sep 2018 15:31:18 +0200 Subject: added fichiers/02-tableur_bdd.tex --- fichiers/02-tableur_bdd.tex | 405 ++++++++++++++++++++++++++++++++ fichiers/images/02-ascii.png | Bin 0 -> 96404 bytes fichiers/images/02-donnees1.png | Bin 0 -> 33951 bytes fichiers/images/02-donnees2.png | Bin 0 -> 11503 bytes fichiers/images/02-exercice_formats.png | Bin 0 -> 17450 bytes fichiers/images/02-unicode.png | Bin 0 -> 87510 bytes 6 files changed, 405 insertions(+) create mode 100644 fichiers/02-tableur_bdd.tex create mode 100644 fichiers/images/02-ascii.png create mode 100644 fichiers/images/02-donnees1.png create mode 100644 fichiers/images/02-donnees2.png create mode 100644 fichiers/images/02-exercice_formats.png create mode 100644 fichiers/images/02-unicode.png (limited to 'fichiers') diff --git a/fichiers/02-tableur_bdd.tex b/fichiers/02-tableur_bdd.tex new file mode 100644 index 0000000..d6219d5 --- /dev/null +++ b/fichiers/02-tableur_bdd.tex @@ -0,0 +1,405 @@ +\input{../_preamble-ed.tex} +\usepackage{comment} + +\usepackage[toc]{multitoc} +\usepackage{graphicx} +\graphicspath{{images/}} + +\title{Tableur et base de données} + +\usepackage{hyperref} + +\begin{document} +\maketitle +\renewcommand{\contentsname}{Sommaire} +\tableofcontents + +\chapter{Qu'est-ce qu'une donnée?} + +\section{Définitions} +Une donnée est un élément brut, qui n'a pas encore été interprété, mis +en contexte. La mise en contexte crée de la valeur ajoutée pour +constituer une information (on peut définir l'information comme +l'interprétation d'une source de données). Les données brutes peuvent +être entrées dans un programme informatique ou utilisées dans des +procédures manuelles comme l'analyse statistique d'une enquête par +exemple. + +Qu'entend-on maintenant par \enquote{données publiques}? Ce sont les +données qui figurent dans les documents communiqués ou publiés par les +administrations. À partir de là, quand on parle d'\emph{open data}, il +s'agit de la mise à disposition de tous les citoyens sur internet des +données publiques ayant vocation à être librement accessibles et +gratuitement réutilisables. Ces données sont diffusées de manière +structurée selon une licence ouverte garantissant leur libre accès et +leur réutilisation par tous, sans restriction technique, juridique ou +financière. Cela signifie que n'importe quel utilisateur peut utiliser +ces données, les modifier ou les partager (même à des fins +commerciales). + +Il y a enfin une autre expression que vous avez certainement +entendues: celle de \emph{big data} qui désigne littéralement les +\enquote{grosses données}. Qu'entend-on par là? Les vibrations de tel +tablier de pont, les sentiments exprimés sur tel réseau social, les +achats ou recherches sur tel site… Toutes ces données, utiles pour la +maîtrise de machines ou notre vie sociale, économique, voire +sentimentale, laissent des traces, des scories, qui sont de plus en +plus souvent conservées. C’est de cette profusion de données sur de +nombreux domaines que résultent les Big Data ou mégadonnées. On le +voit, ces Big Data désignent des ensembles de données tellement +volumineux qu'il devient difficile, voire impossible, de les manipuler +avec des outils classiques de gestion de base de données ou de gestion +de l'information. + + +\section{Formats} En fonction de ce que l'on veut faire, les +données informatiques sont rangées dans des fichiers. Le choix de la +méthode de rangement, c'est ce qu'on appelle le format. Pour +l'utilisateur, le format est représenté par une extension. Le format +est déterminé par le logiciel au moment de l'enregistrement d'un +document. Comme vous l'avez certainement constaté, le système associe +par défaut un logiciel à un format, raison pour laquelle, quand vous +double-cliquez sur un document, il s'ouvre automatiquement sans que +vous ayez à préciser quel logiciel doit l'ouvrir. Avant de vous +présenter les différents formats que vous devez connaître, sachez que +chaque format relève d'une logique, d'une structure. On en distingue +trois. + + +\paragraph{les principales structures utilisées}: voici les trois +principales structures utilisées pour présenter les données: +\begin{enumerate} +\item la structure tabulaire: c'est la plus répandue. On organise les +données dans des colonnes et des lignes. Voir par exemple les données +concernant la fréquentation des musées italiens: +\url{http://www.datiopen.it/opendata/Visitatori_musei_pubblici_e_similari_titolo_d_accesso#ui-tabs-3}. Un +des formats qui relève de cette structure est le format csv +(Comma-separated values); il permet d'organiser des données en +cellules afin qu'elles soient traitées par un tableur ou insérées dans +une base de données. Les données dans un document csv sont le plus +souvent encadrées par des guillemets et séparées par des points +virgule. + +\begin{figure}[h] \centering \includegraphics[scale=0.6]{02-donnees2.png} +\end{figure} + +\item la structure hiérarchique: les données présentées ainsi montrent +les rapports entre les points de données comme pour un arbre +généalogique. + +\item la structure en réseau: les données structurées ainsi permettent +des rapports entre n'importe quelle combinaison d'éléments dans +n'importe quelle direction. Le web en est un bon exemple puisque les +pages web comportent des liens vers un nombre incalculable d'autres +pages. Cf. le format xml (Extensible Markup Language) qui a pour +objectif de faciliter l'échange automatisé de contenus complexes. Un +document xml est constitué d'un prologue qui indique les informations +de traitement (comme le jeu de caractères utilisé), et du corps du +document, constitué d'un ensemble de balises qui décrivent les données +(se présentant sous la forme d'une arborescence). Où trouve-t-on du +xml? Dans les pages web, les documents OpenOffice sont également des +fichiers xml, les logiciels de dessin comme InkScape utilisent aussi +ce format, etc. + +\begin{figure}[h] \centering \includegraphics[scale=0.6]{02-donnees1.png} +\end{figure} + +NB: vous remarquerez que les mêmes données peuvent être présentées +sous des formats différents. +\end{enumerate} + +\paragraph{les formats que vous devez savoir utiliser}: on distingue +les formats ouverts dont les spécifications sont publiquement +accessibles des formats fermés qui sont souvent propriétaires (même +quand un format propriétaire est ouvert, les entreprises qui le +commercialisent tentent d'en conserver le contrôle en proposant de +nouvelles versions plus élaborées ou en ayant recours aux +brevets). Voici la liste des principaux formats que vous +rencontrerez. Vous penserez à préciser quels sont ceux qui sont +ouverts. + +\begin{figure}[h] \centering +\includegraphics[scale=0.6]{02-exercice_formats.png} +\end{figure} + +Sur le format txt: éditeur de textes et traitement de +textes. Qu’est-ce qu’un éditeur de textes ? À quoi cela sert-il ? +Est-ce la même chose qu’un traitement de texte ? Un éditeur de texte +est un programme qui permet de modifier des fichiers de texte brut, +sans mise en forme (gras, italique, souligné…). Sous Windows, on +dispose d’un éditeur de texte très basique, le Bloc-Notes, mais il +existe aussi NotePad++ (plus évolué). Sous Linux, on a le choix entre +Nano, Vim, Emacs, et bien d’autres. Un traitement de texte, en +revanche, est fait pour rédiger des documents mis en forme. Word et +LibreOffice Writer sont certainement les plus célèbres. + + +\paragraph{Exercice 1} + +Quand a-t-on besoin d’un éditeur de texte ? Chaque fois qu’on veut +éditer un fichier de texte brut (au format .txt). Si les éditeurs de +texte sont parfaits pour les programmeurs, ils sont aussi utiles pour +retravailler du texte à l’aide de commandes puissantes, avant de le +structurer dans un traitement de textes. Exemple : quand on récupère +une œuvre ou un extrait d’œuvre depuis une bibliothèque numérique, il +faut très souvent supprimer les retours à la ligne intempestifs qu’on +appelle hard wrap. Il est très facile de le faire grâce à un éditeur +comme Notepad++ : allez dans le menu TextFX, commande TextFXEdit, +sous-commande Unwrap Text. Les retours à la ligne simples sont +convertis en fin de ligne (mode soft wrap) tandis que les doubles +retours subsistent. À ce problème, s’ajoute parfois aussi celui de +caractères cabalistiques qui apparaissent à la place des caractères +accentués. + +\paragraph{Exercice 2} +\begin{enumerate} +\item Récupérez au format txt sur Gutenberg \emph{Le corbeau} de Poe +et ouvrez-le dans LibreOffice ; +\item Faites apparaître au début du document le titre de l’œuvre en +italique (comme il se doit), puis enregistrez ce fichier au format +natif d’OO (.odt). Enregistrez maintenant ce fichier au format txt et +ouvrez-le avec un éditeur de textes par exemple : commentez la +différence ; +\item Exportez-le enfin au format pdf et veillez à ce que l’ouverture +de ce fichier soit protégé par un mot de passe que vous définirez. +\end{enumerate} + + +\section{Le problème des données textuelles: coder du texte} +\paragraph{Encodage binaire} +C'est dans les années 60 qu'apparaît la +nécessité de représenter chaque caractère en code traitable par +l'ordinateur. Or la mémoire d'un ordinateur n'est capable +d'enregistrer qu'une suite de 0 et 1 (encodage binaire): à l'origine, +les lettres de l'alphabet ont donc été encodées sous la forme d'une +suite de 0 et de 1. + + +\paragraph{La table ASCII} Mais de quel alphabet parle-t-on? Tout +commence par une constatation très simple : les premiers +informaticiens parlaient anglais. Et l’anglais s’écrit avec peu de +choses : deux fois 26 lettres, 10 chiffres, une trentaine de signes de +ponctuation, de signes mathématiques, sans oublier le symbole +dollar. : avec 95 caractères au total on peut se débrouiller. À +l’époque dont je parle, on ne pouvait utiliser que la moitié des +octets, soit 128 valeurs. On en a pris 33 comme caractères de « +contrôle » (comme le retour à la ligne par exemple), plus les 95 dont +on avait besoin pour écrire l’anglais. On a donc attribué des numéros +à toutes ces valeurs : le code ASCII (American Standard Code for +Information Interchange) était né. Voir la figure \ref{ascii}. + +\begin{figure}[h] \centering \includegraphics[scale=0.5]{02-ascii.png} +\caption{La table ASCII} +\label{ascii} +\end{figure} + + +\paragraph{L'unicode} Mais au bout d’un certain temps est apparue la +nécessité de taper du français ou de l’allemand: on a donc utilisé les +valeurs laissées de côté par l’ASCII et il a été possible de caser les +caractères accentués et divers autres symboles utilisés par les +langues d’Europe de l’ouest. Dans ces 128 valeurs, il n’y a hélas pas +eu de place pour les caractères des langues occidentales et l’alphabet +cyrillique et l’alphabet grec et l’alphabet hébreu. Pour pouvoir +taper plusieurs langues sur un même ordinateur et pour que les +ordinateurs puissent communiquer entre eux, des organismes de +standardisation ont créé des tables de correspondance, comme +l’ISO-8859-1, qui propose un jeu de caractères pour les langues +occidentales, l’ISO-8859-5 qui offre du cyrillique, l’ISO-8859-7, qui +propose du grec, etc. Mais, malgré tout, il n’a pas été possible de +faire rentrer les 1945 idéogrammes du japonais officiel dans un octet, +ni les 11 172 syllabes coréennes, ni les dizaines de milliers +d’idéogrammes chinois qu’on arrive à recenser... Pour résoudre +durablement tous ces problèmes de langues, au début des années 2000, +s’est formé un consortium regroupant des grands noms de l’informatique +et de la linguistique : le consortium Unicode. Sa tâche : recenser et +numéroter tous les caractères existant dans toutes les langues du +monde. Est donc né un jeu universel de caractères, acceptant plusieurs +encodages, l’unicode. En 2007, le standard publié comportait environ +60 000 caractères. Prenons, par exemple, le sigma majuscule: il a été +encodé avec le point de code \texttt{U+03A3} (voir la figure +\ref{unicode}). + +Mais l'unicode prend beaucoup plus de place que l'ASCII. Or, pour +prendre l'exemple du français, la grand majorité des caractères +utilisent seulement le code ASCII. On a donc imaginé l'UTF-8 (Unicode +Transformation Format): un texte en UTF-8 est partout en ASCII et dès +qu'on a besoin d'un caractère appartenant à l'unicode on utilise un +caractère spécial pour l'indiquer. + + +\begin{figure}[h] \centering \includegraphics[scale=0.7]{02-unicode.png} +\caption{Aperçu de la table de codage unicode pour l'alphabet grec} +\label{unicode} +\end{figure} + +Cela dit, comment faire pour saisir une citation en espagnol, chinois, +arabe ou grec ancien au milieu d’un texte en français ? Il faut non +seulement disposer d’une police unicode (comme Gentium), mais encore +d’un clavier virtuel qui vous permet de savoir où se trouvent les +caractères. Ainsi, pour être en mesure de saisir du texte dans une +langue autre que le français, vous devez attribuer à votre clavier la +langue de saisie souhaitée. Par exemple, pour taper οὐκ ἔλαβον πόλιν, +vous devez configurer votre clavier de façon à saisir π quand vous +tapez sur la touche P. Pour ce faire, il suffit de cliquer du droit +sur l’icône FR, puis de choisir «~Paramètres~» et «~Ajouter~». Il +vous est aussi possible d’utiliser des claviers virtuels en ligne, +comme celui disponible à l’adresse suivante : +http://www.lexilogos.com/clavier/multilingue.htm + +\section{Coder des images} Une image se décompose en points appelés +pixels (premier critère de qualité d'une image). À chaque pixel est +associée une couleur décomposée en trois composantes, rouge, vert et +bleu, chacune étant notée par un nombre entre 0 et 255. Exemple: le +code pour le bleu ciel est (119, 181, 254), chaque nombre représentant +le dosage nécessaire de chacune des couleurs primaires pour obtenir la +couleur désirée. C'est ce qu'on appelle le code RVB (Red Green +Blue). Notez que le poids d'une image correspond à 3*nombre de pixels. + + +\chapter{Le tableur: fonctionnalités simples} +Un classeur permet de stocker des données numériques en vue de calculs +ou d'affichages graphiques (par opposition à l'affichage texte qu'on +vient de voir avec le format csv). Chaque classeur peut contenir de +nombreuses feuilles qu'on sélectionne avec des onglets. Chaque feuille +de calcul permet de saisir, contrôler, répertorier et analyser des +données (textuelles, numériques, fonctionnelles, etc.). Elle contient +des cellules éventuellement regroupées en plages. + +\section{Mise en forme} Chaque cellule peut être mise en forme avec +une palette complète d'outils. Il est possible de reproduire la mise +en forme à une autre cellule ou plage (voir le pinceau brosse). + +Dans un tableur, on peut insérer des graphiques dont on règle les +dimensions, les axes, les légendes et titres. En fonction du type de +données, on pourra privilégier le graphique en histogramme, en lignes +et courbes (pour représenter des tendances ou une évolution dans le +temps de valeurs numériques), à nuage, en secteurs (ou camemberts). + +\section{Fonctions de calcul} Voir la moyenne. + +\section{Tri, filtre et conversion de données} +\paragraph{Tri} Il est possible de trier des données en fonction de +textes (tri croissant ou décroissant), de nombres, de dates. Plusieurs +critères peuvent être définis (ex.: classement d'une classe par ordre +alphabétique des noms puis des notes obtenues). Pensez à cliquer sur +l'onglet Options pour déterminer les options de tri: vous pourrez +ainsi indiquer que la plage contient des étiquettes de colonne afin +d'éviter que les en-têtes de colonne soient triés avec les autres +données. + +\paragraph{Filtre} Le filtre automatique (Données>AutoFiltre) permet +de faciliter la recherche d'informations au sein d'une plage de +données. L'utilisateur peut ainsi choisir des informations qu'il +souhaite afficher ou masquer. + +\paragraph{Conversion} Une fonction permet de diviser une colonne de +données texte en plusieurs colonnes (Données>Texte en colonnes). Ex.: +à partir d'un nom complet, vous voulez une colonne nom et une colonne +prénom. + + +\section{Importation d'une source de données} +On peut vouloir importer une source de données dans un tableur, par +exemple une liste au format texte (qu'on peut visualiser dans un +traitement de textes en affichant les caractères non imprimables): +chaque caractère tabulation délimite le champ d'une cellule et chaque +pied de mouche indique qu'il faut passer à la ligne. Commençons par +ouvrir cette source de données (Fichier>Ouvrir): il faut alors +indiquer que le séparateur est la tabulation. + + +\chapter{Le tableur comme base de données} Un document Calc peut +constituer une base de données simplifiée. Dans une base de données, +un enregistrement est un groupe d'éléments de données liés entre eux +et traités comme une seule unité d'information. Chaque élément dans +l'enregistrement est appelé un champ. Une table est un ensemble +d'enregistrements. Chaque enregistrement, à l'intérieur d'une table, a +la même structure. Une table peut être vue comme une série de lignes +et de colonnes. On le voit, une feuille d'un document Calc a une +structure similaire à une table de base de données. + +Nous allons définir une plage de base de données de façon à trier, +grouper, rechercher et effectuer des calculs avec la plage comme si +c'était une base de données (Données>Définir la plage). + +\section{Utiliser des critères de recherche pour trouver des +données} +\paragraph{Exemple n°1} Comment compter toutes les cellules d'une +plage de données dont le contenu correspond à des critères de +recherche que nous aurons définis. Hypothèse de travail: nous +recherchons le nombre d'étudiants de la base dont la moyenne est égale +ou supérieure à 10 OU dont l'âge est inférieur ou égal à 17. Voici ce +qu'on doit saisir dans la cellule H5: +\begin{verbatim} =BDNB(A9:G51;0;A1:G3) +\end{verbatim} + +\paragraph{Commentaire} Le nom de la fonction est suivi d'une +parenthèse dans laquelle figurent: +\begin{itemize} +\item la plage de cellules contenant les données: A9:G51 +\item le champ de la base (colonne) utilisé pour les critères de +recherche: 0 +\item la plage de cellules contenant les critères de recherche: A1:G3 +\end{itemize} + +\paragraph{Exemple n°2} Comment déterminer le contenu de la cellule +d'une plage de données correspondant aux critères de +recherche. Hypothèse de travail: nous recherchons le nom de l'étudiant +qui a obtenu 5/20 au devoir n°1: +\begin{verbatim} =BDLIRE(A9:G51;"PRÉNOM";A1:C2) +\end{verbatim} + + +\section{Utiliser des formules pour trouver des données} Ne prenons +qu'un exemple: la fonction RECHERCHEV (pour recherche verticale): il +s'agit de récupérer des données issues d'une feuille différente de la +feuille de travail grâce à une "clé" commune aux deux feuilles. +\begin{enumerate} +\item dans la feuille n°1, j'ai les noms de tous mes étudiants et leur +n° d'étudiant; +\item dans la feuille n°2, j'ai les noms d'un seul groupe d'étudiants +et leur note. +\end{enumerate} --> Comment faire pour récupérer dans ma deuxième +feuille les n° d'étudiant du seul groupe concerné? +\begin{verbatim} =RECHERCHEV(A2;$Feuille1.$A$1:$B$120;2;0) +\end{verbatim} + +\paragraph{Commentaire} Notez que le premier argument est la valeur +cherchée dans la feuille 1: il s'agit, dans notre exemple, de chercher +l'étudiant Charles-Daniel (cellule A2). + +Le deuxième argument identifie les cellules où effectuer la recherche. + +Le troisième argument identifie la colonne à renvoyer: dans notre +exemple, celle des n° d'étudiants est la deuxième colonne de notre +feuille 1. + +Le dernier argument est facultatif. La valeur par défaut est 1 ou +VRAI, ce qui indique que la première colonne est triée dans l'ordre +croissant. Une valeur de 0 ou FAUX indique que les données ne sont pas +triées. + +Une fois que la recherche a abouti pour le premier étudiant, il faut +étendre la recherche à toutes les données de notre feuille 2: pour +cela, il suffit de faire un copier/coller en ayant pris la précaution +de protéger la formule en encadrant les numéros des colonnes du +chiffre \$. + + +\section{Utiliser des formules pour traiter des + données textuelles} +Plusieurs fonctions permettent de travailler sur du texte. En voici +quelques exemples: +\begin{itemize} +\item Mettre en majuscule la première lettre de chaque mot: +=NOMPROPRE(A1) +\item Supprimer les espaces en trop dans le texte de la cellule A1: +=SUPPRESPACE(A1) +\item Extraire le premier mot d'un texte saisi dans la cellule A1: +=GAUCHE(A1;CHERCHE(" ";A1;1)-1) +\end{itemize} + + + +\end{document} \ No newline at end of file diff --git a/fichiers/images/02-ascii.png b/fichiers/images/02-ascii.png new file mode 100644 index 0000000..8a5c75a Binary files /dev/null and b/fichiers/images/02-ascii.png differ diff --git a/fichiers/images/02-donnees1.png b/fichiers/images/02-donnees1.png new file mode 100644 index 0000000..369e48d Binary files /dev/null and b/fichiers/images/02-donnees1.png differ diff --git a/fichiers/images/02-donnees2.png b/fichiers/images/02-donnees2.png new file mode 100644 index 0000000..3aeb112 Binary files /dev/null and b/fichiers/images/02-donnees2.png differ diff --git a/fichiers/images/02-exercice_formats.png b/fichiers/images/02-exercice_formats.png new file mode 100644 index 0000000..382fb85 Binary files /dev/null and b/fichiers/images/02-exercice_formats.png differ diff --git a/fichiers/images/02-unicode.png b/fichiers/images/02-unicode.png new file mode 100644 index 0000000..a8856e9 Binary files /dev/null and b/fichiers/images/02-unicode.png differ -- cgit v1.2.3