Exercices corrigés
L'afficher. Enfin utilisez la « bonne pratique » : recommencez l'exercice en transtypant les saisies effectuées avec l'instruction raw_input(). Cours no 2
Modélisation et simulation des systèmes de production: une
7 mai 2013 Soutenue le 29 juin 1994 devant la Commission d'Examen ... Un article (en cours de transformation) est souvent appelé une ''pièce" dans la.
FICHES DESCRIPTIVES DES UNITES DENSEIGNEMENT
6.2 - Validation de l'UE (préciser les poids des épreuves d'examens pour le calcul l'algorithmique cours et exercices 2eme cycle Ecoles d'ingenieurs ...
Bases de données documentaires et distribuées
26 sept. 2021 Tout le matériel proposé ici sert de support au cours « Bases de données ... Exercice Ex-S2-4 : extrait de l'examen du 16 juin 2016.
Présentation PowerPoint
Exercices en langage C++ de Claude Delannoy
LE DESIGN THINKING BIBLIOTHÈQUE
2 / INSPIRATION. 3 / IDÉATION vous permettre de comprendre en quoi consiste le design thinking et ... d'affichage qui n'avait l'air d'intéresser per-.
Le développement du leadership partagé dans les équipes de projet
Papa tu seras toujours mon inspiration et ma source de courage ! MERCI à toi Sylvain d'avoir été le premier à croire en ce projet et de m'avoir encouragée
Design Patterns
Examen ACSI. Amphi 022 : 13h30-15h00 GameBoard est responsable des règles du jeu et de l'affichage ... le comportement peut changer en cours d'exécution.
Méthodologie de la recherche documentaire : principes clés
question qui apparaissent au cours de ces premières recherches ://www.bibliotheques.uqam.ca/infosphere/fichiers_communs/feuilles_travail/feuille2.pdf ...
Management des compétences et organisation par projets: une
30 août 2012 centre de formation) ou sur le lieu de travail par des ... néglige l'examen des causes du découplage de la firme vis-à-vis de son ...
Bases de données documentaires et
distribuéesVersion Février 2023
Philippe Rigaux
févr. 07, 2023Table des matières
1 Introduction3
1.1 Sujet du cours
41.2 Contenu et objectifs du cours
51.3 Organisation
62 Préliminaires : Docker
72.1 Introduction à Docker
92.2 Docker en ligne de commande
112.3 Le tableau de bord (dashboard)
173 Modélisation de bases NoSQL
213.1 S1 : documents structurés
223.2 S2. Modélisation des collections
303.3 S3 : Cassandra, une base relationnelle étendue
413.4 S4 : MongoDB, une base JSON
513.5 Exercices
554 Interrogation de bases NoSQL
594.1 S1 : HTTP, REST, et CouchDB
594.2 S2 : requêtes Cassandra
714.3 S3 : requêtes avec MongoDB
755 MapReduce, premiers pas
815.1 S1 : MapReduce démystifié
825.2 S2 : MapReduce et CouchB
905.3 S3 :FrameworksMapReduce : MongoDB. . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.4 Exercices
1026 Cassandra - Travaux Pratiques
1076.1 Partie 1 : Approche relationnelle
1086.2 Partie 2 : modélisation spécifique NoSQL
1117 MongoDB - Travaux Pratiques
113 i7.1 Manipulation de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2 Pratique de Map/Reduce
1157.3 Bonus / Pour aller plus loin
1168 Introduction à la recherche d"information
1198.1 S1 : les principes
1198.2 S2 : Bases documentaires et moteur de recherche
1278.3 S3 : la pratique : requêtes booléennes
1348.4 Exercices
1389 Recherche d"information : l"indexation
1419.1 S1 : L"analyse de documents
1419.2 S2 : L"indexation dans ElasticSearch
14410 Recherche avec classement
15710.1 S1 : recherche avec classement
15710.2 S2 : recherche plein texte
16010.3 S3 : l"algorithme PageRank
16610.4 Exercices
16910.5 Implémenter le classement dans un moteur de recherche
17311 Recherche d"information - TP ElasticSearch
17511.1 Mise en place d"ElasticSearch
17511.2 Interrogation
17711.3 Agrégats
17811.4 Bonus : Agrégats via mapping spécifique
17912 Recherche d"information - TP ElasticSearch : pertinence
18112.1 Elasticsearch et la pertinence
18112.2 À vous de jouer
18613 Lecloud, une nouvelle machine de calcul187
13.1 S1 :cloudet données massives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
13.2 S2 : La scalabilité
19613.3 S3 : anatomie d"une grappe de serveurs
20013.4 Exercices
20414 Systèmes NoSQL : la réplication
20714.1 S1 : réplication et reprise sur panne
20714.2 S2 : réplication dans MongoDB
21714.3 S3 : ElasticSearch
22114.4 S4 : Cassandra
22814.5 Exercices
23615 Systèmes NoSQL : le partitionnement
24115.1 S1 : les bases
24115.2 S2 : partitionnement par intervalle
24815.3 S3 : partitionnement par hachage
25715.4 Exercices
270 ii
16 Calcul distribué : Hadoop et MapReduce275
16.1 S1 : MapReduce
27616.2 S2 : Une brève introduction à Hadoop
28316.3 S3 : langages de traitement : Pig
29516.4 Exercices
30117 Traitement de données massives avec Apache Spark
30517.1 S1 : Introduction à Spark
30617.2 S2 : Spark en pratique
31217.3 S3 : Traitement de données structurées avec Cassandra et Spark
32017.4 Exercices
32518 Traitement de flux massifs avec Apache Flink
32718.1 S1 : Apache Flink
32818.2 S2 : l"API de streaming Flink
33718.3 S3 : Le fenêtrage
34519 Pig : Travaux pratiques
35119.1 Première partie : analyse de flux multiples
35119.2 Deuxième partie : analyse de requêtes
35320 Projets NFE204361
20.1 Les étapes
36220.2 Les données
36320.3 Le système NoSQL
36320.4 Le rapport
36421 Annales des examens
36521.1 Examen du 3 février 2015
36521.2 Examen du 14 avril 2015
36721.3 Examen du 15 juin 2015
36821.4 Examen du 1er juillet 2016 (FOD)
37021.5 Examen du 1er février 2017 (Présentiel)
37421.6 Examen du 6 février 2018 (Présentiel)
37721.7 Examen du 30 juin 2020
38121.8 Examen du 5 septembre 2020
38322 Indices and tables
387 iii
iv Bases de données documentaires et distribuées, Version Février 2023Tout le matériel proposé ici sert de support au cours " Bases de données documentaires et distribuées »
proposé par le département d"informatique du Cnam. Le code du cours est NFE204 (voir le site http: pour des inf ormationspratiq ues).Il es tdonné en Cours présentiel (premier semes tre,mardi soir) Cours à dis tance(second semes tre,a vecsuppor tsaudio visuels)Par ailleurs, le document que vous commencez à lire fait partie de l"ensemble des supports d"apprentissage
proposés sur le site http:// www.bdpedia.fr .R eportez-vousà ce site pour plus d"e xplications.Ce cours fait partie d"un ensemble d"enseignements consacrés à l"analyse de données massives, permettant
éventuellement d"obtenir un Certificat de Spécialisation au Cnam. Vous êtes invités à consulter :
Le site du cer tificat:
http:// donneesmassives.cnam.fr/La fic hedu cer tificat:
http:// formation.cnam.fr/rechercher-par-discipline/ La présentation du cours R CP216sur la f ouillede données dis tribuée http:// cedric.cnam.fr/vertigo/Cours/RCP216/preambule.html
La présentation du projet de synthèse (U ASB03)q uiconclut le Cer tificatde données massiv es,
http: //cedric.cnam.fr/vertigo/Cours/UASB03/uasb03.htmlTable des matières1 Bases de données documentaires et distribuées, Version Février 20232Table des matières
CHAPITRE1Introduction
Supports complémentaires :
Diapositiv es:Présentation du cours
V idéode présentation du cours Les bases relationnelles sont adaptées à des informations bien structurées, décomposables en unités simples
(chaînes de caractères, numériques), et représentables sous forme de tableaux. Beaucoup de données ne
satisfont pas ces critères : leur structure est complexe, variable, et elles ne se décomposent par aisément
en attributs élémentaires. Comment représenter le contenu d"un livre par exemple? d"une image ou d"une
vidéo? d"une partition musicale?Les bases relationnelles répondent à cette question en multipliant le nombre de tables, et de lignes dans ces
tables, pour représenter ce qui constitue conceptuellement une même " entité ». Cette décomposition en
fragment " plats » (les lignes) est la fameusenormalisation(relationnelle) qui impose, pour reconstituer l"in-
formation complète, d"effectuer une ou plusieurs jointures assemblant les lignes stockées indépendamment
les unes des autres.Note :Ce cours suppose une connaissance solide des bases de données relationnelles. Si ce n"est pas le cas,
vous risquez d"avoir des lacunes et des difficultés à assimiler les nouvelles connaissances présentées. Je vous
recommande au préalable de consulter les cours suivants : le coursBases relationnelles, modèles et lang ages
, pour tout savoir sur la conception d"une base relationnelle et le langage SQL. le coursSy stèmesrelationnels
, pour les aspects systèmes : indexation, optimisation, concurrenced"accès.Cette approche, qui a fait ses preuves, ne convient cependant pas dans certains cas. Les données de nature es-
Bases de données documentaires et distribuées, Version Février 2023de certains objets dont la stucture est très flexible; enfin,l"échange de donnéesdans un environnement dis-
tribué se prête mal à une représentation éclatée en plusieurs constituants élémentaires qu"il faut ré-assembler
pour qu"ils prennent sens. Toutes ces raisons mènent à des modes de représentation plus riches permettant
la réunion, en une seule structure, de toutes les informations relatives à un même objet conceptuel. C"est ce
que nous appelleronsdocument, dans une acception élargie un peu abusive mais bien pratique. 1.1Suje tdu cour s
Dans tout ce qui suit nous désignons donc par le terme générique dedocumenttoute paire(i, v)oùiest
l"identifiant du document etvunevaleur structuréecontenant les informations caractérisant le document.
Nous reviendrons plus précisément sur ces notions dans le cours.La gestion d"ensembles de documents selon les principes des bases de données, avec notamment des outils
de type " cloud ». L"usage est maintenant établi d"appeler ces systèmes " NoSQL » pour souligner leurs
différences avec les systèmes relationnels. Le fait qu"ils ne suivent pas le modèle relationnel est d"ailleurs à
peu près leur seul point commun. De manière générale, et avec de grandes variantes quand on se penche sur
les détails, ils partagent également :la représentation des données sous f ormed"unités d"inf ormationindépendantes les unes des unes, (ce
que nous appelons justementdocument) organisées encollections;des méthodes d"accès aux collections basées soit sur des pr imitivesassez simplis tes,soit sur des
recherches par similarité qui relèvent de larecherche d"information;la capacité à passer à l"échelle(expression énigmatique que nous essaierons de clarifier) par ajout de
ressources matérielles, donnant ces fameux environnements distribués et extensibles,et enfin des tec hniquesde dis tributionde calculs per mettantde traiter des collections massiv esdans
des délais raisonnables.Tous ces aspects, centrés sur les documents de nature textuelle (ce qui exclut les documents multimédia
comme les images ou vidéos), constituent le cur de notre sujet. Il couvre en particulier :les modèles de données pour documents s tructurés(XML et JSON), conception, bases de documents
structurés (MongoDb, CouchDb, Cassandra, etc.).l"nde xationet la rec herche: e xtractionde descr ipteurs,moteurs de rec herche,tec hniquesde classe-
ment.la g estionde g randescollections dans des en vironnementsdis tribués: les sy stèmesN oSQL(Mon-
goDB, Cassandra, CouchBase, ...) les traitements à g randeéc helle: Hadoop, MapR educe,Spark, Flink.Lareprésentationdes données s"appuie sur unmodèle. Dans le cas du relationnel, ce sont des tables (pour
le dire simplement), et nous supposerons que vous connaissez l"essentiel. Dans le cas des documents, les
structures sont plus complexes : tableaux, ensembles, agrégats, imbrication, références. Nous étudions es-
sentiellement la notion dedocument structuréet son format de représentation le plus courant, JSON.
Disposer de données, mêmes correctement représentées, sans pouvoir rien en faire n"a que peu d"intérêt. Les
plus ou moins complexes. Les bases relationnelles ont SQL, nous verrons que la recherche dans des grandes
bases documentaires obéit souvent à des principes assez différents, illustrés par exemple par les moteurs de
recherche.4 Chapitre 1. Introduction Bases de données documentaires et distribuées, Version Février 2023Enfin, à tort ou à raison, les nouveaux systèmes de gestion de données, orientés vers ce que nous appelons, au
sens large, des " documents », sont maintenant considérés comme des outils de choix pour passer à l"échelle
de très grandes masses de données (le " Big data »). Ces nouveaux systèmes, collectivement (et vaguement)
désignés par le mot-valise " NoSQL » ont essentiellement en commun de pouvoir constituer à peu de frais
des systèmes distribués, scalables, aptes à stocker et traiter des collections à très grande échelle. Une partie
significative du cours est consacrée à ces systèmes, à leurs principes, et à l"inspection en détail de quelques
exemples représentatifs. 1.2Cont enue tobjectifs du cour s
Le cours vise à vous transmettre,dans un contexte pratique, deux types de connaissances. -Connaissances fondamentales :1.Modélisation de documents structurés: structures, sérialisation, formats (JSON, XML); les
Data.2.Moteurs de recherche pour bases documentaires: principes, techniques, moteurs de re-
cherche, index, algorithmes.3.Stockage, gestion, et passage à l"échelle par distribution. L"essentiel sur les systèmes distri-
bués, le partitionnement, la réplication, la reprise sur panne; le cas des systèmes NoSQL.4.Traitement de données massives: Hadoop et MapReduce, et les systèmes modernes, Spark et
Flink.
-Connaissances pratiques : 1. Des sy stèmes" N oSQL» or ientés" documents » ;(MongoDB, Couc hDB,Cassandra) 2. Des moteurs de rec herche(Elas ticSearch)basés sur un inde xin versé(Lucene). 3.L "étude,en pratiq ue,de q uelquessy stèmesN oSQLdis tribués: MongoDB (temps réel), Elas-
ticSearch (indexation), Cassandra encore. 4. La combinaison des moteurs de s tockageet des moteurs de traitement dis tribué: Hadoop,Spark et Flink.
Les connaissances préalables pour bien suivre ce cours sont essentiellement une bonne compréhension des
bases relationnelles, soit au moins la conception d"un schéma, SQL, ce qu"est un index et des notions de base
sur les transactions.Pour les aspects pratiques, il est souhaitable également d"avoir une aisance minimale dans un environnement
de développement. Il s"agit d"éditer un fichier, de lancer une commande, de ne pas paniquer devant un nouvel
outil, de savoir résoudre un problème avec un minimum de tenacité. Aucun développement n"est à effectuer,
mais des exemples de code sont fournis et doivent être mis en uvre pour une bonne compréhension.
Le cours vise à vous transmettre des connaissances génériques, indépendantes d"un système particulier. Il
s"appuie cependant sur la mise en pratique. Vous avez donc besoin d"un ordinateur pour travailler. Si vous
êtes au Cnam tout est fourni, sinon un ordinateur portable raisonnablement récent et puissant (8 GOs en
mémoire RAM au minimum) suffit. Tous les logiciels utilisés sont libres de droits, et leur installation est
brièvement décrite quand c"est nécessaire.1.2. Contenu et objectifs du cours 5 Bases de données documentaires et distribuées, Version Février 2023 1.3Org anisation
Le cours est découpé enchapitres, couvrant un sujet bien déterminé, et ensessions. J"essaie de structurer les
sessions pour qu"elles demandent environ 2 heures de travail personnel (bien sûr, cela dépend également de
vous). Pour assimiler une session vous pouvez combiner les ressources suivantes : La lecture du suppor ten ligne : celui q uev ousa vezsous les y eux,ég alementdisponible en PDF ou en ePub Le suivi du cours, en vidéo ou en présentiel. La réponse au q uizpour v aliderv otrecompréhension La réalisation des e xercicesproposés en fin de session. Enfin, optionnellement, la reproduction des manipulations vues dans chaque session. N"y passez pasdes heures :il vaut mieux comprendre les principes que de résoudre des problèmes techniques peu
instructifs.La réalisation des exercices en revanche est essentielle pour vérifier que vous maîtrisez le contenu. Pour les
inscrits au cours, ils sont proposés sous forme de devoirs à rendre et à faire évaluer avant de poursuivre.
Vous devez assimiler le contenu des sessionsdans l"ordre où elles sont proposées. Commencez par lire le
support, jusqu"à ce que les principes vous paraissent clairs. Répondez alors au quiz de la session. Essayez de
reproduire les exemples de code : ils sont testés et doivent donc fonctionner, sous réserve d"un changement
de version introduisant une incompatibilité. Le cas échéant, cherchez à résoudre les problèmes par vous-
mêmes : c"est le meilleur moyen de comprendre, mais n"y passez pas tout votre temps. Finissez enfin par les
exercices. Les solutions sont dévoilées au fur et à mesure de l"avancement du cours, mais si vous ne savez
pas faire un exercice, c"est sans doute que le cours est mal assimilé et il est plus profitable d"approfondir en
relisant à nouveau que de simplement copier une solution.Enfin, vous êtes totalement encouragés à explorer par vous-mêmes de nouvelles pistes. Certaines sont pro-
posées dans les exercices.6 Chapitre 1. IntroductionCHAPITRE2Préliminaires : Docker
Supports complémentaires
Diapositiv es:introduction à Doc ker
V idéode la session consacrée à Doc kerLa plupart des systèmes étudiés dans ce cours peuvent s"installer et s"exécuter avec l"environnementDocker
http://www.docker.com ).Doc kerper metd"émuler un sy stèmedis tribuéde ser veurs. Unserveurest une entité qui fournit un service (!). Concrètement :un serveur machineest un ordinateur, tournant sous un système d"exploitation, et connecté en per-
manence au réseau via desports; un serveur machine est identifiable sur le réseau par son adresse
IP.un serveur logicielest un processus exécuté en tâche de fond d"un serveur machine qui communique
avec desclients (logiciels)via un port particulier.un système distribuéest constitué de plusieurs serveurs qui communiquent les uns avec les autres.
un client (logiciel)est un programme qui communique avec un serveur (logiciel);une machine virtuelleest un programme qui simule, sur une machine hôte, un autre ordinateur.Exemple.
Un serveurweb est unprocessus (Apache parexemple) qui communique sur leport 80 d"unserveur machine.Si ce serveur machine a pour IP 163.12.9.10, alors tout client web (Firefox par exemple) peut s"adresser au
serveur web à l"adresse 163.12.9.10 :80.LaF ig.2.1 illus treces concepts de base, q uenous utiliserons maintenant intensiv ementsans plus d"e xplica-
tion. Elle montre dans une machine physique (le " système hôte ») deux machines virtuelles. Chacune de ces
machines dispose d"une adresse IP qui lui est propre, et propose des services en écoute sur certains ports. Un7
Bases de données documentaires et distribuées, Version Février 2023serveur MongoDB est présent par exemple sur chacune des deux machines, en écoute sur le port par défaut
27017, la différentiation des serveurs se faisant donc dans ce cas par l"adresse IP du serveur qui les héberge.
Inversement, on peut avoir deux serveurs identiques sur une même machine, mais sur des ports différents.
C"est ce qu"illustre la présence de deux serveurs ElasticSearch sur la seconde machine virtuelle, sur les ports
respectifs 9200 et 9201.Fig. 2.1 - Un exemple de système distribué, avec serveurs virtuels et clients
Avant de donner quelques explications plus élaborées, il vous suffit de considérer que Docker permet d"ins-
taller et d"exécuter très facilement, sur votre ordinateur personnel, et avec une consommation de ressources
(mémoire et disque) très faible, ce que nous appellerons pour l"instant des " pseudos-serveurs » en attendant
d"être plus précis. Docker offre deux très grands avantages.il propose des pseudo-ser veurspré-configurés, prêts à l"emploi (les " imag es»), q uis "installenten
quelques clics;il es ttout aussi f aciled"ins tallerplusieurspseudos-serveurs communiquant les uns avec les autres et
d"obtenir donc un système distribué complet, sur un simple portable (doté d"une puissance raison-
nable).Docker permet de transformer un simple ordinateur personnel endata center! Bien entendu, il n"en a pas la
puissance mais pour tester et expérimenter, c"est extrêmement pratique.Installation: Docker existe sous tous les systèmes, dont Windows. Pour Windows et Mac OS, un installateur
Docker Desktopest fourni àhttps:// www.docker.com/products/docker-desktop. Il contient tous les compo-
sants nécessaires à l"utilisation de Docker.Note :Merci de me signaler des compléments qui seraient utiles à intégrer dans le présent document, pour
les environnements différents de Mac OS X, et notamment Windows.8 Chapitre 2. Préliminaires : Docker
Bases de données documentaires et distribuées, Version Février 2023 2.1Introduction à Doc ker
Essayons de comprendre ce qu"est Docker avant d"aller plus loin. Vous connaissez peut-être déjà la notion
demachine virtuelle(VM). Elle consiste à simuler par un composant logiciel, sur une machine physique,
un ordinateur auquel on alloue une partie des ressources (mémoire, CPU). Partant d"une machine dotée par
exemple de 4 disques et 256 GO de mémoire, on peut créer 4 VMs indépendantes avec chacune 1 disque et
64 GO de RAM. Ces VMs peuvent être totalement différentes les unes des autres. On peut en avoir une sous
le système Windows, une autre sous le système Linux, etc.L"organisation en VMs rend plus facile la réaffectation, le changement du dimensionnement, et améliore le
taux d"utilisation des dispositifs physiques (disque, mémoire, réseau, etc.).Les VMs ont aussi l"inconvénient d"être assez gourmandes en ressource, puisqu"il faut, à chaque fois, faire
tourner un système d"exploitation complet, avec tout ce que cela implique, en terme d"emprise mémoire
notamment.Docker propose une solution beaucoup plus légère, basée sur la capacité du système Linux à créer des es-
paces isolés auxquels on affecte une partie des ressources de la machine-hôte. Ces espaces, oucontainers
partitionnent en quelque sorte le système-hôte en sous-systèmes étanches, au sein desquels le nommage (des
processus, des utilisateurs, des ports réseaux) est purement local. On peut par exemple faire tourner un pro-
cessusapachesur le port 80 dans le conteneur A, un autre processusapachesur le port 80 dans le conteneur
B, sans conflit ni confusion. Tous les nommages sont en quelque sorte interprétés par rapport à un container
donné (notiond"espace de nom).Les conteneurs Linux sont beaucoup plus légers en consommation de ressources que les VMs, puisqu"ils
s"exécutent au sein d"un unique système d"exploitation. Docker exploite cette spécificité du système Linux
pour proposer un mode de virtualisation (que nous avons appelé " pseudo-serveur » en préambule) léger et
flexible. 2.1.1Doc kere tses cont eneurs
Docker (ou, très précisément, ledocker engine) est un programme qui va nous permettre de créer des conte-
neurs et d"y installer des environnements prêts à l"emploi, lesimages. Un peu de vocabulaire : dans tout ce
qui suit,Le système hôteest le système d"exploitation principal gérant votre machine; c"est par exemple Win-
dows, ou Mac OS. -Docker engineoumoteur dockerest le programme qui gère les conteneurs;U nconteneurest une partie autonome du système hôte, se comportant comme une machine indépen-
dante.Le client Dockerest l"utilitaire grâce auquel on transmet au moteur les commandes de gestion de ces
conteneurs. Il peut s"agir soit de la ligne de commande (Docker CLI) ou dudashboardintégré auDocker desktop.2.1. Introduction à Docker 9
quotesdbs_dbs43.pdfusesText_43[PDF] affiche du film le tableau PDF Cours,Exercices ,Examens
[PDF] affiche du spd pour les élections législatives du 6 novembre 1932 PDF Cours,Exercices ,Examens
[PDF] affiche exposition coloniale 1931 analyse PDF Cours,Exercices ,Examens
[PDF] affiche exposition coloniale 1931 histoire des arts PDF Cours,Exercices ,Examens
[PDF] affiche facile PDF Cours,Exercices ,Examens
[PDF] affiche gender PDF Cours,Exercices ,Examens
[PDF] affiche graphisme maternelle PDF Cours,Exercices ,Examens
[PDF] Affiche ironique ou contradictoire pour l'espagnol 3ème Espagnol
[PDF] Affiche la non violence au collège 3ème Espagnol
[PDF] affiche masculine or feminine PDF Cours,Exercices ,Examens
[PDF] affiche meaning PDF Cours,Exercices ,Examens
[PDF] affiche non au harcèlement PDF Cours,Exercices ,Examens
[PDF] affiche original 6ème Arts plastiques
[PDF] Affiche pour TPE 1ère Arts plastiques