Premier commit du tout

This commit is contained in:
Guyot 2020-01-06 22:43:15 +01:00
parent 473f8f5471
commit 1b0f08eb92
63 changed files with 1561145 additions and 0 deletions

344
OCI.sty Normal file
View File

@ -0,0 +1,344 @@
%-------------------------------------------------------------------------------
% Module créé par Vincent Guyot pour définir un modèle de travail de maturité
% Mis à jour le 2 février 2012
% Ce fichier est soumis à la licence libre GFDL dont on peut trouver
% les conditions sur le net.
%--------------------------------------------------------------------------------
\ProvidesPackage{OCI}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{lmodern}
\usepackage{subcaption} % pour les subfigures et les subtables
\usepackage{float} % pour placer exactement les figure (utilisation de H)
\usepackage[hyphens]{url}
\usepackage{comment}
\usepackage{natbib}
\usepackage{xcolor}
\definecolor{editorGray}{rgb}{0.95, 0.95, 0.95}
\definecolor{editorOcher}{rgb}{1, 0.5, 0} % #FF7F00 -> rgb(239, 169, 0)
\definecolor{editorGreen}{rgb}{0, 0.5, 0} % #007C00 -> rgb(0, 124, 0)
\usepackage{upquote}
% Listings
\usepackage{listings} % Listings et sa configuration
\lstdefinelanguage{JavaScript}{
morekeywords={break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with},
morecomment=[s]{/*}{*/},
morecomment=[l]//,
morestring=[b]",
morestring=[b]'
}
\lstdefinelanguage{CSS}{
keywords={accelerator,azimuth,background,background-attachment,
background-color,background-image,background-position,
background-position-x,background-position-y,background-repeat,
behavior,border,border-bottom,border-bottom-color,
border-bottom-style,border-bottom-width,border-collapse,
border-color,border-left,border-left-color,border-left-style,
border-left-width,border-right,border-right-color,
border-right-style,border-right-width,border-spacing,
border-style,border-top,border-top-color,border-top-style,
border-top-width,border-width,bottom,caption-side,clear,
clip,color,content,counter-increment,counter-reset,cue,
cue-after,cue-before,cursor,direction,display,elevation,
empty-cells,filter,float,font,font-family,font-size,
font-size-adjust,font-stretch,font-style,font-variant,
font-weight,height,ime-mode,include-source,
layer-background-color,layer-background-image,layout-flow,
layout-grid,layout-grid-char,layout-grid-char-spacing,
layout-grid-line,layout-grid-mode,layout-grid-type,left,
letter-spacing,line-break,line-height,list-style,
list-style-image,list-style-position,list-style-type,margin,
margin-bottom,margin-left,margin-right,margin-top,
marker-offset,marks,max-height,max-width,min-height,
min-width,-moz-binding,-moz-border-radius,
-moz-border-radius-topleft,-moz-border-radius-topright,
-moz-border-radius-bottomright,-moz-border-radius-bottomleft,
-moz-border-top-colors,-moz-border-right-colors,
-moz-border-bottom-colors,-moz-border-left-colors,-moz-opacity,
-moz-outline,-moz-outline-color,-moz-outline-style,
-moz-outline-width,-moz-user-focus,-moz-user-input,
-moz-user-modify,-moz-user-select,orphans,outline,
outline-color,outline-style,outline-width,overflow,
overflow-X,overflow-Y,padding,padding-bottom,padding-left,
padding-right,padding-top,page,page-break-after,
page-break-before,page-break-inside,pause,pause-after,
pause-before,pitch,pitch-range,play-during,position,quotes,
-replace,richness,right,ruby-align,ruby-overhang,
ruby-position,-set-link-source,size,speak,speak-header,
speak-numeral,speak-punctuation,speech-rate,stress,
scrollbar-arrow-color,scrollbar-base-color,
scrollbar-dark-shadow-color,scrollbar-face-color,
scrollbar-highlight-color,scrollbar-shadow-color,
scrollbar-3d-light-color,scrollbar-track-color,table-layout,
text-align,text-align-last,text-decoration,text-indent,
text-justify,text-overflow,text-shadow,text-transform,
text-autospace,text-kashida-space,text-underline-position,top,
unicode-bidi,-use-link-source,vertical-align,visibility,
voice-family,volume,white-space,widows,width,word-break,
word-spacing,word-wrap,writing-mode,z-index,zoom},
sensitive=true,
morecomment=[l]{//},
morecomment=[s]{/*}{*/},
morestring=[b]',
morestring=[b]",
alsoletter={:},
alsodigit={-}
}
\lstdefinelanguage{HTML5}{
language=html,
sensitive=true,
alsoletter={<>=-},
otherkeywords={
% HTML tags
<, </, >,
</a, <a, </a>,
</abbr, <abbr, </abbr>,
</address, <address, </address>,
</area, <area, </area>,
</area, <area, </area>,
</article, <article, </article>,
</aside, <aside, </aside>,
</audio, <audio, </audio>,
</audio, <audio, </audio>,
</b, <b, </b>,
</base, <base, </base>,
</bdi, <bdi, </bdi>,
</bdo, <bdo, </bdo>,
</blockquote, <blockquote, </blockquote>,
</body, <body, </body>,
</br, <br, </br>,
</button, <button, </button>,
</canvas, <canvas, </canvas>,
</caption, <caption, </caption>,
</cite, <cite, </cite>,
</code, <code, </code>,
</col, <col, </col>,
</colgroup, <colgroup, </colgroup>,
</data, <data, </data>,
</datalist, <datalist, </datalist>,
</dd, <dd, </dd>,
</del, <del, </del>,
</details, <details, </details>,
</dfn, <dfn, </dfn>,
</div, <div, </div>,
</dl, <dl, </dl>,
</dt, <dt, </dt>,
</em, <em, </em>,
</embed, <embed, </embed>,
</fieldset, <fieldset, </fieldset>,
</figcaption, <figcaption, </figcaption>,
</figure, <figure, </figure>,
</footer, <footer, </footer>,
</form, <form, </form>,
</h1, <h1, </h1>,
</h2, <h2, </h2>,
</h3, <h3, </h3>,
</h4, <h4, </h4>,
</h5, <h5, </h5>,
</h6, <h6, </h6>,
</head, <head, </head>,
</header, <header, </header>,
</hr, <hr, </hr>,
</html, <html, </html>,
</i, <i, </i>,
</iframe, <iframe, </iframe>,
</img, <img, </img>,
</input, <input, </input>,
</ins, <ins, </ins>,
</kbd, <kbd, </kbd>,
</keygen, <keygen, </keygen>,
</label, <label, </label>,
</legend, <legend, </legend>,
</li, <li, </li>,
</link, <link, </link>,
</main, <main, </main>,
</map, <map, </map>,
/mark, <mark, </mark>,
</math, <math, </math>,
</menu, <menu, </menu>,
</menuitem, <menuitem, </menuitem>,
</meta, <meta, </meta>,
</meter, <meter, </meter>,
</nav, <nav, </nav>,
</noscript, <noscript, </noscript>,
</object, <object, </object>,
</ol, <ol, </ol>,
</optgroup, <optgroup, </optgroup>,
</option, <option, </option>,
</output, <output, </output>,
</p, <p, </p>,
</param, <param, </param>,
</pre, <pre, </pre>,
</progress, <progress, </progress>,
</q, <q, </q>,
</rp, <rp, </rp>,
</rt, <rt, </rt>,
</ruby, <ruby, </ruby>,
</s, <s, </s>,
</samp, <samp, </samp>,
</script, <script, </script>,
</section, <section, </section>,
</select, <select, </select>,
</small, <small, </small>,
</source, <source, </source>,
</span, <span, </span>,
</strong, <strong, </strong>,
</style, <style, </style>,
</summary, <summary, </summary>,
</sup, <sup, </sup>,
</svg, <svg, </svg>,
</table, <table, </table>,
</tbody, <tbody, </tbody>,
</td, <td, </td>,
</template, <template, </template>,
</textarea, <textarea, </textarea>,
</tfoot, <tfoot, </tfoot>,
</th, <th, </th>,
</thead, <thead, </thead>,
</time, <time, </time>,
</title, <title, </title>,
</tr, <tr, </tr>,
</track, <track, </track>,
</u, <u, </u>,
</ul, <ul, </ul>,
</var, <var, </var>,
</video, <video, </video>,
</wbr, <wbr, </wbr>,
/>, <!
},
ndkeywords={
% General
=,
% HTML attributes
accept=, accept-charset=, accesskey=, action=, align=, alt=, async=,
autocomplete=, autofocus=, autoplay=, autosave=, bgcolor=, border=,
buffered=, challenge=, charset=, checked=, cite=, class=, code=,
codebase=, color=, cols=, colspan=, content=, contenteditable=,
contextmenu=, controls=, coords=, data=, datetime=, default=, defer=,
dir=, dirname=, disabled=, download=, draggable=, dropzone=, enctype=,
for=, form=, formaction=, headers=, height=, hidden=, high=, href=,
hreflang=, http-equiv=, icon=, id=, ismap=, itemprop=, keytype=,
kind=, label=, lang=, language=, list=, loop=, low=, manifest=, max=,
maxlength=, media=, method=, min=, multiple=, name=, novalidate=,
open=, optimum=, pattern=, ping=, placeholder=, poster=, preload=,
pubdate=, radiogroup=, readonly=, rel=, required=, reversed=, rows=,
rowspan=, sandbox=, scope=, scoped=, seamless=, selected=, shape=,
size=, sizes=, span=, spellcheck=, src=, srcdoc=, srclang=, start=,
step=, style=, summary=, tabindex=, target=, title=, type=, usemap=,
value=, width=, wrap=,
% CSS properties
accelerator:,azimuth:,background:,background-attachment:,
background-color:,background-image:,background-position:,
background-position-x:,background-position-y:,background-repeat:,
behavior:,border:,border-bottom:,border-bottom-color:,
border-bottom-style:,border-bottom-width:,border-collapse:,
border-color:,border-left:,border-left-color:,border-left-style:,
border-left-width:,border-right:,border-right-color:,
border-right-style:,border-right-width:,border-spacing:,
border-style:,border-top:,border-top-color:,border-top-style:,
border-top-width:,border-width:,bottom:,caption-side:,clear:,
clip:,color:,content:,counter-increment:,counter-reset:,cue:,
cue-after:,cue-before:,cursor:,direction:,display:,elevation:,
empty-cells:,filter:,float:,font:,font-family:,font-size:,
font-size-adjust:,font-stretch:,font-style:,font-variant:,
font-weight:,height:,ime-mode:,include-source:,
layer-background-color:,layer-background-image:,layout-flow:,
layout-grid:,layout-grid-char:,layout-grid-char-spacing:,
layout-grid-line:,layout-grid-mode:,layout-grid-type:,left:,
letter-spacing:,line-break:,line-height:,list-style:,
list-style-image:,list-style-position:,list-style-type:,margin:,
margin-bottom:,margin-left:,margin-right:,margin-top:,
marker-offset:,marks:,max-height:,max-width:,min-height:,
min-width:,transition-duration:,transition-property:,
transition-timing-function:,transform:,
-moz-transform:,-moz-binding:,-moz-border-radius:,
-moz-border-radius-topleft:,-moz-border-radius-topright:,
-moz-border-radius-bottomright:,-moz-border-radius-bottomleft:,
-moz-border-top-colors:,-moz-border-right-colors:,
-moz-border-bottom-colors:,-moz-border-left-colors:,-moz-opacity:,
-moz-outline:,-moz-outline-color:,-moz-outline-style:,
-moz-outline-width:,-moz-user-focus:,-moz-user-input:,
-moz-user-modify:,-moz-user-select:,orphans:,outline:,
outline-color:,outline-style:,outline-width:,overflow:,
overflow-X:,overflow-Y:,padding:,padding-bottom:,padding-left:,
padding-right:,padding-top:,page:,page-break-after:,
page-break-before:,page-break-inside:,pause:,pause-after:,
pause-before:,pitch:,pitch-range:,play-during:,position:,quotes:,
-replace:,richness:,right:,ruby-align:,ruby-overhang:,
ruby-position:,-set-link-source:,size:,speak:,speak-header:,
speak-numeral:,speak-punctuation:,speech-rate:,stress:,
scrollbar-arrow-color:,scrollbar-base-color:,
scrollbar-dark-shadow-color:,scrollbar-face-color:,
scrollbar-highlight-color:,scrollbar-shadow-color:,
scrollbar-3d-light-color:,scrollbar-track-color:,table-layout:,
text-align:,text-align-last:,text-decoration:,text-indent:,
text-justify:,text-overflow:,text-shadow:,text-transform:,
text-autospace:,text-kashida-space:,text-underline-position:,top:,
unicode-bidi:,-use-link-source:,vertical-align:,visibility:,
voice-family:,volume:,white-space:,widows:,width:,word-break:,
word-spacing:,word-wrap:,writing-mode:,z-index:,zoom:
},
morecomment=[s]{<!--}{-->},
tag=[s]
}
\lstset{%
% Basic design
backgroundcolor=\color{editorGray},
basicstyle={\small\ttfamily},
frame=leftline,
% Line numbers
%xleftmargin={0pt}, % dysfonctionnent
numbers=left,
stepnumber=1,
firstnumber=1,
numberfirstline=true,
% Code design
keywordstyle=\color{blue}\bfseries,
commentstyle=\color{darkgray}\ttfamily,
ndkeywordstyle=\color{editorGreen}\bfseries,
stringstyle=\color{editorOcher},
% Code
%language=HTML5,
alsodigit={.:;},
tabsize=2,
showtabs=false,
showspaces=false,
showstringspaces=false,
extendedchars=true,
breaklines=true,
%float=[*],
% }
%
%\lstloadlanguages{Python}
%\lstset{language=Python,escapechar=|}
%\lstset{
literate=
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
{€}{{\EUR}}1 {£}{{\pounds}}1,
escapeinside={(*@}{@*)},
backgroundcolor=\color{lightgray!20!white}
}
\renewcommand{\tablename}{Tableau}

130
codes/carteLelbc3.py Normal file
View File

@ -0,0 +1,130 @@
''' Programme de placement de tags images sur un fond OpenStreetMap
On place des images géotaguées dans un répertoire
Le programme en extrait les coordonnées GPS et la date
Il crée des tags avec comme titre le nom des fichiers et la date
et les place sur le fond de carte aux coordonnées GPS
'''
#importation des module
import os(*@\label{ligne:lemoduleos}@*)
import folium(*@\label{ligne:modulefolium}@*)
import exifread(*@\label{ligne:exifread}@*)
def lalatitude(ref,GPSLatitude):
'''
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
:param ref, GPSLongitude:
:type ref: string, GPSLongitude: exifread.utils.Ratio
:rtype: float
'''
d = GPSLatitude.values[0].num(*@\label{ligne:num1}@*)
m = GPSLatitude.values[1].num
s = GPSLatitude.values[2].num(*@\label{ligne:num2}@*)
if ref == 'N':
latitude = d + (m / 60.) + (s / 3600.)
elif ref == 'S':
latitude = -1*(d + (m / 60.0) + (s / 3600.0))
else:
print('La latitude est fausse !')
return latitude
def lalongitude(ref,GPSLongitude):
'''
Convertit les coordonnées GPS EXIF en degrés à virgule flottante
:param ref, GPSLongitude:
:type ref: string, GPSLongitude: exifread.utils.Ratio
:rtype: float
'''
d = GPSLongitude.values[0].num(*@\label{ligne:num3}@*)
m = GPSLongitude.values[1].num
s = GPSLongitude.values[2].num(*@\label{ligne:num4}@*)
if ref == 'W':
longitude = -1*(d + (m / 60.0) + (s / 3600.0))
elif ref == 'E':
longitude = d + (m / 60.0) + (s / 3600.0)
else:
print('La longitude est fausse !')
return longitude
# Récupération du facteur de zoom
print('Facteur de zoom (nombre entier) :\n\
9 : grande zone\n\
11 : zone\n\
13 : village ou ville\n\
16 : petite route')
facteurZoom = input('Veuillez entrer le facteur de zoom : ')(*@\label{ligne:input}@*)
print('Facteur de zoom : {}'.format(facteurZoom))
# Ouverture de l'image en mode de lecture binaire
path = './images/'
fichiers=os.listdir(path)(*@\label{ligne:listdir}@*)
i = 0 #indice des images(*@\label{ligne:compteurimages}@*)
for nom in fichiers:(*@\label{ligne:boucleprincipale}@*)
print("{} : {}".format(i,nom))
adresseImage = "./images/"+nom
titre = nom.split('.')[0]
f = open(adresseImage, 'rb')
# Récupération des tags EXIF
tags = exifread.process_file(f, details=False)
for tag in tags.keys():
if tag in ('GPS GPSLatitudeRef',
'GPS GPSLatitude',
'GPS GPSLongitudeRef',
'GPS GPSLongitude',
'Image ImageDateTime'):
latitude = lalatitude(tags['GPS GPSLatitudeRef'].values,
tags['GPS GPSLatitude'])
longitude = lalongitude(tags['GPS GPSLongitudeRef'].values,
tags['GPS GPSLongitude'])
date = tags['EXIF DateTimeOriginal']
try:(*@\label{ligne:try1}@*)
print("Latitude : {}, longitude : {}, date : {}".format(latitude,
longitude, date))(*@\label{ligne:try2}@*)
except NameError:(*@\label{ligne:except}@*)
print('Fichier sans données GPS : ',nom)
else:(*@\label{ligne:else}@*)
#création de l'objet Python carte, centrée sur les coordonnées
#latitude et longitude de la première image
if i == 0:
carte = folium.Map(location=[latitude, longitude],zoom_start=facteurZoom)(*@\label{ligne:carte}@*)
#création d'un marqueur
folium.Marker([latitude, longitude],(*@\label{ligne:markgoutte}@*)
popup="<h4>{}</h4> <br> <i>{}</i> <br><br> <img src='{}' width='300'"
.format(titre,date,adresseImage)).add_to(carte)(*@\label{ligne:gouttepopup}@*)
#création d'un simple cercle
folium.Circle(
radius=100,
location=[latitude, longitude],
popup='Gallet Park',(*@\label{ligne:cerclepopup}@*)
color='crimson',
fill=False,
).add_to(carte)
#création d'un marqueur en forme de cercle
folium.CircleMarker((*@\label{ligne:markcerclepopup}@*)
location=[latitude, longitude],
radius=50,
popup=titre,
color='#3186cc',
fill=True,
fill_color='#3186cc'
).add_to(carte)
#dereferencement des variables pour lever l'exception
del latitude, longitude(*@\label{ligne:deref}@*)
#changement d'image
i = i + 1
#création du fichier HTML
carte.save('ma_carte.html')(*@\label{ligne:sauvegarde}@*)

View File

@ -0,0 +1,88 @@
@Book{FA2019,
author = {Aït-Touati, Frédérique and Arènes, Alexandra and Grégoire, Axelle},
title = {Terra Forma, Manuel de cartographies potentielles},
publisher = {B42},
year = {2019},
month = {avril}
}
@Book{MM2019,
author = {Monmonier, Mark},
title = {Comment faire mentir les cartes},
publisher = {Atlas},
year = {2019},
month = {février},
note = {Édition revue et augmentée}
}
@Book{NL2017,
author = {Lambert, Nicolas and Zanin, Christine},
title = {Manuel de cartographie},
publisher = {Armand Colin},
year = {2017},
note = {Principes, méthodes, applications}
}
@Book{HC2014,
author = {Commenges, Hadrien and Beauguitte, Laurent and Buard, Elodie and Cura, Robin and Le Néchet, Florent and Le Texier, Marion and Mathian, Hélène and Rey, Sébastien},
title = {R et espace, Traitement de l'information géographique},
publisher = {Framabook},
year = {2014},
note = {Ouvrage libre publié sous licence CC By-SA 3.0}
}
@Book{BR86,
author = {Brunet, R},
title = {La carte-modèle et les chorèmes},
publisher = {Mappemonde},
year = {1986},
note = {86(4)}
}
@Book{BR87,
author = {Brunet, R},
title = {La carte mode d'emploi},
publisher = {Fayard/Reclus},
year = {1987},
note = {s.l.}
}
@Book{BR93,
author = {Brunet, R},
title = {Les mots de la géographie},
publisher = {Reclus - La Documentation française},
year = {1993},
note = {Montpellier/Paris}
}
@Book{DDF92,
author = {Durand-Dastès, F},
title = {Les modèles en géographie},
publisher = {Economica},
year = {1992},
note = {Paris}
}
@Book{HJB95,
author = {Harley, J. B.},
title = {Peut-il y avoir une éthique cartographique},
publisher = {s.n.},
year = {1995},
note = {Dans : Le pouvoir des cartes. sl}
}
@Book{LFA00,
author = {Le Fur, A.},
title = {Pratiques de la cartographie},
publisher = {Armad Colin},
year = {2000},
note = {Paris}
}
@Book{PD,
author = {Poidevin, D.},
title = {Manuel de cartographie},
publisher = {Ellipses},
year = {s.d.},
note = {s.l.}
}

View File

@ -0,0 +1,72 @@
@Book{FA2019,
author = {Aït-Touati, Frédérique and Arènes, Alexandra and Grégoire, Axelle},
title = {Terra Forma, Manuel de cartographies potentielles},
publisher = {B42},
year = {2019},
month = {avril}
}
@Book{MM2019,
author = {Monmonier, Mark},
title = {Comment faire mentir les cartes},
publisher = {Atlas},
year = {2019},
month = {février},
note = {Édition revue et augmentée}
}
@Book{NL2017,
author = {Lambert, Nicolas and Zanin, Christine},
title = {Manuel de cartographie},
publisher = {Armand Colin},
year = {2017},
note = {Principes, méthodes, applications}
}
@Book{HC2014,
author = {Commenges, Hadrien and Beauguitte, Laurent and Buard, Elodie and Cura, Robin and Le Néchet, Florent and Le Texier, Marion and Mathian, Hélène and Rey, Sébastien},
title = {R et espace, Traitement de l'information géographique},
publisher = {Framabook},
year = {2014},
note = {Ouvrage libre publié sous licence CC By-SA 3.0}
}
@Book{BRsd1,
author = {Brunet, R},
title = {La carte-modèle et les chorèmes},
publisher = {Mappemonde},
year = {sd},
note = {86(4)}
}
@Book{BRsd2,
author = {Brunet, R},
title = {Le monde des cartes},
publisher = {s.n.},
year = {sd},
note = {s.l.}
}
@Book{DDF92,
author = {Durand-Dastès, F},
title = {Les modèles en géographie},
publisher = {Economica},
year = {1992},
note = {Paris}
}
@Book{HJB95,
author = {Harley, J. B.},
title = {Peut-il y avoir une éthique cartographique},
publisher = {s.n.},
year = {1995},
note = {Dans : Le pouvoir des cartes. sl}
}
@Book{LFA00,
author = {Le Fur, A.},
title = {Pratiques de la cartographie},
publisher = {Armad Colin},
year = {2000},
note = {Paris}
}

BIN
geographie-informatique.pdf Normal file

Binary file not shown.

1122
geographie-informatique.tex Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,822 @@
\documentclass[11pt,a4paper,twoside]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lmodern}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{url}
\author{Clément Jeanguenat et Vincent Guyot}
\title{Cartographie et informatique}
\begin{document}
\maketitle
\tableofcontents
\section{Introduction}
Le travail présenté ici est un exemple de réflexion sur un projet d'enseignement de l'informatique à travers la cartographie. Il s'agit d'illustrer ce qui pourrait être réalisé au lycée en deuxième année de Discipline Obligatoire d'informatique dans le canton de Neuchâtel.
La démarche adoptée pour cette seconde année d'informatique, par la réunion d'un enseignant d'informatique associé à un enseignant d'une autre discipline, est en effet assez innovatrice pour qu'une réflexion approfondie sur un ou plusieurs cas concrets se fasse sentir.
D'autre part, au lycée Blaise-Cendrars, l'expérience de séminaires interdisciplinaires ayant montré que cette réflexion pouvait donner lieu à des discussions de préparation conséquentes, il nous a semblé nécessaire de les envisager et de les présenter ici pour tenter de percevoir ce qui est envisageable ou pas.
\medskip
Tant sur la forme que pour le fond, cette présentation est critiquable et doit l'être. Car c'est de cette critique que chaque duo d'enseignants va faire naître sa propre vision du contenu de cette seconde année.
Sur la forme, par exemple, le choix d'un article en pdf pour rendre compte du présent travail a été imposé par la dynamique des travaux de la commission DOIGT qui en est à l'origine. Comme la forme papier se prêtait mieux au rendu d'un rapport, c'est celle-ci qui a été choisie.
Mais, il est évident que l'utilisation d'un système d'enseignement à distance comme Moodle, adopté par un très grand nombre d'Universités et par les deux Écoles Polytechniques, aurais permis une forme bien plus appropriée de transmission d'un savoir informatique que tout document purement papier. Il aurait donc été certainement plus adéquat de présenter une construction de cours fictif sur une telle plate-forme. Mais cette construction avec sa rigueur de cours constitué, non seulement dépassait le cadre du mandat qui nous a été donné, mais aurait aussi rendu plus difficile l'expression de critiques qui seules peuvent amener une richesse de perspective aboutissant sur de véritables choix.
\medskip
Il ne faut donc surtout pas voir ce travail comme un exemple plus ou moins abouti de ce qu'on pourrait faire, mais comme un exemple des difficultés rencontrées en envisageant sa réalisation. Les multiples questions qui se sont posées à cette occasion s'étant révélées d'une immense fécondité quant aux thèmes envisageables pour cette année interdisciplinaire, ce sont sur celle-ci que nous allons nous focaliser.
Vous ne finirez donc pas ce travail avec un cours clé en mains, mais nous espérons qu'il saura vous mettre sur un chemin constructif pour assumer vos propres intérêts.
\section{Interdisciplinarité}
Une vraie rencontre est une démarche vers l'autre et le c\oe ur de l'interdisciplinarité ne tient pas dans la question \og Peut-tu faire cela ? \fg{}, mais \og Comment fait-tu cela ? \fg{}.
C'est un point de vue.
On peut prétendre le contraire et dire que l'interdisciplinarité consiste à faire appel à des spécialistes qui vont seuls faire ce qu'ils savent faire pour construire ensemble un projet. On pourrait donc imaginer deux élèves, l'un cartographe et l'autre informaticien, qui réalisent un projet ensemble, chacun dans leur domaine.
Dans le cadre d'un cours de discipline obligatoire, on ne peut se satisfaire d'une telle acception du terme d'interdisciplinarité. Ici, c'est du \og Comment fais-tu cela ? \fg{} qu'il s'agit et cela sera dans deux disciplines différentes : la géographie et l'informatique.
\section{Projet}
Suivant en cela notre pratique de séminaire interdisciplinaire, nous avons choisi de nous focaliser à l'intérieur de la géographie sur la cartographie et plus précisément sur les mensonges des cartes. L'espoir était d'obtenir de l'information par l'intermédiaire de l'ouvrage \og Comment faire mentir les cartes \fg{} \citep{MM2019} consacré au sujet\footnote{Dans \citet*[p. 129]{NL2017}, se trouve un commentaire de l'ouvrage de \citet*{MM2019} qui minimise le mensonge des cartes : \begin{quotation}
\textit{\og [\dots] Alors les cartes mentent-elles vraiment ? En tout cas, si c'est le cas, il est possible de mentir avec honnêteté. Les cartes doivent être conçues comme des miroirs grossissants plutôt que comme des miroirs déformants [NDLR : sic]. Leur rôle est d'éclairer, de mettre en lumière une facette de la réalité et non de tordre la réalité pour en montrer une image erronée. Néanmoins, l'exercice est délicat. À grossir certains traits et en en réduisant d'autres, la mise en carte ne peut produire qu'une image partiale du monde. Le but est donc d'effectuer des déformations qui ont du sens, basées sur un raisonnement scientifique et des faits avérés. Les cartes ne mentent que si le cartographe déforme sciemment la réalité pour donner à voir quelque chose qu'il sait erroné. Dans le cas contraire, les cartes sont des contributions partielles et subjectives à la compréhension d'une réalité complexe, plurielle et parfois en contradiction avec d'autres propositions.
\\Le but de la cartographie n'est donc pas de déformer la réalité, mais de la rendre intelligible par des simplifications inéluctables.\fg{}}
\end{quotation}
Le point de vue est intéressant, pourrait servir d'introduction à la problématique et pourrait mener à une interrogation philosophique sur le sujet.}.
Relevons que le choix du sujet s'est porté sur la géographie et non l'informatique. Nous aurions pu choisir par exemple \og les petites bases de données \fg{} et envisager ensuite d'en illustrer l'utilisation à travers la géographie. C'est l'inverse que nous avons choisi et cela a certainement été une conséquence du fait que l'enseignant d'informatique est aussi physicien et que son point de vue sur l'informatique est en premier lieu qu'elle est un service. Ainsi , d'entrée de jeu, il lui a paru plus intéressant de considérer ce que l'informatique peut apporter à la cartographie et non ce que la géographie peu apporter à l'informatique\footnote{Par exemple, il aurait pu être intéressant de travailler autour de la représentation des objets cartographiques dans les bases de données. Pour de petites bases en mode texte (non SQL), d'utilisation aisée, comment parvenir à stocker une information dont la nature est celle d'une image, mais qui doit être zoomable (ce qui introduit le questionnement du bitmap et du vectoriel) et ayant de fortes contraintes d'échelle (puisqu'en fonction de celle-ci la taille et le placement des objets peuvent être très complexes, voir nécessairement erronés).
Les petites bases de données sous forme de fichiers permettant de travailler sur diverses structures de données, des problématiques orientées informatiques auraient vu le jour de manière plus spécifique. Mais auraient nécessité de la programmation incluant la manipulation de fichiers, ce qui n'est pas toujours évident.
\smallskip
Cela dit, nous verrons que les bases de données, sous forme de fichiers texte, tableur ou nécessitant SQL, seront présent par la suite, pas selon la problématique du stockage d'une information géographique, mais dans leur utilisation avec des connecteurs spécifiques et par quelques modifications simples.}.
\section{Cartographie}
\subsection{Découverte}
Cette orientation d'une informatique au service de la cartographie a donc amené l'enseignant d'informatique à la rencontre de la géographie. Cela s'est fait, après discussion avec le géographe, par l'intermédiaire de deux logiciels spécifiques : l'un de cartographie pure, QGIS\footnote{Système d'Information Géographique Libre et Open Source. Voir~: \url{https://www.qgis.org/fr/site/}}, et l'autre de statistiques, R\footnote{R est un langage de programmation et un logiciel libre destiné aux statistiques et à la science des données. Voir~: \url{https://fr.wikipedia.org/wiki/R_(langage_de_programmation_et_environnement_statistique)}}.
L'objectif était de montrer que les modes de représentation des cartes étaient par essence mensongères et l'un des premiers exemples mentionnés était lié à l'enclassement des données. Celui-ci n'est pas en lui-même spécifique à la cartographie, mais il implique des problèmes de représentations cartographiques qui peuvent être mensongers.
smallskip
Plus précisément, pour un projet concret, on peut s'imaginer les objectifs suivants.
\begin{itemize}
\item Les étudiants seraient conscients que \og une carte donnée, quelle quelle soit, nest jamais que lune des innombrables cartes que lon pourrait dresser à partir de la même situation et des mêmes paramètres \fg{} \citep{MM2019}, et que donc, on peut faire \og mentir \fg{} les cartes.
\item Les étudiants seraient capables de produire un certain nombre de cartes à laide dun logiciel de cartographie (R), de lextraction des données nécessaires à la réalisation de la carte.
\item Les étudiants seraient capables danalyser et de porter un regard critique sur leur production cartographique.
\item Les étudiants seraient capables dorganiser leur travail afin datteindre dans les délais fixés (maîtrise du calendrier) les objectifs définis par les enseignants.
\item Les étudiants seraient capables de présenter à dautres le résultat de leur travail (par écrit et par oral).
\end{itemize}
Toujours dans une optique de service, le rôle de l'informatique serait ici de faciliter la variation des représentation pour mettre en évidence les défauts d'analyse.
\medskip
Ainsi, par exemple, le projet pourrait être d'utiliser un logiciel de statistiques (R) pour réaliser différents enclassements et le mappage de résultats de votations dans différents cantons ou différentes communes suisses, pour montrer que ceux-ci peuvent mener à des erreurs d'interprétation.
\medskip
Pour de tels projets, plusieurs questions se sont alors posées.
\begin{itemize}
\item Si la représentation est bien cartographique, le fond du problème n'est-il pas essentiellement mathématique ? Est-il bien souhaitable de confronter les élèves à un problème mathématique ?
\item D'un point de vue informatique, R étant à l'origine un logiciel en ligne de commande, est-il envisageable de l'utiliser ainsi ? Si une interface graphique est préférable, existe-t-elle et quelle est-elle ?
\item L'exigence d'un logiciel multi-plateforme, nécessaire pour une utilisation à la maison ou sur l'ordinateur personnel des élèves, est-elle alors réalisée ?
\end{itemize}
\smallskip
La réponse au troisième point a été résolue par des recherches sur internet. Mais, ne nous mentons pas, il existe plusieurs logiciels pour le même usage et la complexité de l'installation sur toutes les plateformes ne peut pas été testée systématiquement. Cela constitue une interrogation persistante que de savoir si celle-ci doit être gérée par l'enseignant, les services techniques ou l'élève lui-même, suivant les machines utilisées.
\smallskip
Pour le second point, l'expérience acquise pendant les OC d'informatique montre que la ligne de commande n'est pas contre-indiquée. Dans le cas de l'utilisation de shell distants par l'intermédiaire de ssh (shell sécurisé) ou pour tester de petits bouts de code Python dans l'éditeur natif, cela ne pose pas de problème. Mais, utiliser régulièrement un shell, demandant un minimum de configuration, elle ne peut être envisagée en DO sans passer par une phase d'apprentissage pas toujours très facile. Elle semble donc déconseillée.
Par contre, l'utilisation de logiciels spécifiques en mode graphique, mais orienté ligne de commande, ce qu'on nomme un environnement de développement (IDE : integrated development environment), est appréciée (par exemple, l'utilisation de \LaTeX{} dans un éditeur comme Texmaker, de la programmation en Python avec Geany ou autre IDE, ou même du code HTML, CSS ou javascript dans un éditeur comme bluefish) et appréciable pour faire comprendre la notion de code. Généralement les élèves l'acceptent bien, pour autant que cela reste relativement simple.
\begin{figure}
\centering
\begin{subfigure}{0.48\textwidth}
\centering
\includegraphics[height=4.2cm]{images/RStudio.eps}
\caption[RStudio]{L'interface graphique en ligne de commande de RStudio (Source : Wikipedia)}\label{RStudio}
\end{subfigure}
\begin{subfigure}{0.48\textwidth}
\centering
\includegraphics[height=4.2cm]{images/RKward.eps}
\caption[RKward]{L'interface graphique en ligne de commande de RKward}\label{RKward}
\end{subfigure}
\caption[R]{Interfaces graphiques du logiciel R}\label{R}
\end{figure}
\subsection{Les logiciels R, RStudio et RKward}
Dans le cas de R (moteur des analyses statistiques), en dehors de la ligne de commande pure, le logiciel graphique en mode ligne de commande (voir figure \ref{RStudio}) le plus connu est incontestablement RStudio. C'est un logiciel libre et multi-plateforme\footnote{Cependant, il ne se trouve pas dans les dépôts de certaines grandes distribution linux, mais est uniquement disponible sous forme de paquet dédiés. Avec Windows et Mac, qui n'assurent pas la stabilité du système par la cohérence de dépôts officiels, l'installation ne pose généralement pas de problèmes pour autant que les services techniques l'autorisent. Si on accepte les mêmes risques d'instabilité, sur Linux, cela ne pose pas non plus de problèmes. Si, par contre, on veut se tenir au référentiel des distributions, il peut être nécessaire d'utiliser RKward (voir figure \ref{RKward}) au lieu de Rstudio, car il se trouve dans les dépôts de Debian, par exemple, ce qui est le gage d'une grande stabilité. Suivant les exigences des services techniques, on peut donc être amené à utiliser différents logiciels en fonction de la plateforme, ce qui peut poser problème dans le cadre d'une utilisation avec des machines personnelles ayant des systèmes d'exploitation différents. Par ailleurs, les dernières versions de RStudio ne sont plus disponibles en architecture 32 bits et pour une installation sur Raspberrypi, il faut passer par une compilation puisque RStudio n'existe pas sur processeur ARM. Enfin, la gestion des modules de R n'est pas simple, car leur installation passe par une compilation à la volée en C++ et sur différentes machines cela peut être difficile. Pour cela, l'une des solution à l'avenir serait l'utilisation de packages Docker.} qui est utilisé jusqu'à l'Université. Il dispose d'un module de cartographie\footnote{Nommé \emph{Cartography}. Voir \url{https://rgeomatic.hypotheses.org/659} ou \url{https://neocarto.hypotheses.org/1859}} associé aux statistiques qui permet de réaliser des cartes thématiques basées sur des enclassements. Mais si R est particulièrement efficace et adapté pour ce type de traitement, cette adaptation a pour corollaire une période de prise en main qui peut être importante autant pour les enseignants que pour les élèves.
Dans ces conditions, le premier point se pose de manière insistante. En somme, le jeu en vaut-il la chandelle ? La réponse va dépendre des connaissances des enseignants et des capacités des élèves.
Dans \citet*{HC2014}, l'un des principaux ouvrages (ouvrage libre, c'est à signaler) sur R et la cartographie, les auteurs donnent plusieurs justifications à l'utilisation de R en cartographie.
\begin{quotation}
\textit{\og Lutilisation de R pour la cartographie nest pas un choix évident. Lutilisateur qui souhaite faire une simple carte choroplèthe aura plus vite fait de la produire avec un logiciel de cartographie classique. Lutilisation de R pour faire de la cartographie se justifie si on envisage lensemble du flux de travail (workflow), cest-à-dire lintégration de la cartographie dans une chaîne de traitements.
\\
On peut envisager (au moins) quatre situations dans lesquelles R savèrera avantageux. Dabord, pour obtenir rapidement des sorties massives : les logiciels de cartographie et de SIG sont des logiciels à interface graphique (même si certains permettent dautomatiser les traitements) et il devient rapidement coûteux de produire manuellement des ensembles de nombreuses cartes.
\\
Ensuite, il sera intéressant dutiliser R pour la cartographie dans le cadre dun flux de travail unifié, cest-à-dire pour intégrer la cartographie dans un flux de travail « classique » (analyse de données classiques, i.e. non
spatiales) entièrement fait avec R et se passer ainsi dimportations et dexportations parfois plus nombreuses que prévues, et qui sont source derreurs. En effet, il arrive fréquemment de faire des calculs dans un logiciel de traitement de données, puis dexporter les résultats pour les cartographier sur un autre logiciel, puis de refaire les calculs suite à une erreur ou
une modification, puis de réexporter les résultats à cartographier, etc.
\\
Unifier la chaîne de traitement est dautant plus utile dans un flux de travail qui mobilise des fonctions danalyse spatiale implémentées sous R. En effet, R dispose de plusieurs packages danalyse spatiale et danalyse de graphes (dont certaines sont abordées dans ce manuel) et il est très pratique de pouvoir manipuler des tableaux de données classiques, des objets spatiaux et/ou des graphes dans un flux de travail unifié.
\\
Enfin, dans certains cas, lutilisateur cherche à combiner les traitements et lécriture des contenus : il sagit dintégrer des sorties numériques, graphiques et cartographiques dans des supports qui sont également écrits avec R. Dans ce cas, la cartographie, comme le reste des traitements, sintégrera dans la production densemble.
\fg \citep[pp. 178-9]{HC2014}}
\end{quotation}
\smallskip
La valeur de l'exercice est cependant incontestable. Il permet de se familiariser avec une autre manière d'interagir avec un logiciel que par une interface graphique. Il permet de comprendre la nécessité de séparer le moteur d'un logiciel de son interface graphique et de se rendre compte que celui-ci peut être plus puissant qu'elle ne le laisse penser. Il permet aussi de comprendre qu'une interaction en mode texte peut s'avérer plus efficace que graphiquement, surtout dans un contexte d'action à distance. Enfin, il permet de ne plus avoir peur d'entrer en relation avec un ordinateur d'une autre manière qu'avec une souris ou un écran tactile.
Cependant, même s'il est souhaitable d'initier les élèves à cette manière d'utiliser un logiciel, une bonne introduction aux avantages de ce mode d'interaction est certainement nécessaire. Pour exemple, l'import d'un fond de carte, d'une couche de données, l'affichage du fond et des données avec le module cartography de R s'écrit de la manière suivante\footnote{Voir \url{https://neocarto.hypotheses.org/1859}} :
\begin{verbatim}
# Import du fond de carte
monFondDeCarte <-readOGR(dsn ="/repertoire-de-travail",layer = "nom-de-
la-couche")
# Import des données
mesDonnees <-read.csv( "/repertoire-de-travai/nom-de-mon-fichier.csv",
header=TRUE,sep=";",dec=",",encoding="latin1",)
# Affichage du fond de carte
plot(monFondDeCarte, col = "grey60",border = "grey20")
# Affichage des cercles proportionnels
propSymbolsLayer(spdf = monFondDeCarte, df = mesDonnees, var = "nom-de-
la-variable")
\end{verbatim}
Pour des personnes habituées à l'utilisation de la ligne de commande, la lecture de ce code ne posera pas de problème. Si l'efficacité de cette méthode est incontestable, la pédagogie nécessaire au traitement des différentes étapes en souffre, du moins auprès des plus visuels. De plus, la structure des données y est peu explicite. Ici le fichier les contenant est au format CSV et il est certainement nécessaire d'en expliciter le contenu préalablement. Évidemment R permet de le faire en donnant accès à une représentation tabulaire de celles-ci, mais l'appel textuel des procédures pour les traiter nécessite des connaissances préalables.
\smallskip
La situation est très comparable à celle de l'utilisation de \LaTeX. Car, s'il est tout-à-fait possible de convaincre des élèves des multiples avantages de l'utilisation d'un tel traitement de texte, une période d'apprentissage est nécessaire. Mais finalement, pour \LaTeX{} comme pour R, l'expérience d'une autre manière de gérer des données est profitable puisque très répandue dans les études supérieures et par la suite dans le monde scientifique.
Ainsi, un exemple de projet basé sur le logiciel R pourrait présenter les étapes suivantes.
\paragraph{Amorce}
Introduction à laide dexemples de cartes qui mentent. On utilisera des exemples dans des domaines variés (analyse spatiale de divers phénomènes ; publicité, domaine militaire, propagande, etc.)
\paragraph{Introduction aux bases de la cartographie du point de vue du géographe}
Présentation des règles de base de la cartographie
\begin{itemize}
\item Fonds de carte (projection)
\item Échelle
\item Langage cartographique (trois types de symboles et 6 variables visuelles)
\end{itemize}
\paragraph{Introduction aux logiciels de cartographie du point de vue de linformaticien}
Les principales fonctionnalités de R et ses relations aux données. Par exemple, une introduction au logiciel\footnote{Voir~: \url{https://juba.github.io/tidyverse/02-prise_en_main.html} ou \url{http://wukan.ums-riate.fr/r2016/}} en créant une carte avec R par~:
\begin{enumerate}
\item limport des données (fond de carte readShapeSpatial et données read.table)~;
\item la jonction des deux fichiers (merge) grâce à un identifiant commun~;
\item si besoin la discrétisation d'une variable (classIntervals)~;
\item si besoin, le choix d'une gamme de couleurs (brewer.pal)~;
\item la création de la carte (plot)~;
\item la création de la légende (legend)~;
\item la mise en page la carte (échelle SpatialPolygonsRescale -, titre, auteur, source etc.)\footnote{Voir~: \url{https://quanti.hypotheses.org/795/}}
\end{enumerate}
Cette phase introductive fait lobjet dune évaluation classique (note 1)
\paragraph{Choix du projet}
Les étudiants définissent ensuite leur sujet par~:
\begin{itemize}
\item le choix dune problématique et
\item le choix dun territoire.
\end{itemize}
Suivraient la réalisation de cartes à laide dun logiciel sur diverses thématiques à définir (population, habitat, fiscalité, environnement, politique, etc.), dont les données sont disponibles.
Le groupe devrait proposer des cartes qui, sur le même sujet et à partir des mêmes données, mettent en évidence de manière différente le phénomène.
Il sagirait de faire varier léchelle et surtout le langage cartographique, afin de montrer que ce dernier nest pas neutre et quil peut produire des représentations variées dun même phénomène.
Chaque carte construite ferait lobjet dune analyse. Les cartes seraient comparées afin de mettre en évidence ce que les choix cartographiques induisent comme représentations différentes dun même phénomène.
Ce processus de recherche à deux pourrait faire lobjet dune note (note 2). Lévaluation porterait ici sur les compétences suivantes : esprit dinitiative, créativité, autonomie, organisation, collaboration, gestion du temps, application, etc.
Ces cartes et leur commentaire, précédées dune introduction et suivies dune synthèse- conclusion, seraient présentées dans un dossier (note 3)
\paragraph{Présentation des projets}
Chaque groupe présenterait le résultat de son travail en plénum en choisissant la forme la plus appropriée pour ce travail (note 4)
\begin{figure}
\centering
\includegraphics[width=12cm]{images/TableRKward.eps}
\caption{Les données dans RKward}\label{tablerkward}
\end{figure}
\medskip
Comme dit précédemment, l'utilisation de R, si elle offre de grandes possibilités statistiques, n'est pas évidente au premier abord. Sur la figure \ref{tablerkward}, on voit un fichier shapefile de certains cantons de Suisse ouvert dans RKward par la commande :
\begin{verbatim}
library("rgdal")
cantons <- readOGR(dsn = path.expand("/home/vincent/Documents/
Cartographie/CantonsSuisse/data/SHAPEFILE_LV95_LN02/
swissBOUNDARIES3D_1_3_TLM_BEZIRKSGEBIET.shp"),
layer = "swissBOUNDARIES3D_1_3_TLM_BEZIRKSGEBIET", verbose = TRUE)
\end{verbatim}
On voit que l'accès au données de shapefile est relativement aisé pour autant qu'on comprenne bien ce qu'on fait. On verra par la suite, que QGIS permet un accès tout aussi aisé, sans pour autant disposer des fonctionnalités statistiques de R.
\begin{figure}[t]
\centering
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=7cm]{images/RKWardCantons.eps}
\caption[Réflexions]{La carte brute.}\label{rkwardcantons}
\end{subfigure}
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=7cm]{images/RKWardCantonsCoul.eps}
\caption[Tatouages]{Autre forme de carte.}\label{rkwardcantonscoul}
\end{subfigure}\\
\centering
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=7cm]{images/SuisseContours.eps}
\caption[Réflexions]{Fusion et recouvrement.}\label{suissecontours}
\end{subfigure}
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=7cm]{images/SuisseContoursVide.eps}
\caption[Tatouages]{Fusion simple.}\label{suissecontoursvide}
\end{subfigure}
\caption[Cartes]{Cartes}\label{rkwardcan}
\end{figure}
\smallskip
L'affichage de la carte correspondante se fait alors aisément par la commande \verb|plot()|. Le résultat est celui de la figure \ref{rkwardcan} où pour la figure \ref{rkwardcantonscoul} des options de couleurs ont été spécifiées.
Le traitement statistique des données ne sera pas traité ici. Mais une fois l'importation des données réalisées et les commandes d'impression testées, le travail d'analyse se fait directement en ligne de commande et l'affichage est traité par la commande \verb|plot|.
Par exemple, les figures \ref{suissecontours} et \ref{suissecontoursvide} ont été obtenus à l'aide du code suivant~:
\begin{verbatim}
library("sp")
library("rgdal")
library("rgeos")
cantons <- readOGR(dsn = path.expand("/home/vincent/Documents/
Cartographie/CantonsSuisse/data/SHAPEFILE_LV95_LN02/
swissBOUNDARIES3D_1_3_TLM_BEZIRKSGEBIET.shp"),
layer = "swissBOUNDARIES3D_1_3_TLM_BEZIRKSGEBIET", verbose = TRUE)
suisse <- gUnaryUnion(spgeom = cantons)
plot(cantons, lwd = 0.5)
plot(suisse, lwd = 2, border = "red", add = T)
#plot(suisse, lwd = 2, border = "red")
\end{verbatim}
On constate que pour obtenir ces résultats, il est nécessaire d'importer des librairies, notamment \emph{rgeos} qui permet, par exemple, la fusion des entités d'une couche de shapefile. Or, pour cela, on utilise la méthode \verb|gUnaryUnion(spgeom = cantons)| sur la variable de shapefile suisse. Non seulement cette méthode doit être trouvée ou connue de l'enseignant qui doit s'intéresser de près à la librairie, mais ses arguments lui doivent aussi être connus.
Ce n'est pas une mauvaise chose. On est ici dans le cas de l'utilisation du grapheur Gnuplot à l'intérieur de \LaTeX. Celui-ci est beaucoup utilisé en OS physique et application des mathématiques au lycée Blaise-Cendrars en raison non seulement d'une qualité de rendu indéniable, mais aussi parce qu'une grande majorité d'articles de physique l'utilisent. Si ce choix est parfaitement justifiable, il faut reconnaître que même avec des classes motivées par ce genre d'exercice, il n'est pas simple de changer les habitudes.
Et là est bien le problème pour des classes peu habituées à cette manière de procéder~: il faut souvent rechercher de l'information sur les commandes et leurs arguments pour les rendre fonctionnelles. C'est très positif pour certaines classes, mais il faut admettre que d'autre solutions comme celles fournies par QGIS (voir ci-dessous) existent et il est important de reconnaître qu'elles peuvent être utilisées suivant les cas.
\subsection{Le logiciel QGIS}
Un autre axe de travail se situe au niveau des mensonges liés au graphisme des représentations cartographiques. Plus simple que des enclassements statistiques, le choix de la présence ou de l'absence d'une représentation graphique ou d'une nomenclature, peut tromper.
Le problème est très général. En effet, ce n'est pas seulement le choix de la nomenclature adéquate qui est en jeu ici, mais aussi par exemple les simplifications d'échelle. En réalité, ce sont tous les modes de représentation graphiques qu'on interpelle.
\begin{figure}
\centering
\includegraphics[width=13cm]{images/BEJUNE_GNU.eps}
\caption[Qgis]{Le logiciel QGIS}\label{bejunegnu}
\end{figure}
\smallskip
Pour permettre aux élèves de réaliser des projets dans ce cadre là, ce n'est plus un outil statistique qui est nécessaire, mais un outil graphique. Spécifiquement destiné à la cartographie, QGIS est le logiciel de la situation (mais il en existe d'autres comme GRASS GIS\footnote{Logiciel multi-plateforme, libre et gratuit. Voir~: \url{https://grass.osgeo.org/}}), car il permet tout type de modification des éléments vectoriels tels que frontières, éléments de paysage comme les arbres ou légendes.
\begin{figure}
\centering
\includegraphics[width=13cm]{images/SwissTopoCHXFDS.eps}
\caption[Qgis]{Les données fournies par Swisstopo}\label{swisstopochxfds}
\end{figure}
Sur la figure \ref{bejunegnu}, on peut voir l'interface graphique de QGIS pour un projet de présentation de l'espace BEJUNE. Les frontières des cantons de Berne, du Jura et de Neuchâtel ont été importés à partir du site de Swisstopo\footnote{Il faut mentionner le fait que Swisstopo recommande l'utilisation de QGIS (voir : \url{https://shop.swisstopo.admin.ch/fr/products/maps/national/digital/smv1000} et fournit même un PDF (Swiss Map Vector Shape avec QGIS Instructions) pour expliquer comment l'utiliser pour afficher des données. Dans ce PDF se trouve un lien vers ces données, mais, comme on peut le voir sur la figure \ref{swisstopochxfds}, celles-ci sont payantes !} sous le format geojson. QGIS gérant ce type de fichier, il a été possible de superposer les éléments vectoriels correspondant aux surfaces de ces cantons contenus dans le fichier adéquat, à la carte de fond importée dynamiquement d'OpenStreetMap. Puis, des éléments de texte y ont été placés et, pour montrer l'une des possibilité intéressante de QGIS, un fichier SVG (issus du logiciel Inkscape) contenant l'image vectorielle d'un GNU a été intégré à la carte. Outre les qualités d'importations d'éléments cartographiques comme les fonds de cartes, cela montre la puissance graphique dont est capable QGIS dans la représentation des symboles. En effet, la bordure, le fond et le symbole du cadre pouvant être rendu totalement transparent, on a la possibilité de superposer à tout fond de carte n'importe quelle image vectorielle svg, ce qui fait de QGIS un outil graphique pratiquement illimité. De plus, il est possible d'importer dans les cadres des formulaires QTdesigner, ce qui rend possible une édition de symboles normalisés en très grand nombre. Là encore la puissance de l'outil est à souligner\footnote{Il convient ici de citer \citet*[pp. 203-4]{NL2017} (ingénieur de recherche au CNRS en cartographie à l'UMS RIATE, enseigne la cartographie et les SIG à l'université Paris Diderot7) qui décrit les systèmes d'information géographiques (SIG) de la manière suivante : \begin{quotation}
\textit{\og Le terme SIG est ambigu. Il désigne à la fois le logiciel dit SIG mais également un ensemble de données géographiques cohérentes stockées dans une base de donnée. [\dots] Les grandes fonctions du SIG sont les suivantes : abstraire (1), saisir (2), gérer et stocker (3), analyser (4) et représenter (5) le données géographiques. Assez peu performants dans la représentation de l'information géographique, les SIG sont des outils pertinents pour la réalisation des fonds de cartes. Ils permettent de \textbf{digitaliser} un fond de carte, de le \textbf{généraliser} et d'en changer la projection. Permettant d'évoluer dans un \textbf{système géoréférencé}, ils rendent aussi possible l'affichage et la superposition de différentes couches d'information de sources et de formats différents. [\dots] Quantum GIS (QGIS) est un SIG \emph{open source} [NDLR : il est en rélité libre] multiplateforme. Convivial et performant, il permettra au cartographe de réaliser toutes les opérations relatives à la conception cartographique. \url{www.gqis.org}\fg{} }
\end{quotation}
}.
\begin{figure}
\centering
\includegraphics[width=13cm]{images/QgisHistogramme.eps}
\caption[QgisHisto]{Histogramme simple dans QGIS}\label{QgisHistogramme}
\end{figure}
\smallskip
La figure \ref{QgisHistogramme} présente l'utilisation d'un histogramme simple à une colonne pour la représentation de communes françaises. La table attributaire de la couche disposant de cette grandeur, elle est utilisée directement ici. C'est la raison pour laquelle une seule couche de données est présente sur la figure.
\medskip
QGIS permet une autre utilisation très intéressante. Il s'agit de l'intégration de données tabulaires d'une autre origine que spécifiquement géographique. Évidemment, les couches vectorielles sont en réalité des données tabulaires. Mais on peut les croire uniquement liées à la cartographie en raison de leurs formats spécifiques. Il n'en est rien. QGIS gère en réalité une multitude de bases de données comme des fichiers texte (CSV par exemple), tableur (ODS par exemple) ou base relationnelle SQL (MariaDB par exemple). Ainsi, à travers les connecteurs présents, on peut accéder à une infinité de données tabulaires. En permettant de réaliser des opération de jointure de tables géographiques avec d'autre types de tables, QGIS permet de représenter des données structurées par ailleurs.
Pour des élèves ne maîtrisant pas nécessairement bien les tables, l'utilisation de bases relationnelles SQL est évidemment difficile. La représentation issue d'un tableur, comme LibreOffice ou Gnumeric par exemple, permet une meilleure visualisation des données et même de les construire soi-même, ce qui est un avantage pédagogique. La structuration simple mais très pédagogique de données dans un fichier CSV, avec des séparateurs différents, l'est aussi. QGIS permet ensuite de réaliser des imports de ce types de fichiers très simplement dans une couche vectorielle et de les utiliser graphiquement.
\begin{figure}
\centering
\includegraphics[width=14.5cm]{images/Tables.eps}
\caption[Tables]{Tables géographiques et statistiques}\label{Tables}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=13cm]{images/Jointure.eps}
\caption[Jointure]{Jointure dans QGIS}\label{Jointure}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=14.5cm]{images/Communes.eps}
\caption[PietonVelo]{Nombre de piétons, vélos et voitures}\label{QgisCamembert}
\end{figure}
\smallskip
La figure \ref{Tables} montre les données tabulaires d'une couche géographique et par dessus celles de données préparées dans un tableur Gnumeric. Puis, la figure \ref{Jointure} montre ce qu'elles sont devenues après export au format ODS depuis Gnumeric, puis import dans QGIS et jointes par l'intermédiaire de leur CODE\_INSEE. Enfin, la figure \ref{QgisCamembert} montre la représentation graphique des données sur le fond de carte sous la forme de camembert.
Remarquez aussi les mensonges qui figurent dans cette carte pour alimenter le projet évoqué ci-dessus.
\smallskip
Il faut finalement souligner que, suivant les versions de QGIS, la manipulation de certains éléments comme les légendes par exemple, sera plus ou moins simple. Pour parvenir à relier la taille des cercles proportionnellement au nombre d'habitants, il a fallu avoir recours à un plugin dont le fonctionnement était complexe. Par ailleurs, la légende liée au véhicules ne fut pas simple à mettre en place. Il faut donc considérer que l'apprentissage de l'outil peut être chronophage, non seulement pour les légendes, mais pour la mise en place des diagrammes.
L'exercice a cependant l'avantage de forcer la construction de données tabulaires et d'être un bel exemple de jointure entre deux tables, l'utilité de ce type d'opération n'étant pas évidente quand on travaille sur des tables déjà structurées dans une base de donnée unique.
\medskip
Comme autre exemple d'utilisation de QGIS, dans sa raison d'être et dans le cadre du projet sur le mensonge, on peut mentionner ici la réalisation, pour une activité d'apprentissage de l'utilisation de carte par des élèves de l'école primaire, d'un plan de la cour du collège de l'Ouest, à la Chaux-de-Fonds.
On peut envisager un tel exercice, ici réellement réalisé au début de l'année scolaire 2019, pour des élèves dont l'intérêt est l'enseignement et qui se destinent à la Haute École Pédagogique (HEP).
\begin{figure}
\centering
\includegraphics[width=13cm]{images/Sitn.eps}
\caption[PietonVelo]{Le géoportail du canton de Neuchâtel}\label{sitn}
\end{figure}
Au départ, l'idée est de réaliser une carte de la cour du collège pour y placer des éléments sous forme d'étiquettes que les élèves devront trouver en se référant à la carte. On va ici parler de carte plutôt que de schéma de la cour, l'idée étant de récupérer une carte préalablement réalisée sur le site du Géoportail du système d'information du territoire neuchâtelois (SITN)\footnote{Voir~: \url{https://sitn.ne.ch/}. Faire une recherche sur \emph{Cour du collège de l'Ouest}}. Cela devait être à partir du fond de cette carte, présentée à la figure \ref{sitn}, que le placement des étiquettes devait se faire.
Or, pour récupérer des données sur le site du SITN, il faut passer par Géoshop, \og une solution permettant de demander un devis et commander des données cartographiques \fg{}\footnote{Voir~: \url{https://sitn.ne.ch/geoshop/}}. La nécessité d'une inscription et l'éventualité de devoir payer a été rédhibitoire, même si la représentation des bâtiments est agréable, mais comme nous allons le voir évidemment fausse.
En arrière plan de la couche fournie par le SITN se trouve OpenStreetMap (OSM) dont la carte est aussi disponible. Mais aucune indication ne se trouve sur le site pour en récupérer les données relatives à la cours du collège de l'Ouest.
Outre le fait que les données d'OpenStreetMap sont libres, il se trouve que QGIS en gère parfaitement l'importation directe grâce au plugin \emph{QuickMapServices} qui dispose d'une entrée OpenStreetMap.
Mais ce n'est pas suffisant. L'utilisation d'une couche de fond OSM en parallèle avec UMAP\footnote{Voir~: \url{https://umap.openstreetmap.fr/fr/}} qui \og permet de créer des cartes personnalisées sur des fonds OpenStreetMap en un instant \fg{} aurait alors été suffisante. Le problème vient du fait que s'appuyer sur un fond de carte ne permet pas d'en isoler une partie du contenu, à moins de le redessiner au-dessus du fond. Ainsi, il est impossible d'isoler la cour du collège des bâtiments environnants.
\begin{figure}
\centering
\includegraphics[width=10cm]{images/OSMexport.eps}
\caption[PietonVelo]{Exportation de données OSM}\label{osmexport}
\end{figure}
Pour cela, il était nécessaire de récupérer les données relatives à cette cour à partir d'OpenStreetMap. Pour un système cartographique libre, c'est évidemment possible, mais aussi très instructif quant à la structure de données sur laquelle repose ce système. On voit à la figure \ref{osmexport} que le bouton \emph{Exporter} d'OSM propose d'extraire les données d'une région suivant ses coordonnées et il fournit pour cela un fichier propre à OSM d'extension éponyme. Ce fichier peut alors être importé par QGIS, mais doit être converti en fichier shapefile (shp) pour être utilisable. Il faut pour cela enregistrer la couche correspondant au fichier d'extension osm au format \emph{ESRI shapefile}. Puis, dans la table d'attributs de cette nouvelle couche, en sélectionnant successivement chacun de ses éléments, visualiser ceux qu'on ne désire pas et les effacer (en mode édition de la table). On obtient ainsi uniquement les données relatives à la cour du collège. Cela permet, en supprimant l'affichage de la carte OSM de fond, de se rapprocher d'un schéma de la cour.
\begin{figure}
\centering
\includegraphics[width=6cm]{images/tableattributs.eps}
\caption[TableAttributs]{Couches et table d'attributs}\label{tableattributs}
\end{figure}
La différence avec un schéma, réalisé avec un logiciel de dessin vectoriel, outre le géo-positionnement des éléments, est que ceux-ci sont des éléments tabulaires en arrière plan. Ainsi, au contraire d'un logiciel de dessin vectoriel où les éléments sont enregistrés dans un langage balisé comme XML pour Inkscape par exemple, les éléments des couches vectorielles shp sont enregistrés dans des tables d'attributs. La figure \ref{tableattributs} présente les cinq couches du projet de l'école de l'Ouest, une couche osm et quatre shapefiles. En regard se trouve la table d'attributs de la couche \emph{Installations} qu'il est possible de manipuler directement.
Ce mode de fonctionnement est très puissant puisque, comme nous l'avons vu précédemment, des couches de données provenant de diverses sources (fichier ou base de données) peuvent ainsi être jointes aux couches cartographiques à proprement parlé. Mais, il est plus rigide que celui d'un logiciel de dessin vectoriel, car les attributs graphiques, comme la couleur de remplissage par exemple, sont par défaut donnés à l'ensemble des éléments d'une couche. Pour la différencier, il faut créer des catégories qui rendent difficile la gestion individuelle de chaque entité. C'est bien entendu un mode de fonctionnement particulièrement efficace dans le domaine de la cartographie, mais il peut être déroutant au premier abord pour des élèves habitués à ne pas penser en terme de groupes d'éléments symboliques, mais désireux d'appliquer successivement des attributs particulier à chaque élément. La situation s'apparente à celle que font les élèves des éléments typographiques dans un traitement de texte où l'utilisation des styles et peu répandue.
\smallskip
Par contre, une utilisation statistique des données est possible alors qu'avec un schéma ce n'est pas le cas. Même si QGIS n'a pas été prévu pour cela, il existe maintenant des modules permettant d'y utiliser R directement. L'import de tables LibreOffice ou autre tableur est aussi un grand avantage, car il permet un pré-traitement des données dans ce type de logiciels normalement bien connu des élèves.
\begin{figure}[t]
\centering
\includegraphics[width=14.5cm]{images/CollegeOuestFinal.eps}
\caption[CollegeOuest]{La cour du college de l'Ouest}\label{collegeouestfinal}
\end{figure}
Sur la figure \ref{collegeouestfinal} se trouve la carte utilisée par les élèves (de quatrième HARMOS) du collège de l'Ouest pour leur travail de sensibilisation à la cartographie. Il s'agissait bien de cartographie puisque les deux cartes présentées à la figure \ref{collegeouestfinal} et \ref{sitn}, respectivement réalisées sous QGIS et récupérée sur le site du SITN, ont été utilisées pour une discussion critique quant aux éléments représentés. Par exemple, la place de jeu ne figure pas sur la carte du SITN, les arbres sont partiellement représentés et une grosse erreur d'ombrage vers le SUD s'y trouve, non seulement sur le collège, mais sur l'ensemble des habitations de la ville et sans vouloir préjuger de la raison de cette erreur, on peut certainement affirmer qu'il s'agit d'un bel exemple de mensonge cartographique, puisque cet ombrage (et il ne s'agit pas d'une mauvaise représentation de bâtiments en 3D, puisque l'image satellitaire correspondant présente des façades qui ne sont pas dans l'ombre ; tout au plus peut-il s'agir d'une décision arbitraire de donner du relief par une ombre délibérément choisie vers le Sud, c'est-à-dire d'une convention. Si c'était le cas, elle serait contestable et particulièrement malheureuse) n'est possible que dans l'hémisphère sud.
Même dans le cadre d'une activité pour une classe primaire, la réalisation de la carte a permis de mettre particulièrement bien en évidence les difficultés liées aux choix des éléments représentés et à leur modélisation et les erreurs inévitablement présentes dans chaque représentations. Elle a aussi permis de comprendre les difficultés d'utilisation de logiciels spécifiquement destinés à la liaison entre des données géographiques et leur représentations cartographique (les étiquettes placées ont trouvé une expression géographique tabulaire).
\bigskip
Comme autre exemple de représentation cartographique à la limite de la schématisation, on trouve aussi dans \citet*[p. 146, figure 7.7]{MM2019}, l'exemple des prix des taxes d'habitations qui montre que l'utilisation de données tarifaires très locales peuvent permettre de justifier des réclamations par l'intermédiaire de mode de représentation graphiques adéquats, comme des histogrammes sur cartes.
Comme avec l'exemple de l'école primaire de l'Ouest, on peut dire que QGIS est peu approprié pour de telles fonctionnalités qui impliquent une relation simple avec des quantité numériques non issues d'une base de données, car l'échelle est ici si petite qu'on est au frontières entre un logiciel de cartographie et des logiciels de dessin vectoriels généralistes comme inkscape dont on reparlera plus loin. Avec les premiers l'impératif de géolocalisation pénalise la facilité de représentation et avec les second, cette dernière nuit à la qualité du positionnement.
\medskip
Évidemment, QGIS est un magnifique logiciel de cartographie qui est presque incontournable. Mais, ne négligeons pas le fait que certaines de ses fonctionnalités sont complexes. L'utilisation de fond de cartes peut être ou ne pas être simple, car il existe de nombreuses manières de les obtenir et que leur description est loin d'être évidente. Certes des outils d'importation automatiques existent, mais il faut les connaître et si l'importation directe de fichiers de fond cartographiques est naturellement possible, puisque l'une des raisons d'être de QGIS, les trouver, sélectionner ceux dont les formats lui sont adaptés et les importer réellement nécessite des connaissances préalable à tout travail personnel.
Là encore, il faut se demander si le jeu en vaut la chandelle et qui va réaliser le travail de compréhension permettant d'apprendre aux élèves à réaliser ces étapes sans trop de difficultés, vu que l'informatique est ici intimement imbriquée dans la géographie et que la connaissance d'un tel logiciel n'est certainement pas dans le bagage de base d'un informaticien. Quoi qu'il en soit, QGIS dispose d'une aide en ligne directement disponible depuis le menu d'aide et celle-ci est non seulement très fournie, mais disponible en français.
\subsection{Le logiciel MAGRIT}
L'utilisation d'un logicil comme QGIS passe par son installation. C'est un logiciel très connu et sa présence sur internet a tendance à masquer d'autres projets très intéressants. Tout le travail réalisé ci-dessus l'a été sans connaître MAGRIT et cela souligne la difficulté des recherches préalables à tout sujet.
Magrit est un logiciel remarquable. Voici comment il est décrit sur \emph{Géo confluences}, site français de \emph{Ressources géographiques pour les enseignants}\footnote{Voir~: \url{http://geoconfluences.ens-lyon.fr/actualites/veille/liens/magrit-outils-carto}}~:
\begin{quotation}
\textit{\og L'UMS RIATE est une unité mixte de service qui a pour objet le soutien aux recherches portant sur l'aménagement du territoire européen et qui est sous la cotutelle du CNRS, de l'Université Paris Diderot et du Cget.
\\
Dans le cadre de ses activités, le pôle géomatique de l'UMS Riate a développé une application de cartographie en ligne Magrit, cet outil permet de réaliser des cartes statistiques directement dans un navigateur web, quel que soit le système d'exploitation (Mac OS, Windows, Linux \dots), et cela à partir des propres données de l'utilisateur. La plupart des modes de représentation classiques sont proposés (cartes en proportion, cartes choroplèthes, typologies, etc.). D'autres modes de représentation plus innovants sont également disponibles (anamorphoses, lissages, discontinuités, carroyages, etc.).
\\
Le projet est entièrement libre (code sous licence CeCILL, compatible avec la GNU GPL). Il repose sur une suite moderne de technologies libres et open-source et il est possible de déployer sa propre instance de l'application (notamment via Docker). Le code de Magrit est hébergé sur GitHub. \fg}
\end{quotation}
On trouvera aussi la présentation de MAGRIT sur le site du CNRS\footnote{Voir~: \url{http://riate.cnrs.fr/?p=5698}} et on y accède à l'adresse \url{http://magrit.cnrs.fr/}.
\begin{figure}[t]
\centering
\includegraphics[width=14.5cm]{images/Magrit.eps}
\caption[CollegeOuest]{Le logiciel MAGRIT}\label{magrit}
\end{figure}
L'intérêt de ce logiciel, outre le fait qu'il soit libre et gratuit, est qu'il est disponible directement en ligne. Son utilisation est aisée, même si les possibilités d'intégration de cartes de fond OpenStreetMap par exemple ne sont pas automatique, comme cela est le cas avec QGIS. L'import du fond se fait via les traditionnels fichiers Geojson ou shapefile, par exemple. Des couches de données peuvent ensuite être intégrées pour permettre leur intégration dans la carte.
Sur la figure \ref{magrit}, on peut voir l'utilisation des mêmes données que celles utilisées pour les figure \ref{QgisHistogramme}, \ref{Tables}, \ref{Jointure} et \ref{QgisCamembert} avec MAGRIT. On y voit l'interface principale de MAGRIT dont les onglets spécifient assez clairement le fonctionnement jusqu'à l'export en SVG. On y voit aussi qu'il est possible de spécifier différentes projections.
\begin{figure}[t]
\centering
\includegraphics[width=14.5cm]{images/Anamorphose.eps}
\caption[CollegeOuest]{Un cartogramme du nombre d'oiseaux}\label{anamorphose}
\end{figure}
On est évidemment pas là dans le cadre d'un logiciel aussi complet que QGIS, mais sa disponibilité sur le réseau et sa simplicité d'utilisation en font un outil à ne pas négliger même si tout n'y est pas simple. Par exemple, la figure \ref{anamorphose} présente une carte en anamorphose d'une étude du nombre d'oiseaux dans les différents cantons réalisée sous MAGRIT avec le fond de carte des cantons de Swisstopo\footnote{Relevons que la Confédération met à disposition des données dites \emph{Opendata}, notamment dans le domaine de la cartographie à l'adresse \url{https://opendata.swiss/fr/organization/bundesamt-fur-landestopografie-swisstopo}. D'autres domaines y figurent et pour obtenir des données relativement facilement, il ne faut pas hésiter à s'y rendre.}. Si l'accès au données tabulaires est possible, leur édition n'est pas possible. Pour ajouter un champ contenant le nombre d'oiseaux, il a été nécessaire d'utiliser le fichier d'extension dbf de swissBOUNDARIES3D contenant la base de donnée pour l'éditer. En en supprimant tous les champs sauf l'UUID des cantons et en y ajoutant le nombre d'oiseaux, on peut alors importer ces données dans MAGRIT et y réaliser une fusion avec les données du fond de carte. Seulement alors il est possible d'y accéder pour réaliser la carte. Mais les possibilités offertes pour son choix et la manipulation des ses éléments sont relativement peu nombreux (comme le placement des étiquettes numériques qui est prédéfini sans aucune possibilité de changement, contrairement à ce que permet QGIS), ce qui est pédagogiquement à la fois un avantage et un désavantage, suivant le niveau de connaissances techniques des élèves.
Évidemment, cette carte (figure \ref{anamorphose}) illustre encore une fois un mensonge, puisque le nombre d'oiseaux a été délibérément choisi pour être faible en Suisse romande, MAGRIT proposant un type de carte dit de \emph{discontinuités}. L'idée était de l'utiliser pour inventer un \og r\oe sti graben \fg{} des extinctions et le mettre en évidence cartographiquement. Mais, le résultat ne fut pas à la hauteur de nos espérances.
\subsection{Le logiciel KHARTIS}
KHARTIS\footnote{Voir : \url{http://www.sciencespo.fr/cartographie/khartis/}} a été développé par lAtelier de cartographie de Science-Po (France). Il permet la réalisation de cartes thématiques assez facilement. Il met à disposition plusieurs types de projections cartographiques, plusieurs séries de données et différents moyens de visualisations comme on peut le voir dans les figures \ref{khartis1}, \ref{khartis2}, \ref{khartis3} et \ref{khartis4}, pages \pageref{khartis1}, \pageref{khartisdonnees} et \pageref{khartis4}. Il permet aussi dimporter ses propres fonds de cartes et séries de données. Les cartes produites peuvent ensuite être exportées sans problème.
C'est un logiciel libre disponible directement en ligne\footnote{Malheureusement avec le traçeur Google Analytics.} ou en téléchargement pour Macintosh, Windows et Linux. Malheureusement, il n'est ni disponible en version 32 bits, ni en version ARM, ce qui l'exclut des raspberrypi, notamment.
\begin{figure}
\centering
\includegraphics[width=14.5cm]{images/Khartis1.eps}
\caption[Khartis 1]{Le logiciel Khartis}\label{khartis1}
\end{figure}
Ce logiciel permettrait par exemple de réaliser un travail de production cartes en faisant varier les différents paramètres qui entrent en jeu dans la construction des cartes. Dans lexemple de la figure \ref{khartisdonnees}, les deux cartes ont été produites avec les mêmes données mais avec des méthodes de discrétisation différentes.
\begin{figure}
\centering
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=8cm]{images/Khartis2.eps}
\caption[Réflexions]{Une première discrétisation}\label{khartis2}
\end{subfigure}
\begin{subfigure}{0.45\textwidth}
\centering
\includegraphics[width=8cm]{images/Khartis3.eps}
\caption[Réflexions]{Une première discrétisation}\label{khartis3}
\end{subfigure}
\caption[Cartes]{Traitement des données dans Khartis}\label{khartisdonnees}
\end{figure}
Quant à la carte de la figure \ref{khartis4}, la série de données est la même que dans les cartes précédentes, mais cest la
projection qui est différente.
\begin{figure}
\centering
\includegraphics[width=14.5cm]{images/Khartis4.eps}
\caption[Khartis 1]{Projections dans Khartis}\label{khartis4}
\end{figure}
\section{Changement de paradigme}
Jusqu'ici, la recherche de logiciels permettant de traiter le thème proposé a été orientée vers des logiciels relativement pointus en statistiques et cartographie. Pour un géographe, cela paraît autant évident de procéder ainsi que pour un physicien d'utiliser \LaTeX{} pour un rapport d'expérience. Mais, malgré cette évidence, c'est un paradigme contestable.
Est-ce donc vraiment une bonne idée ? Ou est-ce un défaut inhérent à la réunion de deux spécialistes qui voient dans le projet de DO l'occasion de présenter certains aspects de leur discipline que leur cours de base ne permet pas d'aborder ?
\medskip
La découverte du livre \emph{Terra forma, manuel de cartographie potentielles} de \cite{FA2019}, va nous permettre d'envisager un changement total de paradigme. Jusqu'ici, nous nous étions focalisé sur des logiciels spécifiquement orienté sur la cartographie (même R l'était par l'intermédiaire de son module \emph{cartography}) et la spécialisation de ceux-ci permettant d'aller très loin dans une représentation aux cannons actuels de cette discipline (cannons, car il s'agit toujours de représentations forcément erronées), nous nous sommes focalisés sur des représentations d'un haut niveau technique fort intéressantes et certainement très adaptées à des étudiants en géographie, mais plus difficilement exploitable pour des élèves d'autres horizons.
\bigskip
\emph{Terra Forma} est un ouvrage assez exceptionnel. Il porte le sous titre de \emph{Manuel de cartorgaphies potentielles}. Tout les mots comptent. Il s'agit d'abord d'un manuel, en ce sens qu'il se veut une incitation à la réalisation de cartes, et non seulement à leur analyse. Ensuite, il envisage \emph{des cartographies} plurielles. Contrairement à ce dans quoi la nature des logiciels cartographiques nous enferme, et en cela la nature même des logiciels tout court, c'est-à-dire ici l'utilisation de fonds de cartes prédéfinies, les auteures de \emph{Terra Forma} partent d'une réflexion épistémologique qui s'en dégage très clairement en revisitant radicalement la notion même de cartes.
\medskip
\emph {Le constat est intéressant, car cela montre que l'abord d'une discipline par l'informatique, dans le sens de promouvoir l'informatique par l'utilisation de logiciels adaptés à une discipline, constitue une réelle limitation de l'éclairage que l'informatique elle-même peut donner à cette discipline, comme on le verra plus loin.}
\medskip
Il ne faut pourtant pas aller trop loin en considérant par exemple que les connaissances informatiques peuvent faire obstacle à la compréhension profonde d'une discipline en ce qu'elle lui met des ornières. On pourrait le penser en considérant la note de \citet*[p. 4]{FA2019} :
\begin{quotation}
\emph{\dots{} Il faut mentionner en outre le système d'information géographique utilisé par le institutions de l'État (collectivités et autres), outils professionnel qui se revendique comme participant à l'open source (QGIS, logiciel gratuit), mais dont les données sont souvent sécurisées et la manipulation complexe. C'est un système d'accumulation de données fondé sur les coordonnées géographiques -- véritable encodage des territoires. À une époque de démocratisation des cartes et de développement de l'open data, le problème n'est plus l'accès à l'information mais l'organisation de celle-ci. L'open source à révolutionné les usages et aussi les pratiques professionnelles. Les architectes, les urbanistes et les paysagistes ne peuvent d'ailleurs plus travailler sans Google Maps.}
\end{quotation}
qui est non seulement la seule référence de l'ouvrage à l'informatique, mais est aussi exemplaire par ce qu'elle laisse deviner des connaissances informatiques des auteures. Les deux dernières phrases sont à cet égard éclairantes, puisque Google Maps n'est pas open source et, même s'il l'était, ce n'est pas l'open source qui a révolutionné les usages, mais les logiciels libres (L'open source est une notion récemment récupérée par des entreprises qui n'ont pas l'objectif de libérer les connaissances. Pour l'illustrer, Richard Stalmann disait lors de l'une de ses conférences à l'EPFL : \og Je ne suis pas open source, mais libre ! \fg{}).
Cela dit, on trouve aussi une position intéressante sur QGIS dont \og \dots{} la manipulation [est] complexe \fg{} et, serait-on tenté d'ajouter étant donné l'incroyable originalité des auteures en terme de cartographie, limitante.
Car les auteures, qui ne sont pas géographes il faut le remarquer mais architectes et historienne des sciences, peut-être parce qu'elles sont parties sans aucun à priori informatique montrent dans cet ouvrage l'importance d'une réflexion préalable à toute utilisation de l'outil informatique.
\begin{figure}
\centering
\begin{subfigure}{0.49\textwidth}
\centering
\includegraphics[width=7.8cm]{images/terreGlissements2.eps}
\caption[Réflexions]{Premières réflexions classiques \citep[p. 26]{FA2019}}\label{carte1}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\centering
\includegraphics[width=6.1cm]{images/mines.eps}
\caption[Tatouages]{Tatouages territoriaux : les mines \citep[p. 35]{FA2019}}\label{carte2}
\end{subfigure}
\caption[Cartes]{Cartes}\label{cartes}
\end{figure}
Préalable, mais certainement pas indépendante, car, il est simplement évident que \emph{Terra Forma} n'aurait simplement pas pu exister sans l'informatique (considérez pour vous en rendre compte la structure des cartes présentées dans les figures \ref{carte1}, \ref{carte2}, \dots). Et c'est précisément ce qui nous intéresse ici.
\medskip
La citation ci-dessus contient le programme d'une démarche novatrice :
\begin{quote}
\emph{À une époque de démocratisation des cartes et de développement de l'open data, le problème n'est plus l'accès à l'information mais l'organisation de celle-ci.}
\end{quote}
On touche là l'essence même de la cartographie et les auteures insistent sur le fait que cette organisation peut être très variée : elles parlent non de manuel de cartographie, mais de manuel de cartographies. Le pluriel est ici essentiel. Or, à priori, l'utilisation exclusive de logiciels purement cartographiques restreint fortement ce pluriel et en même temps la diversité des outils informatiques potentiellement utilisables en cartographie. C'est là la révélation qu'on peut en tirer. Les cartes présentées dans \emph{Terra Forma} sont potentielles. Elles vont constituer des cartes possibles, extrêmement originales pour lesquelles l'utilisation de logiciels spécifiques ne convient pas.
La clé du changement de paradigme est donc qu'il ne faut surtout pas se laisser enfermer par des solutions informatiques répondant à des problèmes particuliers, comme \og un système d'accumulation de données fondé sur les coordonnées géographiques \fg, car la cartographie ne se limite bien heureusement pas à cela.
\medskip
\emph{La conséquence de ce changement de paradigme est qu'il existe de nombreux logiciels généraux parfaitement adaptés à la cartographie pour autant qu'on ne la considère pas que sous l'angle des \og coordonnées géographiques \fg{} et que cela peut permettre aux étudiants de réaliser des travaux de cartographie beaucoup plus personnels, plus libres et pour les enseignants certainement plus facilement gérables.}
\subsection{Révolutions}
\begin{figure}
\centering
\begin{subfigure}{\textwidth}
\centering
\includegraphics[width=11cm]{images/modeleSol.eps}
\caption{Modèle sol \citep[pp. 42-43]{FA2019}}\label{modelesol}
\end{subfigure}
\medskip
\begin{subfigure}{\textwidth}
\centering
\includegraphics[width=11cm]{images/carteSol.eps}
\caption{Carte sol \citep[pp. 44-45]{FA2019}}\label{cartesol}
\end{subfigure}
\caption[Construction]{Modèle et carte}\label{modelecarte}
\end{figure}
Pour donner une idée du renversement de paradigme cartographique présenté dans \emph{Terra Forma}, sans dévoiler les autres changements amenés par les auteures pour bousculer l'idée traditionnelle de carte, on va esquisser le premier modèle présenté nommé SOL. Voici comment \citet*[p. 16]{FA2019} présente le problème.
\begin{quotation}
\emph{La plupart de ces cartes, reconnaissons-le, ne sont pas faciles à lire si l'on ne s'acclimate pas d'abord à leurs codes et à leurs légendes. Tout comme une carte aborigène reste muette si l'on n'est pas instruit par les autochtones de sa signification. Une carte à l'occidentale est justement faite pour se passer des autochtones et de leur manière de conduire l'attention vers un paysage multiple\footnote{Ndlr: elle est donc déjà limitante, comme le logiciel.}. Opter pour des cartes indéchiffrables sans guide, c'est proposer un autre régime de découverte et de proximité. On pourra objecter que ces cartes dépourvues de topographie et de coordonnées ne sont plus des cartes. Si elles ne ressemblent plus à celles que nous connaissons, elles en gardent cependant un des objectifs : se repérer. Se repérer, on croit que c'est isoler des mers stables, des repères physiques immobiles depuis lesquels se situer et trianguler. Mais lorsque le sol même semble se modifier, les repères ne peuvent être identiques : le point fixe autour duquel le reste tourne, c'est l'activité des vivants elle-même.}
\end{quotation}
Puis, plus précisément \citep[p. 25]{FA2019} :
\begin{quotation}
\emph{Le premier référentiel de la carte auquel se fier, c'est la direction. Longtemps nos cartes ont indiqué le nord : le nord magnétique, mais aussi celui de l'hémisphère nord centré sur l'Europe. Cependant un autre référentiel bien plus ambigu fait irruption avec l'intrusion de Gaïa. Ce référentiel est à la fois plus puissant et plus fragile, plus global et plus situé, plus inquiétant et plus rassurant. Il agrège des communautés autant qu'il divise. Ce \og nouvel-ancien \fg{} référentiel, c'est le sol.}
\end{quotation}
L'idée est alors de supprimer le référentiel Nord-Sud-Est-Ouest par la direction haut-bas. La figure \ref{carte2}, en tant que carte classique inconciliable avec ce qu'on peut espérer d'une information en profondeur des différents aspects d'une mine, puis la figure \ref{carte2}, qui constitue le renversement de perspective tout en restant dans le cadre d'une carte des mouvements du sol, vont permettre d'assumer ce changement \og d'horizon \fg. Mais les auteures ne vont pas en rester là.
Le second changement va être de donner à l'atmosphère une finitude graphique éblouissante et aux différentes strates du sol une importance qui ne lui est jamais donnée.
\begin{quotation}
\emph{Le modèle permet de visualiser ces couches en supprimant les échelles et en scannant horizontalement les strates, puis en les replaçant concentriquement autour d'un vide, le rond central, notre atmosphère. Un fossile peut y être aussi visible qu'une mine, un volcan qu'une cuve, un réseau de pipelines que l'eau qui s'écoule entre les roches, car leurs effets en surface sont devenus aussi importants les uns que les autres. [\dots] Le sol, comme une peau retournée, laisse apparaître ce qui se passe directement sous sa surface et le fait vivre, ou mourir. Voilà notre \emph{terra incongnita} : le sol sous nos pieds.} \citep[p. 37]{FA2019}
\end{quotation}
Après une présentation du plan de renversement, les auteures présentent le modèle de la figure \ref{modelesol}, puis la carte elle-même à laquelle la figure \ref{modelecarte}, ne rend que modestement hommage.
\bigskip
En quoi ces deux révolutions sont elles importantes dans le cadre des travaux personnels de la DO d'informatique ?
\subsection{Créer des cartes-modèles avec le DAO}
Les cartes modèles et la chorématique ont été présentées dans les années 1980 par une équipe de chercheurs français. Ce type de carte, que nous présentons ci-dessous, pourraient à notre avis convenir pour la réalisation dun projet cartographique orienté sur lutilisation du DAO.
La carte-modèle est notamment proposée parle géographie Roger Brunet. Elle consiste à utiliser la notion de modèle pour créer des cartes. Ce modèle de carte utilise ce que Brunet appelle des chorèmes quil définit comme des \og structure élémentaire de lespace qui se représente par un modèle graphique \fg{} \citep{BRsd1}.
Le travail proposé consiste à tenter de modéliser un espace, ce qui nest pas pour Brunet, une opération qui se contenterait de résumer ou de généraliser et encore moins de caricaturer. Il sagit plutôt de montrer quels sont les principes en jeu dans lespace étudié. En ce sens, elle est différente dune carte classique qui cherche à être le reflet précis de la réalité car la carte-modèle ne respectera plus les coordonnées géographiques des lieux, les contours des circonscriptions et États ou les linéaments (routes, cours deau,...). \citet*{DDF92} définit ainsi la carte modèle : \og représentation schématique de la réalité élaborée en vue de lexpliquer, ou encore de la comprendre au faire comprendre \fg.
Brunet ajoute que toutes les configurations spatiales sont la combinaison de mécanismes simples qui correspondent aux solutions que les sociétés trouvent pour maîtriser lespace et aux forces physiques quelles doivent maîtriser (pente, climat, etc.).
Ces configurations se comprennent par le jeu des structures élémentaires évoquées ci-dessus. Graphiquement elles sont toutes constituées de points, lignes et surfaces, comme toutes les représentations cartographiques. Au total, Brunet propose 28 chorèmes pour créer ses cartes-modèles. Chacun deux signifie car il est signe (avec une forme) et propose un signifié (le mécanisme quon cherche à représenter). \citet*{BRsd2} précise à ce sujet que « le langage de la carte est dans la forme, larrangement et la signification des distributions quelle montre. Les formes élémentaires sont les sèmes de ce langage, la syntaxe est dans leurs relations ». Les chorèmes peuvent exprimer des choses très différentes, parfois totalement abstraites comme laire dinfluence dune ville, ou très concrètes comme une frontière.
Les chorèmes sont classés en sept catégories \citep{BRsd1} :
\begin{itemize}
\item les chorèmes de maillage (pour lattribution des territoires) ;
\item les chorèmes de quadrillage (pour la desserte des territoires) ;
\item les chorèmes de contact (pour signifier les lieux de rupture ou dosmose) ;
\item les chorèmes de gravité (pour signifier les attractions, les influences) ;
\item les chorèmes directionnels (pour montrer les dissymétries par exemple) ;
\item les chorèmes de mouvement (pour traduire les conquêtes ou replis) ;
\item les chorèmes de hiérarchies.
\end{itemize}
\subsection{Pistes}
Tout d'abord, on constate que les cartes présentées ne sont certainement pas issues de logiciels de cartographie classiques. Évidemment, puisque leur originalité est de n'être pas fondées sur les \og coordonnées géographiques \fg. La notion de coordonnée n'est donc pas constitutive de celle de carte.
Comment ces cartes ont-elle donc été réalisées ?
Ce qui manque, on peut presque dire bien heureusement, dans l'ouvrage de \cite{FA2019}, c'est précisément l'informatique nécessaire à leur réalisation. Pourtant, quand on observe attentivement les figures \ref{modelesol} et \ref{cartesol}, on y perçoit incontestablement un logiciel de dessin vectoriel. Et c'est par là que la première révolution cartographique de \citet*{FA2019} va permettre le changement de paradigme annoncé :
\medskip
\emph{Il n'est pas nécessaire d'utiliser un logiciel de cartographie pour faire des cartes.}
\medskip
Il ne faut surtout pas sous-estimer l'importance de ce changement de paradigme. Il affirme clairement que la première étape de la réalisation de cartes n'est pas de choisir le logiciel, mais de savoir quel type de carte on veut réaliser. Du point de vue de la géographie même, faire le contraire est une erreur.
\medskip
La seconde révolution cartographique évoquée ci-dessus, soit le retournement de la position de l'atmosphère pour la mettre au centre d'une carte à symétrie sphérique, de par sa radicalité, va permettre d'oser un autre changement complet de la notion de carte. Car, au fond, la question fondamentale qu'il aurait fallu se poser d'entrée est qu'est-ce qu'une carte.
Clairement, l'ouvrage de \citet*{FA2019} répond qu'une carte est un repère dans \og l'activité des vivants elle-même \fg{}. Une carte est donc un repère non au sein d'un territoire, mais d'un mouvant complexe. La limiter au système d'axes d'un repère physique, comme le font la plupart des logiciels de cartographie constitue donc une limitation très dommageable.
Et à bien y penser, les expressions \og carte du génome \fg, \og carte du développement embryonnaire \fg, \og carte synoptique \fg{} \dots, montrent la diversité des manières d'établir des repères dans des situations très différentes. Plus même, une cartographie des connaissances sur un sujet, une carte des pages d'un site internet, une carte des descendants d'une famille, une carte d'une grotte \dots, sont réellement autant de véritables cartes et celles-ci nécessitent des outils informatique très différents, ici respectivement, un wiki, une structure HTML, un logiciel de généalogie et un logiciel 3D.
\bigskip
Ainsi, si nos premières idées pour réaliser des projets sur la base du mensonge des cartes ont été de parcourir les outils informatiques permettant de se focaliser sur un aspect particulier, mais très généralement utilisé, de la cartographie (comme R pour l'associer aux statistiques), il faut maintenant bien reconnaître que des outils moins spécifiques peuvent tout aussi bien répondre à la problématique.
\begin{figure}
\centering
\includegraphics[width=13cm]{images/inkscape.eps}
\caption{Inkscape et XML}\label{inkscape}
\end{figure}
\medskip
Par exemple, Inkscape\footnote{Outil libre de dessin vectoriel. Voir~: \url{https://inkscape.org/fr/}} (voir figure \ref{inkscape}) dans le monde libre ou Illustrator dans le monde propriétaire (même s'il est disponible, il n'est pas recommandé car il n'est ni multi-plateforme, ni libre, ni gratuit), qui sont des logiciels de dessin vectoriels, doivent non seulement être considéré comme parfaitement adapté à des projets de cartographie, mais aussi comme particulièrement intéressants pour des élèves pour lesquels les représentations graphiques sont à priori intéressantes, comme ceux des arts visuels. Ces logiciels sont par ailleurs assez multi-usages pour que tout le monde y trouve son compte. En effet, ils permettent une introduction au dessin vectoriel (logos, schémas ou évidemment cartes de toute nature) avec une gestion très intéressante des calques mais aussi de l'animation vectorielle et sont aussi une entrée dans le monde du codage balisé et des DOM (Document Object Model) qui constituent l'un des aspects des langages XML, dont HTML fait partie.
Or, par sa capacité de gestion balisée de l'information et donc de structuration complexe ainsi que par son immense popularité, le trio HTML, CSS et Javascript, est aussi un candidat sérieux à la création de cartes. Y sont disponibles les calques (dont le sous-projet UMAP\footnote{uMap permet de créer des cartes personnalisées sur des fonds OpenStreetMap. Voir~: \url{https://umap.openstreetmap.fr/fr/}} permet une introduction), la gestion de fond de cartes bitmap et vectorielles, la manipulation de la forme indépendamment du contenu avec CSS, toute choses qui permettent de comprendre ce que sont de tuiles, des légendes, des échelles, \dots{} tout éléments constitutifs des cartes d'Openstreetmap, ou autre logiciel équivalent. De plus, l'utilisation de logiciels graphiques en mode ligne de commande comme Bluefish\footnote{Éditeur HTML multi-plateforme, libre et gratuit. Voir~: \url{http://bluefish.openoffice.nl/index.html}} ou autre pour en apprendre le codage étant très bien acceptée et permettant simultanément d'introduire les élèves au outils du web, il serait dommage de ne pas en envisager l'utilisation, même partielle, sous prétexte d'outils généralistes qui n'ont pas été spécifiquement prévu pour la cartographie.
\begin{figure}
\centering
\includegraphics[width=12cm]{images/peters.eps}
\caption{Projection de Peters de Médecins sans frontières}\label{peters}
\end{figure}
\medskip
Un autre exemple, vient de l'utilisation de plus en plus fréquente de l'espace au lieu du plan.
À la cartographie traditionnelle est attachée la notion de projection et donc à des formes mathématiques certainement intéressantes puisque trompeuses, mais certainement aussi assez complexe pour ne pouvoir être utilisées avec tous les élèves. L'exemple bien connu est la projection de Peters que présente \citet*[pp. 159-160]{MM2019} et encore utilisée aujourd'hui par Mécecins sans frontières (voir figure \ref{peters}).
Les systèmes de projection sont sans conteste un facteur de mensonge. Cela est connu depuis longtemps puisque~:
\begin{quotation}\label{reclus}
\emph{Élisée Reclus (1830-1905), un des pionniers de la géographie moderne, était très critique envers les cartes qui, par construction, déforment la réalité. Selon lui, les cartes planes, projetées, ne pouvaient qu'induire les élèves en erreur en leur inculquant une fausse représentation du monde. En plus de militer pour leur interdiction dans les salles de classe, il se lança dans le projet fou de construire un globe de plus de 127,5 mètres de diamètre pour l'exposition universelle de 1900. Trop coûteux, ce globe qui était selon lui le seul moyen de représenter fidèlement la terre, ne sera finalement jamais construit.} \citep[p. 36]{NL2017}
\end{quotation}
Aujourd'hui, l'une des réponses à ce problème est celle de l'utilisation de logiciels 3D. Or, ceux-ci sont aujourd'hui disponibles facilement. Le plus connu, multi-plateforme, libre et gratuit est Blender.
Sous condition de l'utilisation de machines d'une puissance raisonnable, il est tout-à-fait envisageable de réaliser des cartes 3D grâce à lui, comme des cartes de grottes, des cartes d'étoiles, de circuits électroniques, de villes, à l'instar de cartes comme celles de l'intérieur des pyramides, sans toutefois passer par une muographie\footnote{Voir~: \url{http://www.laradioactivite.com/site/pages/Muographie_Pyramides.htm}}.
\begin{figure}
\centering
\includegraphics[width=12cm]{images/sweetHome3D.eps}
\caption{Sweet Home 3D}\label{sweethome3d}
\end{figure}
\smallskip
De la même manière, pour la représentation des bâtiments, des logiciels d'architecture, comme le logiciel multi-plateforme libre et gratuit Sweet Home 3D (voir figure \ref{sweethome3d}), existent. Les utiliser en tant que producteurs de cartes 3D est parfaitement envisageable. Avec Sweet Home 3D, il est alors possible de s'initier à la modélisation 3D, à l'instar de Blender, pour la construction de meubles ou autres objets.
\section{Pédagogie}
Il existe quelques étapes importantes dans la construction des projets.
Il vaut mieux, nous semble-t-il, imposer le thème, le choisir avec les élèves empêchant certainement les enseignants d'avoir une réflexion du type de celle présentée ici, du moins dans des délais raisonnables, alors qu'autrement il est possible d'y réfléchir préalablement.
Par contre, il nous semble aussi important de permettre aux élèves de choisir eux-même le sujet de leur travail personnel, dans le cadre du thème s'entend. L'originalité des travaux réalisés est pour nous le gage de l'évocation nécessaire des nombreux problèmes liés tant à l'informatique qu'à la discipline associée aux projets.
Pour cela, il est nécessaire de présenter préalablement quelques pistes de réalisations dans la discipline, indépendamment de son approche informatique. Il s'agit ici de l'approche en terme de services, évoquées ci-dessus.
\medskip
Dans le cadre de projets sous le thème de \og Faire mentir les cartes \fg{}, les pistes évoquées ci-dessus peuvent servir de point de départ. L'essentiel est de rester extrêmement ouvert sur la notion de cartes\footnote{\og \emph{La cartographie radicale\\Loin du giron des experts et des universitaires, existe une cartographie insolite. Mélange d'art, de science et d'activisme social, cette cartographie est le domaine des artistes, des architectes et des géographes engagés. Cartographie radicale, critique, contestataire, militante, hétérodoxe, ou citoyenne, elle porte de nombreux noms. Mais ce qui la caractérise avant tout est l'idée centrale que le citoyen doit se réapproprier le pouvoir des cartes~! Pour ces cartographes, l'heure est venue de remplacer la propagande officielle par la protestation. Révéler des structures invisibles de l'ordre dominant et utiliser la carte pour les dénoncer. C'est une cartographie qui vise à ébranler les structures de pouvoir et de domination.\\Dans cette contre-cartographie, les règles de la sémiologie graphique on finalement peu d'importance. Ce qui compte, c'est l'expression artistique et la portée symbolique de la carte. Les représentations peuvent être iconoclastes ou se référer strictement aux règles de la sémiologie graphique. Le but n'est pas là. La cartographie radicale est une forme d'expression libre où seule compte la force du message. Car bien plus qu'un façon particulière de dessiner des cartes, cette cartographie critique se reconnaît avant tout à sa finalité. La carte radicale n'est jamais une fin en soi. Elle sert de point d'appui, d'argument, pour l'action concrète. Elle joue le rôle d'alerte ou de déclencheur pour mener une action politique, une action de terrain ou porter des revendications. C'est une cartographie de combat au service des dominés, c'est un outil de contestation et de reconquête d'un pouvoir confisqué.} \fg{} \cite[p. 197]{NL2017}}.
Cela permet ensuite, après une définition des propriétés nécessaires pour la réalisation de chaque projet, de rechercher et de choisir un ou plusieurs logiciels permettant de le réaliser au mieux. Cette étape est très importante et peut permettre une discussion étroite sur la nécessité et les possibilités techniques des logiciels, ainsi que sur leurs coûts et licences et permettre une évaluation préalable de leurs limites. Dans le cadre d'un projet sous le thème du mensonge des cartes, par exemple, il peut mener à une analyse du mensonge inhérent ou non aux fonctionnalités logicielles elles-même. Le rôle de l'informatique dans les disciplines peut par là être interrogé en relation avec sa nécessité.
Passé l'étape de l'adéquation du choix des outils logiciels, une importante période d'autoformation et de réalisation des projets doit impérativement prendre place. Cela peut constituer une difficulté pour les enseignant qui estiment devoir avoir des connaissances préalables plus importantes que leurs élèves dans tous les cas. Nous pensons quant à nous qu'il est tout-à-fait possible d'apprendre à utiliser un logiciel parallèlement au travail des étudiants, pour autant que ce travail d'autoformation fait par les élèves soit reconnu par les enseignants et valorisé dans leurs évaluations.
Parallèlement, mais probablement pas immédiatement, la définition de la forme et des moyens informatiques pour réaliser le compte rendu écrit et oral de chaque projet, doit être faite selon les cas en collaboration ou pas avec les élèves.
Dans le cas de la cartographie, divers traitements de texte, tels LibreOffice (multi-plateforme, libre et gratuit), \LaTeX{} (multi-plateforme, libre et gratuit) ou autres peuvent être utilisés. Pour la présentation orale, des dias peuvent être réalisés avec Libre Office ou \LaTeX{} et présenté à l'aide du logiciel lui-même ou en PDF. Pour \LaTeX, le package Beamer est particulièrement adéquat. Reste qu'il ne semble pas nécessaire de réaliser à tout prix une présentation de ce type quand, oralement, on peut tout aussi bien rendre compte de son travail en présentant directement les outils utilisés pour le réaliser.
\medskip
En ce qui concerne les objectifs, il nous semble préférable d'être très modeste, mais de permettre une grande variété d'approches. Dans un premier temps, cela peut permettre aux enseignants d'acquérir l'expérience nécessaire pour envisager par la suite des projets plus pointus. Mais, de manière générale, il nous semble qu'il vaut mieux une réalisation lacunaire, mais permettant une compréhension générale de plusieurs aspects de la discipline et de sa relation avec l'informatique, plutôt que des réalisations dirigées menant à des capacités d'utilisation fortes, mais peu étendues.
\begin{figure}[t]
\centering
\includegraphics[width=8cm]{images/autoportraitClassique.eps}
\caption{Autoportrait classique}\label{autoportraitclassique}
\end{figure}
Là encore, l'utilisation de logiciels spécifiques à la cartographie peut être un réel frein à la compréhension de ceux-ci, car expliquer le fonctionnement en couches de QGIS et réaliser un petit projet en HTML permettant de faire varier les représentations cartographiques par l'action de la molette, sont deux choses très différentes, dont la seconde est incontestablement plus fructueuse pour comprendre les ressorts informatiques des logiciels dynamiques de cartographie.
\subsection{Exemple}
Pour finir et montrer à quel point la cartographie peut aborder des aspects très différents de l'idée d'une carte telle qu'on la conçoit généralement, voyons ce qu'on pourrait faire comme projet très atypique dans le cadre des cartes qui mentent. Il s'agit de tenter l'autoportrait cartographique de l'un des auteurs du présent texte : Vincent Guyot.
Comme il s'agit d'un travail personnel, c'est lui qui va en rendre compte, d'où le changement de sujet.
\medskip
Les objectifs sont :
\begin{enumerate}
\item de réaliser un autoportrait,
\item spécifiquement axé sur de la cartographie,
\item en utilisant des aspects mensongers de celle-ci et
\item en rendant compte du travail d'une manière informatique.
\end{enumerate}
Le portrait envisagé est celui d'un hacker et fait suite à un autre autoportrait plus classique réalisés précédemment dans le cadre d'un atelier interdisciplinaire. Celui-ci est présenté à la figure \ref{autoportraitclassique}, page \pageref{autoportraitclassique}. Il a été documenté dans un texte qui ne sera pas reproduit ici, mais qui a été donné en exemple de ce qui pourrait être fait comme compte rendu d'un travail interdisciplinaire.
Le cadre général du travail a été choisi en fonction de l'histoire de la personne. Celle-ci ayant déjà mené à un autoportrait, le cadre sera le même :
\begin{itemize}
\item les dimensions d'une feuille A4,
\item réalisé en \LaTeX{} et plus précisément en Tikz pour les aspects graphiques.
\end{itemize}
Le second point est un élément constitutif de l'autoportrait et a précédemment permis d'atteindre le quatrième point des objectifs. Dans le présent travail, celui-ci sera atteint différemment.
\medskip
Le c\oe ur du travail est la représentations géographique. Or, le travail présenté par \citep{FA2019} est non seulement remarquable, mais aussi fécond. Les idées de cartographie du sol et de ses mouvements que les figures \ref{carte1} et \ref{cartesol} traduisent m'ont fait penser au géoïde de la Terre (voir la figure \ref{geoid}).
Cet objet fantastique est une carte des déformations de la surface terrestre dues aux variations de la gravité locale. La représentation qui en est faite est à la fois exacte et évidemment mensongère : les déformations sont réelles mais amplifiées pour mieux les voir. Ce géoïde, par le phénomène qui le produit, est le constat de modifications locales de la pesanteur, c'est a dire du poids, de différentes parties de la Terre. Il constitue ainsi le premier élément de mon autoportrait, puisque j'ai vécu dans ma vie de telles variations, certes microscopiques à l'échelle de la terre (environ 200 N), mais amplifiées à la surface de mon corps.
Ce géoïde représente la Terre comme une sphère bosselée. Il s'agit de partir d'un ellipsoïde représentant notre planète en rotation et d'y définir une surface de gravité équipotentielle au niveau moyen des océans. Les différences de gravités dues par exemple à des chaînes de montagnes sont ainsi traduites en différences d'altitudes par rapport à l'ellipsoïde.
\begin{figure}
\centering
\includegraphics[width=10cm]{images/Geoids_sm.eps}
\caption{Le geoïde}\label{geoid}
\end{figure}
Le principal travail à réaliser est donc d'obtenir ce géoïde. La solution de facilité est d'en récupérer une image sur le net. Or, la plupart d'entre elles sont copyrightées. Mon autoportrait ne pouvant se satisfaire d'une licence propriétaire, il est nécessaire d'obtenir moi-même le géoïde (malgré l'existence d'une version sur wikipedia\footnote{Voir~: \url{https://fr.wikipedia.org/wiki/Fichier:Modell.Potsdamer.Kartoffel.jpg}} sans utiliser celle de la NASA\footnote{Voir~: \url{https://commons.wikimedia.org/wiki/File:Geoids_sm.jpg}} (voir figure \ref{geoid}), qui est dans le domaine public).
\smallskip
Cela permet de mentionner un point dont il n'a pas encore été question ici. Il s'agit de l'attention à porter aux copyright des objets (surtout les fond de cartes, comme l'a dit \citet*[p. 4]{FA2019} : \og [QGIS] dont les données sont souvent sécurisées \fg{}, les données elles-même, comme celles des altitudes du géoïde, mais aussi les éventuelles cartes du compte rendu). Car, ceux-ci ne sont pas souvent libre de droit et en conséquence il faut parfois renoncer à l'utilisation de données pour cette raison. Même si \citet*[p. 4]{FA2019} dit que l'accès aux données cartographiques est aujourd'hui grandement facilité par l'Open Data, la cartographie reste un domaine où il faut rester très attentif à la provenance des données et où, même celles qui sont financées par l'impôt ne sont pas dans le domaine public.
\smallskip
Pour obtenir ce géoïde, trois choses ont été nécessaires : des données libres de droits (la NASA en est le principal fournisseur, mais l'ESA, l'agence spatiale européenne, en fournit aussi), un logiciel permettant d'y avoir un accès simplifié (il s'agit ici de la version python de geographiclib, qui est une librairie libre) et un logiciel de rendu 3D (pour le modelage et la texture, Blender est le meilleur logiciel libre correspondant).
\medskip
Évidemment, l'utilisation de Blender n'est pas simple. En réalité, elle s'apparente à celle de R ou de QGIS et il est intéressant de noter que pour obtenir le Géoïde désiré, il a fallu non seulement se familiariser avec Blender, mais aussi trouver l'information nécessaire à la réalisation de l'objectif choisi : disposer d'un géoïde 3D. Pour des logiciels spécialisés comme ceux-ci, une phase de formation est absolument nécessaire, qu'on soit informaticien ou pas.
\smallskip
Par ailleurs, avec de tels logiciels la légitimité d'une approche utilisatrice de l'informatique ne fait plus aucun doute. En effet, comme nous le verrons par la suite, avec Blender par exemple, il est impossible de s'en sortir sans aborder des notions éminemment informatiques telles que le maillage, le traitement des surfaces, le rendu, etc.
Enfin, il est aussi important de comprendre que l'expérience technique nécessaire dans l'utilisation de tels logiciels pour des enseignants n'est pas supérieur au saut demandé à des élèves débutants en informatique dans l'acquisition de notions de langages descriptifs tels que HTML ou CSS. Il s'agit donc bien soit de comprendre que des élèves débutants aient de réelles difficultés dans l'utilisation de logiciels comme R, QGIS ou Blender et d'adapter les exigences en conséquence ou de n'orienter que les élèves disposant déjà d'un bon bagage informatique sur leur utilisation. Avoir conscience de cela disqualifie dans une certaine mesure le fait d'imposer des projets uniquement axé sur l'utilisation d'un seul et unique logiciel. Il s'agit là d'une approche pédagogique axée sur l'adaptation des exigences en fonction du parcours des élèves. L'importance des disparités en termes de connaissances informatiques au sein des classes risquant d'être très élevée, c'est une approche qui semble raisonnable pour satisfaire l'intérêt de tous.
\begin{figure}
\centering
\includegraphics[width=10cm]{images/geoidcard.eps}
\caption{La carte du geoïde\\Gravity field and Ocean Circulation Explorer (GOCE)}\label{cartegeoidecouleurs}
\end{figure}
\medskip
L'exemple de la création d'un géoïde sous Blender est très instructive pour la compréhension de la modélisation 3D, mais aussi quant à l'utilisation des données. Si la librairie évoquée ci-dessus (geographiclib) permet bien d'obtenir les hauteurs nécessaires à la création du géoïde, le problème de leur utilisation dans Blender s'est évidemment immédiatement posé. La question était comment faire comprendre ces données au logiciel.
Après beaucoup de recherches, il se trouve que le moyen le plus pratique n'est pas d'utiliser un fichier de données brutes, mais précisément une carte colorimétrique des hauteurs du géoîde comme présentée à la figure \ref{cartegeoidecouleurs}\footnote{Voir~: \url{https://earth.esa.int/web/guest/missions/esa-operational-eo-missions/goce}}. En effet, la modélisation 3D utilise deux structures typiques (entre autres) qui sont le maillage 3D et la texture. Les deux manières de faire interagir ces deux éléments sont le \emph{bump}, qui consiste en une texture 3D qu'on place sur l'objet, et le \emph{displacement}, qui consiste en la déformation de l'objet lui-même. Or, ces deux interactions sont chacune intéressantes du point de vue de la cartographie, car la première utilise un matériau 3D de couverture de l'objet, matériau construit en 3D à partir de la carte colorimétrique, alors que la seconde déforme l'objet lui-même, toujours selon la carte colorimétrique. Dans le premier cas, évidemment, la superposition peut se faire de plusieurs manières et implique l'ellipsoïde de référence sur lequel est construit le géoïde. Dans le second cas, c'est réellement la structure de l'objet entier qui est affectée et on a là une approche bien plus physique, moins cartographique de la représentation, mais peut-être moins mensongère selon Élisée Reclus (voir la citation page \pageref{reclus}).
Informatiquement parlant, ces deux méthodes ne sont pas équivalentes, puisque le placement d'un matériau (même 3D) sur une surface demande bien moins de ressources que la déformation d'un objet. La notion de maillage intervient ici de manière \dots{} constructive.
\begin{figure}
\centering
\includegraphics[width=14cm]{images/terre1erTop.eps}
\caption[BlenderGeoid]{Le geoïde avec Blender}\label{terre1erTop}
\end{figure}
\medskip
Après bien des essais, le premier résultat acceptable fut celui présenté à la figure \ref{terre1erTop}. Il a été obtenu par displacement et n'est pas acceptable du point de vue de l'éclairage.
\begin{figure}
\centering
\includegraphics[width=14cm]{images/TerreIndeBlender.eps}
\caption[BlenderGeoid]{Le geoïde \og indien \fg{} avec Blender}\label{TerreIndeBlender}
\end{figure}
L'utilisation de Blender permet un grand nombre de réglages et sa pratique va évidemment améliorer le résultat. Vous pouvez voir à la figure \ref{TerreIndeBlender} le géoïde qui va servir pour l'autoportrait cartographique. Il est critiquable sur bien des aspects. Notamment, il a été réalisé à partir d'une carte dont la projection sur la sphère n'est pas vraiment maîtrisée. La rotation 3D de celle-ci fait en effet apparaître une jointure bord à bord de l'image et resurgit ici le problème de la projection d'une carte plane sur une sphère et cela de manière très intéressante puisque Blender tente littéralement de la \emph{coller} sur la sphère en la déformant au mieux. Pour obtenir un résultat plus correct, il devient donc nécessaire de s'intéresser au méthodes de projections de ce logiciel. Celles-ci sont-elles comparables à celles utilisées en cartographie, en existe-il différents types, comment sont-elles paramétrables, autant de question qui interrogeront la cartographie informatique.
C'est ici aussi qu'apparaît un point clé de la modélisation informatique. En effet, c'est d'abord l'objectif de l'autoportrait informatique qui va s'imposer dans l'utilisation de Blender, car le rendu obtenu est déjà satisfaisant de ce point de vue, même s'il ne l'est pas totalement géographiquement parlant. Bien qu'on puisse en discuter. Car, il constitue indéniablement une carte porteuse d'informations tout en étant trompeuse et, pour prendre conscience de l'existence d'un géoïde, et même de certaines de ses propriétés, celle-ci est certainement suffisante.
\medskip
Restait à mettre en place les autres éléments de cet autoportrait cartographique. Il s'agissait de quatre éléments différents~:
\begin{itemize}
\item une déformation du géoïde pour s'adapter à l'image sous-jascente,
\item un astrolabe déformé pour s'adapter à la capuche,
\item un élément de géodésie présentant un aspect de la relativité générale et
\item une lentille gravitationnelle.
\end{itemize}
Les raisons du choix de ces éléments sont multiples. Dans les trois cas, un rapport à la cartographie existe. Il s'agit cependant de cartographie céleste. Ces éléments sont aussi consubstantiels de l'autoportrait et sont particulièrement mensongers.
\begin{itemize}
\item Le géoïde a non seulement mal été appliqué sur la sphère terrestre, qui devrait par ailleurs être un ellipsoïde, mais il a été déformé pour s'adapter à une partie de l'astrolabe sousjascent. Les mensonges sont donc particulièrement présents.
\item L'astrolabe constitue une véritable carte du ciel dont la fonction peut paraître être le repérage céleste, mais se trouve en réalité donner la mesure de l'heure. La construction d'un tel astrolabe nécessite évidemment une grande maîtrise de la cartographie céleste et de son mouvement horaire mais aussi de différentes techniques de gravure et fut l'objet d'une réelle passion de l'auteur de l'autoportrait, autant pour l'objet que pour les connaissances historiques qu'il représente. Enfin, cet astrolabe a aussi été déformé en raison d'une parallaxe de l'image initiale\footnote{Voir~: \url{https://commons.wikimedia.org/wiki/File:Astrolabe-Persian-18C.jpg}}, mais aussi pour s'adapter à la capuche.
\item La théorie de la relativité est au c\oe ur de la passion pour la physique de l'auteur. La structure de l'espace lui-même et les problèmes cartographiques qui s'y posent sont similaires à ceux que posent la cartographie terrestre. De plus, la déformation de l'espace liée aux masses évoque les déformations présentées sur le géoïde. L'intégration de cette structure\footnote{Voir~: \url{https://commons.wikimedia.org/wiki/File:Geodesiques.svg}} entre le géoïde et l'astrolabe prend donc tout son sens.
\item Enfin, un effet de lentille gravitationnelle sur fond de Voie Lactée a été intégré au bas de l'image, autant pour des raisons graphiques que pour le mensonge que représente cet effet qui, tout en n'étant pas une carte, est à l'origine d'une interrogation sur l'idée même de cartographie céleste. En effet, c'est dans le cadre de la cartographie du ciel profond, composé de parties de galaxies fantômes crées pas de telles lentilles, que les déformations de l'espace sont apparues problématiques. Et en fin de compte, bien avant le mensonge cartographique, n'est-ce pas la lentille de notre \oe uil qu'il faudrait interroger au sujet des altérations de représentations dont elle peut être à l'origine ?
\end{itemize}
\begin{figure}[t]
\centering
\includegraphics[width=8cm]{images/MaCapuche5.eps}
\caption[AutoPortraitFinal]{L'autoportrait final}\label{autoportraitfinal}
\end{figure}
Voici donc sur la figure \ref{autoportraitfinal} l'autoportrait final que vous pouvez comparer à la figure \ref{autoportraitclassique}, page \pageref{autoportraitclassique}, pour y voir les éléments qui ont disparu et qui, cependant, constituaient certainement une carte mentale de son auteur.
\section{Conclusion}
Ce travail est à notre avis un bon exemple des recherches préalables nécessaires pour être à l'aise avec des élèves à orienter et suivre dans le cadre d'un projet de DO informatique en cartographie. Cela pour plusieurs raisons.
Rappelons d'abord qu'on parle d'un projet et non d'un exercice ou d'une série d'exercices. Un projet est bien un exercice, mais il est d'une autre nature en ce sens que l'enseignant n'a pas à le prévoir entièrement, que celui-ci a plus a accompagner le travail qu'à vérifier sa bonne réalisation et que ce dernier est plus une évolution que la réalisation d'un but. Ainsi, il est parfaitement concevable qu'un outil informatique nécessite un apprentissage non négligeable pour obtenir un résultat relativement modeste. Il est nécessaire de bien le comprendre, car cela illustre le fait que l'apprentissage de l'utilisation d'un logiciel (comme R ou \LaTeX{} par exemples) est une composante informatique tout aussi importante que sa programmation. Par ailleurs, des aspects comme le choix d'un logiciel pertinent (du point du vue de sa disponibilité en fonction du système d'exploitation, en fonction de ses engagements en terme de liberté, de sécurité et de respect de ses utilisateurs et évidemment en fonction de ses coûts immédiats et futurs) ou son évaluation préalable, font partie de la réalisation et doivent être pris en compte dans un projet, alors qu'ils peuvent ne pas l'être lors d'un exercice. Ainsi, la liberté nécessaire à un véritable projet doit-elle être garantie. Pour cela, le travail réalisé ci-dessus montre qu'envisager un sujet en le focalisant sur l'utilisation d'un unique logiciel n'est pas une bonne idée.
Ce travail insiste donc sur l'importance des recherches préalables à la réalisation d'un projet dans le sens rappelé ci-dessus. Les connaissances nécessaires à son engagement et son suivi doivent être, si ce n'est acquises par les enseignants, du moins envisagées préalablement afin d'orienter au mieux les élèves. Or, clairement ces connaissances peuvent dépasser celles des deux enseignants, autant parce que l'informatique est généralement très peu intégrée dans les disciplines classiques, que parce que l'informaticien d'aujourd'hui est poussé à ne pas s'intéresser aux autres branches. Il est donc nécessaire de garder une grande ouverture d'esprit autant théorique\footnote{\og \emph{Vous qui êtes doté du pouvoir démiurgique de construire des cartes, prenez part à ce débat. Les cartes ne sont pas des illustrations destinées à agrémenter tel ou tel texte. Elles ne sont pas là pour faire joli. Elles dessinent des arguments. Elles peuvent influencer, alerter, inciter à agir. Alors à vos ordinateurs, à vos crayons, à vos tablettes graphiques, la guerre des cartes est délarée. Créez de l'altérité, polémiquez, contestez, dessinez votre propre vision du monde. Bref, faites des cartes qui font bouger les lignes et menez le combat cartographique} \fg{} \cite[p. 196]{NL2017}} que technique, car \og la cartographie est un sport de combat \fg{} \cite[p. 196]{NL2017} qui impose une diversité de regards et une plasticité des solutions qui les rendent possibles.
Reste qu'on peut se demander dans quelle mesure l'investissement doit être fait. Surtout au niveau technique. Car ce type de travail exigeant une souplesse technique certaine, on peut interroger la rigidité des exigences des services techniques qui imposent généralement de prévoir bien à l'avance les logiciels nécessaires aux projets. Cela pousse à un gros travail préalable de réflexion extrêmement difficile à réaliser si on admet des projets très divers. De ce point de vue, une indépendance d'installation de logiciels devrait être donnée aux enseignants pour leur permettre de mieux s'adapter aux différentes situations. Cela n'est clairement pas l'orientation envisagée aujourd'hui et c'est dommage. Mais cela relève l'intérêt de l'utilisation d'ordinateurs personnels dont la gestion est attribuée aux élèves eux-même et non verrouillés par les écoles.
\nocite{*}
\bibliographystyle{apalike-fr}
%\bibliographystyle{apacite}
\bibliography{geographie-informatique}
\end{document}

6935
images/Anamorphose.eps Normal file

File diff suppressed because it is too large Load Diff

28859
images/BEJUNE.eps Normal file

File diff suppressed because it is too large Load Diff

29188
images/BEJUNE_GNU.eps Normal file

File diff suppressed because it is too large Load Diff

8848
images/CarteEPO-LBC.eps Normal file

File diff suppressed because it is too large Load Diff

11524
images/CarteEPO-LBC_folium.eps Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

14649
images/CarteMorbihan.eps Normal file

File diff suppressed because it is too large Load Diff

6263
images/Choremes.eps Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

13889
images/CollegeOuestFinal.eps Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

22869
images/Communes.eps Normal file

File diff suppressed because it is too large Load Diff

3295
images/Geoids_sm.eps Normal file

File diff suppressed because it is too large Load Diff

10304
images/Jointure.eps Normal file

File diff suppressed because it is too large Load Diff

11478
images/Khartis1.eps Normal file

File diff suppressed because it is too large Load Diff

20263
images/Khartis2.eps Normal file

File diff suppressed because it is too large Load Diff

20164
images/Khartis3.eps Normal file

File diff suppressed because it is too large Load Diff

BIN
images/Khartis4,jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

19048
images/Khartis4.eps Normal file

File diff suppressed because it is too large Load Diff

399
images/LatexPDF.eps Normal file
View File

@ -0,0 +1,399 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/vincent/Documents/Latex/Latex-OCI/images/LatexPDF.dia
%%Creator: Dia v0.97+git
%%CreationDate: Thu Feb 7 21:28:08 2019
%%For: vincent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 133 167
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/Times-Roman-latin1
/Times-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-Italic-latin1
/Times-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-Bold-latin1
/Times-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-BoldItalic-latin1
/Times-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-Gothic-latin1
/AvantGarde-Gothic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-BookOblique-latin1
/AvantGarde-BookOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-Demi-latin1
/AvantGarde-Demi findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-DemiOblique-latin1
/AvantGarde-DemiOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-Light-latin1
/Bookman-Light findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-LightItalic-latin1
/Bookman-LightItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-Demi-latin1
/Bookman-Demi findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-DemiItalic-latin1
/Bookman-DemiItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-latin1
/Courier findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-Oblique-latin1
/Courier-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-Bold-latin1
/Courier-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-BoldOblique-latin1
/Courier-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-latin1
/Helvetica findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Oblique-latin1
/Helvetica-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Bold-latin1
/Helvetica-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-BoldOblique-latin1
/Helvetica-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-latin1
/Helvetica-Narrow findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-Oblique-latin1
/Helvetica-Narrow-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-Bold-latin1
/Helvetica-Narrow-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-BoldOblique-latin1
/Helvetica-Narrow-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Roman-latin1
/NewCenturySchlbk-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Italic-latin1
/NewCenturySchlbk-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Bold-latin1
/NewCenturySchlbk-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-BoldItalic-latin1
/NewCenturySchlbk-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Roman-latin1
/Palatino-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Italic-latin1
/Palatino-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Bold-latin1
/Palatino-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-BoldItalic-latin1
/Palatino-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Symbol-latin1
/Symbol findfont
definefont pop
/ZapfChancery-MediumItalic-latin1
/ZapfChancery-MediumItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/ZapfDingbats-latin1
/ZapfDingbats findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
28.346000 -28.346000 scale
-1.600000 -7.605000 translate
%%EndProlog
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 1.700000 1.830000 m 2.900000 1.830000 l 3.300000 2.230000 l 3.300000 3.830000 l 1.700000 3.830000 l ef
0.000000 0.000000 0.000000 srgb
n 1.700000 1.830000 m 2.900000 1.830000 l 3.300000 2.230000 l 3.300000 3.830000 l 1.700000 3.830000 l cp s
0 slc
0 slj
[] 0 sd
n 2.900000 1.830000 m 2.900000 2.230000 l 3.300000 2.230000 l 3.300000 2.230000 l s
/Helvetica-latin1 ff 0.560000 scf sf
(.tex) 1.859130 4.551553 m
gs 1 -1 sc sh gr
/Helvetica-latin1 ff 0.560000 scf sf
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 4.540000 1.880000 m 5.740000 1.880000 l 6.140000 2.280000 l 6.140000 3.880000 l 4.540000 3.880000 l ef
0.000000 0.000000 0.000000 srgb
n 4.540000 1.880000 m 5.740000 1.880000 l 6.140000 2.280000 l 6.140000 3.880000 l 4.540000 3.880000 l cp s
0 slc
0 slj
[] 0 sd
n 5.740000 1.880000 m 5.740000 2.280000 l 6.140000 2.280000 l 6.140000 2.280000 l s
/Helvetica-latin1 ff 0.560000 scf sf
(.pdf) 4.772505 4.601553 m
gs 1 -1 sc sh gr
/Helvetica-latin1 ff 0.560000 scf sf
0.100000 slw
[] 0 sd
0 slc
n 3.862500 5.108628 1.412513 1.412513 10.251801 180.248573 ellipse s
[] 0 sd
0 slj
0 slc
n 5.275485 5.214302 m 5.376352 5.413867 l 5.276136 5.364301 l 5.176354 5.414734 l ef
n 5.275485 5.214302 m 5.376352 5.413867 l 5.276136 5.364301 l 5.176354 5.414734 l cp s
(PDFLaTeX) 2.375000 7.305000 m
gs 1 -1 sc sh gr
showpage

461
images/LatexPS.eps Normal file
View File

@ -0,0 +1,461 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/vincent/Documents/Latex/Latex-OCI/images/LatexPS.dia
%%Creator: Dia v0.97+git
%%CreationDate: Thu Feb 7 21:23:09 2019
%%For: vincent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 291 168
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/Times-Roman-latin1
/Times-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-Italic-latin1
/Times-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-Bold-latin1
/Times-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-BoldItalic-latin1
/Times-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-Gothic-latin1
/AvantGarde-Gothic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-BookOblique-latin1
/AvantGarde-BookOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-Demi-latin1
/AvantGarde-Demi findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-DemiOblique-latin1
/AvantGarde-DemiOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-Light-latin1
/Bookman-Light findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-LightItalic-latin1
/Bookman-LightItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-Demi-latin1
/Bookman-Demi findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-DemiItalic-latin1
/Bookman-DemiItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-latin1
/Courier findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-Oblique-latin1
/Courier-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-Bold-latin1
/Courier-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-BoldOblique-latin1
/Courier-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-latin1
/Helvetica findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Oblique-latin1
/Helvetica-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Bold-latin1
/Helvetica-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-BoldOblique-latin1
/Helvetica-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-latin1
/Helvetica-Narrow findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-Oblique-latin1
/Helvetica-Narrow-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-Bold-latin1
/Helvetica-Narrow-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-BoldOblique-latin1
/Helvetica-Narrow-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Roman-latin1
/NewCenturySchlbk-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Italic-latin1
/NewCenturySchlbk-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Bold-latin1
/NewCenturySchlbk-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-BoldItalic-latin1
/NewCenturySchlbk-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Roman-latin1
/Palatino-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Italic-latin1
/Palatino-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Bold-latin1
/Palatino-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-BoldItalic-latin1
/Palatino-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Symbol-latin1
/Symbol findfont
definefont pop
/ZapfChancery-MediumItalic-latin1
/ZapfChancery-MediumItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/ZapfDingbats-latin1
/ZapfDingbats findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
28.346000 -28.346000 scale
-1.600000 -7.655000 translate
%%EndProlog
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 1.700000 1.830000 m 2.900000 1.830000 l 3.300000 2.230000 l 3.300000 3.830000 l 1.700000 3.830000 l ef
0.000000 0.000000 0.000000 srgb
n 1.700000 1.830000 m 2.900000 1.830000 l 3.300000 2.230000 l 3.300000 3.830000 l 1.700000 3.830000 l cp s
0 slc
0 slj
[] 0 sd
n 2.900000 1.830000 m 2.900000 2.230000 l 3.300000 2.230000 l 3.300000 2.230000 l s
/Helvetica-latin1 ff 0.560000 scf sf
(.tex) 1.859130 4.551553 m
gs 1 -1 sc sh gr
/Helvetica-latin1 ff 0.560000 scf sf
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 4.505000 1.830000 m 5.705000 1.830000 l 6.105000 2.230000 l 6.105000 3.830000 l 4.505000 3.830000 l ef
0.000000 0.000000 0.000000 srgb
n 4.505000 1.830000 m 5.705000 1.830000 l 6.105000 2.230000 l 6.105000 3.830000 l 4.505000 3.830000 l cp s
0 slc
0 slj
[] 0 sd
n 5.705000 1.830000 m 5.705000 2.230000 l 6.105000 2.230000 l 6.105000 2.230000 l s
/Helvetica-latin1 ff 0.560000 scf sf
(.dvi) 4.753255 4.551553 m
gs 1 -1 sc sh gr
/Helvetica-latin1 ff 0.560000 scf sf
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 7.310000 1.830000 m 8.510000 1.830000 l 8.910000 2.230000 l 8.910000 3.830000 l 7.310000 3.830000 l ef
0.000000 0.000000 0.000000 srgb
n 7.310000 1.830000 m 8.510000 1.830000 l 8.910000 2.230000 l 8.910000 3.830000 l 7.310000 3.830000 l cp s
0 slc
0 slj
[] 0 sd
n 8.510000 1.830000 m 8.510000 2.230000 l 8.910000 2.230000 l 8.910000 2.230000 l s
/Helvetica-latin1 ff 0.560000 scf sf
(.ps) 7.433130 4.551553 m
gs 1 -1 sc sh gr
/Helvetica-latin1 ff 0.560000 scf sf
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 10.115000 1.830000 m 11.315000 1.830000 l 11.715000 2.230000 l 11.715000 3.830000 l 10.115000 3.830000 l ef
0.000000 0.000000 0.000000 srgb
n 10.115000 1.830000 m 11.315000 1.830000 l 11.715000 2.230000 l 11.715000 3.830000 l 10.115000 3.830000 l cp s
0 slc
0 slj
[] 0 sd
n 11.315000 1.830000 m 11.315000 2.230000 l 11.715000 2.230000 l 11.715000 2.230000 l s
/Helvetica-latin1 ff 0.560000 scf sf
(.pdf) 10.347505 4.551553 m
gs 1 -1 sc sh gr
/Helvetica-latin1 ff 0.560000 scf sf
0.100000 slw
[] 0 sd
0 slc
n 3.862500 5.108628 1.412513 1.412513 10.251801 180.248573 ellipse s
[] 0 sd
0 slj
0 slc
n 5.275485 5.214302 m 5.376352 5.413867 l 5.276136 5.364301 l 5.176354 5.414734 l ef
n 5.275485 5.214302 m 5.376352 5.413867 l 5.276136 5.364301 l 5.176354 5.414734 l cp s
0.100000 slw
[] 0 sd
0 slc
n 6.715007 5.108628 1.412513 1.412513 10.251801 180.248573 ellipse s
[] 0 sd
0 slj
0 slc
n 8.127992 5.214302 m 8.228858 5.413867 l 8.128642 5.364301 l 8.028860 5.414734 l ef
n 8.127992 5.214302 m 8.228858 5.413867 l 8.128642 5.364301 l 8.028860 5.414734 l cp s
0.100000 slw
[] 0 sd
0 slc
n 9.567513 5.108628 1.412513 1.412513 10.251801 180.248573 ellipse s
[] 0 sd
0 slj
0 slc
n 10.980498 5.214302 m 11.081365 5.413867 l 10.981149 5.364301 l 10.881367 5.414734 l ef
n 10.980498 5.214302 m 11.081365 5.413867 l 10.981149 5.364301 l 10.881367 5.414734 l cp s
(LaTeX) 2.800000 7.355000 m
gs 1 -1 sc sh gr
(dvips) 5.792500 7.355000 m
gs 1 -1 sc sh gr
(ps2pdf) 8.625000 7.355000 m
gs 1 -1 sc sh gr
showpage

492021
images/MaCapuche2.eps Normal file

File diff suppressed because it is too large Load Diff

38444
images/MaCapuche5.eps Normal file

File diff suppressed because it is too large Load Diff

5231
images/Magrit.eps Normal file

File diff suppressed because it is too large Load Diff

5234
images/Nobel.eps Normal file

File diff suppressed because it is too large Load Diff

10904
images/OSMexport.eps Normal file

File diff suppressed because it is too large Load Diff

61537
images/Pologne.eps Normal file

File diff suppressed because it is too large Load Diff

9034
images/QgisHistogramme.eps Normal file

File diff suppressed because it is too large Load Diff

1979
images/RKWardCantons.eps Normal file

File diff suppressed because it is too large Load Diff

1865
images/RKWardCantonsCoul.eps Normal file

File diff suppressed because it is too large Load Diff

7413
images/RKward.eps Normal file

File diff suppressed because it is too large Load Diff

3911
images/RStudio.eps Normal file

File diff suppressed because it is too large Load Diff

9870
images/Scapetoad.eps Normal file

File diff suppressed because it is too large Load Diff

22864
images/Sitn.eps Normal file

File diff suppressed because it is too large Load Diff

495
images/StructureSite.eps Normal file
View File

@ -0,0 +1,495 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: /home/vincent/Documents/Latex/Latex-OCI/images/StructureSite.dia
%%Creator: Dia v0.97+git
%%CreationDate: Wed Feb 6 10:37:07 2019
%%For: vincent
%%Orientation: Portrait
%%Magnification: 1.0000
%%BoundingBox: 0 0 338 275
%%BeginSetup
%%EndSetup
%%EndComments
%%BeginProlog
[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E
/F /G /H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W /X /Y
/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m
/n /o /p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
/cp {closepath} bind def
/c {curveto} bind def
/f {fill} bind def
/a {arc} bind def
/ef {eofill} bind def
/ex {exch} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth pop} bind def
/tr {translate} bind def
/ellipsedict 8 dict def
ellipsedict /mtrx matrix put
/ellipse
{ ellipsedict begin
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def /savematrix mtrx currentmatrix def
x y tr xrad yrad sc
0 0 1 startangle endangle arc
savematrix setmatrix
end
} def
/mergeprocs {
dup length
3 -1 roll
dup
length
dup
5 1 roll
3 -1 roll
add
array cvx
dup
3 -1 roll
0 exch
putinterval
dup
4 2 roll
putinterval
} bind def
/Times-Roman-latin1
/Times-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-Italic-latin1
/Times-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-Bold-latin1
/Times-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Times-BoldItalic-latin1
/Times-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-Gothic-latin1
/AvantGarde-Gothic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-BookOblique-latin1
/AvantGarde-BookOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-Demi-latin1
/AvantGarde-Demi findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/AvantGarde-DemiOblique-latin1
/AvantGarde-DemiOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-Light-latin1
/Bookman-Light findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-LightItalic-latin1
/Bookman-LightItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-Demi-latin1
/Bookman-Demi findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Bookman-DemiItalic-latin1
/Bookman-DemiItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-latin1
/Courier findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-Oblique-latin1
/Courier-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-Bold-latin1
/Courier-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Courier-BoldOblique-latin1
/Courier-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-latin1
/Helvetica findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Oblique-latin1
/Helvetica-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Bold-latin1
/Helvetica-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-BoldOblique-latin1
/Helvetica-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-latin1
/Helvetica-Narrow findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-Oblique-latin1
/Helvetica-Narrow-Oblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-Bold-latin1
/Helvetica-Narrow-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Helvetica-Narrow-BoldOblique-latin1
/Helvetica-Narrow-BoldOblique findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Roman-latin1
/NewCenturySchlbk-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Italic-latin1
/NewCenturySchlbk-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-Bold-latin1
/NewCenturySchlbk-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/NewCenturySchlbk-BoldItalic-latin1
/NewCenturySchlbk-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Roman-latin1
/Palatino-Roman findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Italic-latin1
/Palatino-Italic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-Bold-latin1
/Palatino-Bold findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Palatino-BoldItalic-latin1
/Palatino-BoldItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/Symbol-latin1
/Symbol findfont
definefont pop
/ZapfChancery-MediumItalic-latin1
/ZapfChancery-MediumItalic findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
/ZapfDingbats-latin1
/ZapfDingbats findfont
dup length dict begin
{1 index /FID ne {def} {pop pop} ifelse} forall
/Encoding isolatin1encoding def
currentdict end
definefont pop
28.346000 -28.346000 scale
-1.125732 -10.550000 translate
%%EndProlog
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.901961 0.901961 0.901961 srgb
n 2.706250 2.849999 m 2.706250 0.950000 2.706250 0.950000 4.162500 0.950000 c 5.618750 0.950000 5.618750 0.950000 7.075000 0.950000 c 8.531250 0.950000 8.531250 0.950000 8.531250 2.849999 c 8.531250 2.849999 12.900000 2.849999 12.900000 2.849999 c 12.900000 2.849999 12.900000 10.450000 12.900000 10.450000 c 12.900000 10.450000 2.706250 10.450000 2.706250 10.450000 c 2.706250 10.450000 2.706250 4.750001 2.706250 2.849999 c ef
0.000000 0.000000 0.000000 srgb
n 2.706250 2.849999 m 2.706250 0.950000 2.706250 0.950000 4.162500 0.950000 c 5.618750 0.950000 5.618750 0.950000 7.075000 0.950000 c 8.531250 0.950000 8.531250 0.950000 8.531250 2.849999 c 8.531250 2.849999 12.900000 2.849999 12.900000 2.849999 c 12.900000 2.849999 12.900000 10.450000 12.900000 10.450000 c 12.900000 10.450000 2.706250 10.450000 2.706250 10.450000 c 2.706250 10.450000 2.706250 4.750001 2.706250 2.849999 c s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 2.706250 2.849999 m 2.706250 0.950000 2.706250 0.950000 4.162500 0.950000 c 5.618750 0.950000 5.618750 0.950000 7.075000 0.950000 c 8.531250 0.950000 8.531250 0.950000 8.531250 2.849999 c 8.531250 2.849999 12.900000 2.849999 12.900000 2.849999 c 12.900000 2.849999 12.900000 10.450000 12.900000 10.450000 c 12.900000 10.450000 2.706250 10.450000 2.706250 10.450000 c 2.706250 10.450000 2.706250 4.750001 2.706250 2.849999 c s
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 2.706250 10.450000 m 1.250000 3.800001 l 11.443750 3.800001 l 12.900000 10.450000 l ef
0.000000 0.000000 0.000000 srgb
n 2.706250 10.450000 m 1.250000 3.800001 l 11.443750 3.800001 l 12.900000 10.450000 l cp s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 2.706250 10.450000 m 1.250000 3.800001 l 11.443750 3.800001 l 12.900000 10.450000 l cp s
/Helvetica-latin1 ff 0.560000 scf sf
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.901961 0.901961 0.901961 srgb
n 2.348929 4.660000 m 2.348929 4.250000 2.348929 4.250000 2.724286 4.250000 c 3.099643 4.250000 3.099643 4.250000 3.475000 4.250000 c 3.850357 4.250000 3.850357 4.250000 3.850357 4.660000 c 3.850357 4.660000 4.976429 4.660000 4.976429 4.660000 c 4.976429 4.660000 4.976429 6.300000 4.976429 6.300000 c 4.976429 6.300000 2.348929 6.300000 2.348929 6.300000 c 2.348929 6.300000 2.348929 5.070000 2.348929 4.660000 c ef
0.000000 0.000000 0.000000 srgb
n 2.348929 4.660000 m 2.348929 4.250000 2.348929 4.250000 2.724286 4.250000 c 3.099643 4.250000 3.099643 4.250000 3.475000 4.250000 c 3.850357 4.250000 3.850357 4.250000 3.850357 4.660000 c 3.850357 4.660000 4.976429 4.660000 4.976429 4.660000 c 4.976429 4.660000 4.976429 6.300000 4.976429 6.300000 c 4.976429 6.300000 2.348929 6.300000 2.348929 6.300000 c 2.348929 6.300000 2.348929 5.070000 2.348929 4.660000 c s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 2.348929 4.660000 m 2.348929 4.250000 2.348929 4.250000 2.724286 4.250000 c 3.099643 4.250000 3.099643 4.250000 3.475000 4.250000 c 3.850357 4.250000 3.850357 4.250000 3.850357 4.660000 c 3.850357 4.660000 4.976429 4.660000 4.976429 4.660000 c 4.976429 4.660000 4.976429 6.300000 4.976429 6.300000 c 4.976429 6.300000 2.348929 6.300000 2.348929 6.300000 c 2.348929 6.300000 2.348929 5.070000 2.348929 4.660000 c s
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 2.348929 6.300000 m 1.973571 4.865000 l 4.601071 4.865000 l 4.976429 6.300000 l ef
0.000000 0.000000 0.000000 srgb
n 2.348929 6.300000 m 1.973571 4.865000 l 4.601071 4.865000 l 4.976429 6.300000 l cp s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 2.348929 6.300000 m 1.973571 4.865000 l 4.601071 4.865000 l 4.976429 6.300000 l cp s
(images) dup sw 2 div 3.475000 ex sub 5.427500 m
gs 1 -1 sc sh gr
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.901961 0.901961 0.901961 srgb
n 6.400000 4.700000 m 6.400000 4.300000 6.400000 4.300000 6.650000 4.300000 c 6.900000 4.300000 6.900000 4.300000 7.150000 4.300000 c 7.400000 4.300000 7.400000 4.300000 7.400000 4.700000 c 7.400000 4.700000 8.150000 4.700000 8.150000 4.700000 c 8.150000 4.700000 8.150000 6.300000 8.150000 6.300000 c 8.150000 6.300000 6.400000 6.300000 6.400000 6.300000 c 6.400000 6.300000 6.400000 5.100000 6.400000 4.700000 c ef
0.000000 0.000000 0.000000 srgb
n 6.400000 4.700000 m 6.400000 4.300000 6.400000 4.300000 6.650000 4.300000 c 6.900000 4.300000 6.900000 4.300000 7.150000 4.300000 c 7.400000 4.300000 7.400000 4.300000 7.400000 4.700000 c 7.400000 4.700000 8.150000 4.700000 8.150000 4.700000 c 8.150000 4.700000 8.150000 6.300000 8.150000 6.300000 c 8.150000 6.300000 6.400000 6.300000 6.400000 6.300000 c 6.400000 6.300000 6.400000 5.100000 6.400000 4.700000 c s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 6.400000 4.700000 m 6.400000 4.300000 6.400000 4.300000 6.650000 4.300000 c 6.900000 4.300000 6.900000 4.300000 7.150000 4.300000 c 7.400000 4.300000 7.400000 4.300000 7.400000 4.700000 c 7.400000 4.700000 8.150000 4.700000 8.150000 4.700000 c 8.150000 4.700000 8.150000 6.300000 8.150000 6.300000 c 8.150000 6.300000 6.400000 6.300000 6.400000 6.300000 c 6.400000 6.300000 6.400000 5.100000 6.400000 4.700000 c s
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 6.400000 6.300000 m 6.150000 4.900000 l 7.900000 4.900000 l 8.150000 6.300000 l ef
0.000000 0.000000 0.000000 srgb
n 6.400000 6.300000 m 6.150000 4.900000 l 7.900000 4.900000 l 8.150000 6.300000 l cp s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 6.400000 6.300000 m 6.150000 4.900000 l 7.900000 4.900000 l 8.150000 6.300000 l cp s
(css) dup sw 2 div 7.150000 ex sub 5.450000 m
gs 1 -1 sc sh gr
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
0.901961 0.901961 0.901961 srgb
n 9.250000 4.800000 m 9.250000 4.400000 9.250000 4.400000 9.500000 4.400000 c 9.750000 4.400000 9.750000 4.400000 10.000000 4.400000 c 10.250000 4.400000 10.250000 4.400000 10.250000 4.800000 c 10.250000 4.800000 11.000000 4.800000 11.000000 4.800000 c 11.000000 4.800000 11.000000 6.400000 11.000000 6.400000 c 11.000000 6.400000 9.250000 6.400000 9.250000 6.400000 c 9.250000 6.400000 9.250000 5.200000 9.250000 4.800000 c ef
0.000000 0.000000 0.000000 srgb
n 9.250000 4.800000 m 9.250000 4.400000 9.250000 4.400000 9.500000 4.400000 c 9.750000 4.400000 9.750000 4.400000 10.000000 4.400000 c 10.250000 4.400000 10.250000 4.400000 10.250000 4.800000 c 10.250000 4.800000 11.000000 4.800000 11.000000 4.800000 c 11.000000 4.800000 11.000000 6.400000 11.000000 6.400000 c 11.000000 6.400000 9.250000 6.400000 9.250000 6.400000 c 9.250000 6.400000 9.250000 5.200000 9.250000 4.800000 c s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 9.250000 4.800000 m 9.250000 4.400000 9.250000 4.400000 9.500000 4.400000 c 9.750000 4.400000 9.750000 4.400000 10.000000 4.400000 c 10.250000 4.400000 10.250000 4.400000 10.250000 4.800000 c 10.250000 4.800000 11.000000 4.800000 11.000000 4.800000 c 11.000000 4.800000 11.000000 6.400000 11.000000 6.400000 c 11.000000 6.400000 9.250000 6.400000 9.250000 6.400000 c 9.250000 6.400000 9.250000 5.200000 9.250000 4.800000 c s
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 9.250000 6.400000 m 9.000000 5.000000 l 10.750000 5.000000 l 11.000000 6.400000 l ef
0.000000 0.000000 0.000000 srgb
n 9.250000 6.400000 m 9.000000 5.000000 l 10.750000 5.000000 l 11.000000 6.400000 l cp s
0.010000 slw
0 slc
0 slj
[] 0 sd
n 9.250000 6.400000 m 9.000000 5.000000 l 10.750000 5.000000 l 11.000000 6.400000 l cp s
(js) dup sw 2 div 10.000000 ex sub 5.550000 m
gs 1 -1 sc sh gr
0.100000 slw
[] 0 sd
0 slc
0 slj
0.100000 slw
0 slc
0 slj
[] 0 sd
1.000000 1.000000 1.000000 srgb
n 3.750000 7.050000 m 4.950000 7.050000 l 5.350000 7.450000 l 5.350000 9.050000 l 3.750000 9.050000 l ef
0.000000 0.000000 0.000000 srgb
n 3.750000 7.050000 m 4.950000 7.050000 l 5.350000 7.450000 l 5.350000 9.050000 l 3.750000 9.050000 l cp s
0 slc
0 slj
[] 0 sd
n 4.950000 7.050000 m 4.950000 7.450000 l 5.350000 7.450000 l 5.350000 7.450000 l s
(index.html) 3.209135 9.673462 m
gs 1 -1 sc sh gr
(monProjet) 4.159135 2.173462 m
gs 1 -1 sc sh gr
showpage

1741
images/SuisseContours.eps Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

30657
images/SwissTopoCHXFDS.eps Normal file

File diff suppressed because it is too large Load Diff

12526
images/TableRKward.eps Normal file

File diff suppressed because it is too large Load Diff

7140
images/Tables.eps Normal file

File diff suppressed because it is too large Load Diff

18342
images/TerreIndeBlender.eps Normal file

File diff suppressed because it is too large Load Diff

11713
images/Zelande.eps Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

74441
images/carteSol.eps Normal file

File diff suppressed because it is too large Load Diff

67801
images/geoidcard.eps Normal file

File diff suppressed because it is too large Load Diff

8523
images/inkscape.eps Normal file

File diff suppressed because it is too large Load Diff

11214
images/mines.eps Normal file

File diff suppressed because it is too large Load Diff

123901
images/modeleSol.eps Normal file

File diff suppressed because it is too large Load Diff

95699
images/peters.eps Normal file

File diff suppressed because it is too large Load Diff

54957
images/pib.eps Normal file

File diff suppressed because it is too large Load Diff

16713
images/sweetHome3D.eps Normal file

File diff suppressed because it is too large Load Diff

2667
images/tableattributs.eps Normal file

File diff suppressed because it is too large Load Diff

13865
images/terre1erTop.eps Normal file

File diff suppressed because it is too large Load Diff

17312
images/terreGlissements.eps Normal file

File diff suppressed because it is too large Load Diff

12367
images/terreGlissements2.eps Normal file

File diff suppressed because it is too large Load Diff